Go to file
Alex Gleason a74d945f13 Merge branch 'memorelay' into 'main'
Add in-memory Nostr data store

See merge request soapbox-pub/ditto!86
2023-12-28 20:02:57 +00:00
.vscode vscode: add launch.json 2023-12-27 17:36:52 -06:00
data Improve TrendsDB, add loopback script, almost ready to do something? 2023-07-25 15:30:58 -05:00
docs Add debugging.md 2023-10-05 21:01:13 -05:00
fixtures/events Add filter.test.ts 2023-12-28 13:26:41 -06:00
installation Serve static files from nginx 2023-10-11 21:33:13 -05:00
public Serve a frontend through Ditto 2023-09-11 00:19:56 -05:00
scripts relays: don't automatically add crawled relays 2023-12-10 17:56:51 -06:00
src reqmeister: accept `signal` 2023-12-28 13:41:04 -06:00
static/images Use default avatar and banner from repo, instead of linking out to image 2023-09-11 15:36:09 -05:00
.gitignore gitignore .cpuprofile files 2023-12-27 17:36:17 -06:00
.gitlab-ci.yml Upgrade Deno to v1.39.0 2023-12-17 11:02:44 -06:00
.tool-versions Upgrade Deno to v1.39.0 2023-12-17 11:02:44 -06:00
LICENSE Add AGPL license 2023-04-02 14:11:07 -05:00
README.md Revert "Add Ditto banner to readme" 2023-07-12 19:44:41 -05:00
deno.json deno.json: get rid of `debug` task, make `dev` do it 2023-12-27 22:05:20 -06:00
ditto-planet.png Revert "Add Ditto banner to readme" 2023-07-12 19:44:41 -05:00

README.md

Ditto

Ditto is a tiny but powerful social media server for the decentralized web. With Ditto you will be able to interact across protocols and networks, and build your own social media experience.

⚠️ This software is a work in progress.

Supported protocols

  • Nostr
  • ActivityPub

Features

  • Follow users across networks
  • Post to multiple networks at once
  • Log in with any Mastodon app
  • Like and comment on posts
  • Share posts
  • Reposts
  • Notifications
  • Profiles
  • Search
  • Moderation
  • Customizable
  • Open source
  • Self-hosted
  • Decentralized
  • No ads
  • No tracking
  • No censorship

Federation

Ditto is primarily a Nostr client, using a Nostr relay as its database. ActivityPub objects are translated into Nostr events in realtime and cached by the Ditto server. When you submit a post, it sends it to your Nostr relay and then fans it out to the ActivityPub network.

The main way to use Ditto is with a Mastodon app. Or you can connect directly to the Nostr relay with a Nostr client.

Installation

TODO

Development

  1. Install Deno.
  2. Clone this repo.
  3. 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/.