Rostra is a p2p (or rather f2f) social network.
In Rostra users "follow" (subscribe) to other identities like in many conventional social network systems. Followers track, download and help share data of users they follow.
Rostra is a mostly-f2f ("friend to friend"), meaning there is no "global feed". Users can discover new identities and content only through existing connections.
Rostra comes with support for "personas" (sub-identities), to allow publishing/following to/from a subset of person's identity. E.g. you might be interested in someone's technical work, but not their political opinions. By supporting sub-identities, users can remain wholesome and post without risking diluting their most popular aspects and/or alienating their followers.
Rostra is extensible, and can be used for applications other than Twitter-like-app, as long as it fits its general social-graph-based data model.
A public instance is available at https://rostra.me/.
Anyone can host their own public or private instance, or run Rostra locally.
You can clone the git repository locally and run:
cargo run --bin rostra --release -- web-ui
to start the web ui.
You can run Rostra using Nix with:
nix run github:dpc/rostra
The CI builds binaries:
- portable Linux x86_64 binary
- DEB package
- RPM package
Pick the last build and at the bottom of the page look for "Artifacts".
In the future, the official releases will come with prebuilt binaries as well.
By default Rostra clients use a relay-only mode, which prevents your IP from being directly exposed to other peers.
Use --public command line argument when exposing IP is not an issue
(it rarely actually is) to enable making direct p2p connections with other users.
You can host Rostra on your server, and use it remotely over the web, the same way https://rostra.me is working.
For best privacy/anonymity it is possible to run Rostra over Tor using
oniux
You can run:
nix run github:/dpc/rostra#rostra-web-ui-tor
to use a script to do so. See flake.nix to investigate how it works.
- Architecture overview
- Design decisions
- FAQ
- Comparison with other social protocols
HACKING.md- Github Discussions
Rostra code is licensed under any of your choosing:
- MPL-2.0
- Apache-2.0
- MIT
The code vendors source code for 3rd party projects:
- alpine - MIT
- alpine-ajax - MIT
- emoji-picker-element - Apache 2.0
- text-field-edit - MIT
- mathjax - Apache 2.0
