From 125f201e285040ac51de84be71451e5f68243123 Mon Sep 17 00:00:00 2001 From: Astro Date: Wed, 11 Jan 2023 19:41:48 +0100 Subject: [PATCH] README: init --- .gitignore | 1 + README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 README.md diff --git a/.gitignore b/.gitignore index a411107..813ffcb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target +/result /private-key.pem /public-key.pem diff --git a/README.md b/README.md new file mode 100644 index 0000000..5ab8a6b --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# buzzrelay + +A follow-only ActivityPub relay that connects to Mastodon's [Streaming +API](https://docs.joinmastodon.org/methods/streaming/#public). + +You don't need to run this yourself, just use the instance at +[relay.fedi.buzz](https://relay.fedi.buzz/). + +## Setup + +### Build + +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: + +```bash +cargo build --release +``` + +### Generate signing keypair + +ActivityPub messages are signed using RSA keys. Generate a keypair +first: + +```bash +openssl genrsa -out private-key.pem 4096 +openssl rsa -in private-key.pem -pubout -out public-key.pem +``` + +Let your `config.yaml` point there. + +### Database + +Create a PostgreSQL database and user, set them in your `config.yaml`. + +The program will create its schema on start. + +## Ethics + +*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 **fedi.buzz** serves +the firehose feed through the streaming API, too. + +You can let this service use **fedi.buzz** as listed in the default +`config.yaml`.