I'm creating this topic for discussions about Fediverse relays: sharing technical notes, discussing implementations, documentation collaboration, and so on. The goal is to create an FEP to document the relay-related status quo to help other developers who need relay support (building a server that uses a relay, building a relay, etc.).
AFAIK, there are two relay protocols for the Fediverse, the Mastodon relay protocol and the LitePub/Pleroma protocol. I don't know how much interop there is between them or if relays must do some normalization based on the type of relay client. I'm still investigating that topic.
I've been studying the Activity Relay (Go) implementation and @trwnh has been looking into pub-relay (Crystal). Are there other common relay implementations we should review? The relay protocols and behaviors will probably vary a bit depending on the implementation so it would be nice to have decent coverage of the variants.
I've started creating a small relay implementation in Python for educational and testing purposes.
/cc @bumblefudge
Read more →