Source to relay the streaming API of Mastodon instances
Go to file
Astro 2e39f284ad Cargo.lock: update 2023-11-26 20:17:28 +01:00
src actor: implement LanguageRelay 2023-11-26 20:17:28 +01:00
static static: repair HTML 2023-10-27 01:53:45 +02:00
.gitignore README: init 2023-01-11 19:41:48 +01:00
Cargo.lock Cargo.lock: update 2023-11-26 20:17:28 +01:00
Cargo.toml endpoint: pool and cache remote_actor() fetch 2023-10-28 00:48:40 +02:00
LICENSE LICENSE: add 2023-01-11 19:39:39 +01:00 README: init 2023-01-11 19:41:48 +01:00
config.yaml add RedisConfig.password_file 2023-10-12 22:09:43 +02:00
flake.lock flake.lock: Update 2023-11-26 02:23:48 +01:00
flake.nix flake.nix: fix meta.description 2023-05-14 23:33:22 +02:00
nixos-module.nix nixos-module: mangle case in redis settings 2023-10-12 22:51:54 +02:00


A follow-only ActivityPub relay that connects to Mastodon's Streaming API.

You don't need to run this yourself, just use the instance at



NixOS/Flakes users are in luck: not only does this build, it also comes with a NixOS module!

Anyone else installs a Rust toolchain to build with:

cargo build --release

Generate signing keypair

ActivityPub messages are signed using RSA keys. Generate a keypair first:

openssl genrsa -out private-key.pem 4096
openssl rsa -in private-key.pem -pubout -out public-key.pem

Let your config.yaml point there.


Create a PostgreSQL database and user, set them in your config.yaml.

The program will create its schema on start.


Should everyone connect to the streaming API of the big popular Mastodon instances?

Once these connections become a problem, they may become disallowed, resulting in problems for everyone. That's why serves the firehose feed through the streaming API, too.

You can let this service use as listed in the default config.yaml.