GoActivityPub Documentation Wiki

logo

FedBOX

FedBOX is a generic ActivityPub service targeting small communities.

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 authorization server compatible with it.

Additionally a WebFinger server might also be added in order to offer user discovery in a way that’s compatible with most of the Fediverse.

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

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 have running alongside it the OAuth2 authorization server mentioned above.

Client to Server (#C2S)

I described the client to server capabilities of FedBOX in this document.

Server to Server (#S2S)

Currently FedBOX supports federation only with actors specifically mentioned in an Activity’s recipients list.

This means that activities that are addressed to the Activity Streams Public namespace will not be disseminated to other instances as one might expect.