FedBOX
FedBOX is a generic ActivityPub service targeting small communities.
The official repository is under the go-ap organization on Github: here. There is also a mirror on SourceHut.
It implements both the Client to Server and Server to Server APIs of the ActivityPub specification.
Its main purpose is to serve as a reference implementation for an ActivityPub server on top of the GoActivityPub library.
Due to this reason, it is restricted to a more limited set of features than what a user might expect.
In order for it to be useful on the wider fediverse it requires at least an OAuth2 server, and perhaps a WellKnown server to help with user discovery using web finger.
Installation
We do not currently provide pre-compiled binaries for FedBOX, but we do have docker compatible images.
For steps for compiling and setting up the application from source see the installation instructions.
The docker images can be found on the GoActivityPub quay.io page.
Implementation details
Authorize for C2S using OAuth2
Like we already mentioned, FedBOX is strictly an ActivityPub server, so despite the fact that it advertises OAuth2 authorization endpoints for its actors, it does not provide them.
In order to make use of that functionality and be able to go through an authorization flow using a client, you need to run alongside it the OAuth2 server.
Client to Server (#C2S)
FedBOX supports the social API specification profile, and all of the vanilla ActivityPub vocabulary interactions.
A more in depth description of what is supported you can find in this document.
Server to Server (#S2S)
Currently FedBOX supports strictly a recipients based federation protocol where Activities received from clients get propagated strictly to their recipients. It also supports the forwarding from inbox mechanism.
This means that activities that are addressed to the Activity Streams Public namespace will not be disseminated to other instances as one might expect.