Ditto is a tiny but powerful social media server for the decentralized web. https://soapbox.pub/ditto/
Find a file
2025-04-01 19:49:31 -05:00
.hooks Add lint-staged 2024-05-07 13:45:42 -05:00
.vscode Add .goosehints file 2025-03-28 16:08:28 -05:00
data Improve TrendsDB, add loopback script, almost ready to do something? 2023-07-25 15:30:58 -05:00
fixtures Add PleromaConfigDB test 2024-11-14 17:49:30 -06:00
grafana deno fmt everything 2024-11-14 17:19:12 -06:00
installation Add SyslogIdentifier=ditto to systemd unit 2025-01-27 11:27:57 -06:00
packages Insert NIP-89 "client" tags when users post statuses 2025-04-01 19:49:31 -05:00
public Serve a frontend through Ditto 2023-09-11 00:19:56 -05:00
scripts Fetch related events by ID through the RelayStore 2025-03-04 22:14:56 -06:00
.dockerignore Add a basic Dockerfile 2024-05-15 18:38:51 -05:00
.gitignore Pass --env-file into deno tasks, use a separate .env.test for tests 2024-10-18 13:20:30 -05:00
.gitlab-ci.yml ci: try moving the timeout to the actual test job 2025-03-05 15:05:26 -06:00
.goosehints Publish nip89 application handler on startup 2025-04-01 18:55:36 -05:00
.lintstagedrc Add lint-staged 2024-05-07 13:45:42 -05:00
.tool-versions Upgrade Deno to v2.2.2 2025-02-27 19:19:33 -06:00
CHANGELOG.md Bump version to v1.1.0 2024-07-15 08:11:25 -05:00
deno.json Test that DittoRelayStore generates nip05 request set event 2025-03-03 15:24:26 -06:00
deno.lock Upgrade gleasonator-policy in deno.lock 2025-03-08 21:03:58 -06:00
ditto-planet.png Revert "Add Ditto banner to readme" 2023-07-12 19:44:41 -05:00
Dockerfile Upgrade Deno to v2.2.2 2025-02-27 19:19:33 -06:00
LICENSE Add AGPL license 2023-04-02 14:11:07 -05:00
README.md README: remove WIP comment 2024-06-14 08:34:54 -05:00

Ditto

Ditto is a Nostr server for building resilient communities online. With Ditto, you can create your own social network that is decentralized, customizable, and free from ads and tracking.

For more info see: https://docs.soapbox.pub/ditto/

Features

  • Built-in Nostr relay
  • Log in with any Mastodon app
  • Like and comment on posts
  • Share posts
  • Reposts
  • Notifications
  • Profiles
  • Search
  • Moderation
  • Zaps
  • Customizable
  • Open source
  • Self-hosted
  • Decentralized
  • No ads
  • No tracking
  • No censorship

Development

  1. Install Deno.
  2. Clone this repo.
  3. Download Soapbox or another web-based Mastodon client of your choice.
  4. Put the frontend files inside the public directory.
  5. Create an .env file.
  6. Define DITTO_NSEC=<value> in your .env file. You can generate an nsec by running deno task nsec.
  7. Run deno task dev.

License

© Alex Gleason & other Ditto contributors

Ditto is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Ditto is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with Ditto. If not, see https://www.gnu.org/licenses/.