ActivityPub

The decentralized social network known as the Fediverse is a collection of “instances”, or servers, independently operated but all speaking a common protocol to allow users to follow and share across different instances.

As well as social microblogging and photo/video sharingsites, the Fediverse includes other types of instances; all sorts of social sites like event planning can have a Fediverse presence, and other sites like this blog can be Federated to share new content automatically.

Technology

The main protocol is called ActivityPub. This is the magic that lets users find & follow one another across instances.

The WebFinger protocol is used to find user profiles and some API end points, including the user’s in- and outbox, and their “external interaction” url, which allows users to follow accounts from other instances.

Instance information is provided in a few places; first is the Nodeinfo protocol, which gives a rundown of the instance’s capabilities, services, and protocols; there are also instance-info endpoints in some platform APIs, like Mastodon’s `/api/v1/instance` endpoint, which give more platform-specific properties for the instance.

There is a lot of overlap; for instance, Pleroma can support the full Mastodon API, for clients and S2S, as well as its own client and S2S protocol.

Discovery

Fediverse instances provide a number of well-known api endpoints to begin discovery: nodeinfo for service discovery, and WebFinger for user data.

Tools

  • Fedi Follow & Share – a standalone widget to make it easier for users to follow & share Federated sites, like this blog