3 KiB
Federation
Supported federation protocols and standards
- ActivityPub (Server-to-Server)
- WebFinger
- Http Signatures
- NodeInfo
Supported FEPs
- FEP-67ff: FEDERATION
- FEP-2c59: Discovery of a Webfinger address from an ActivityPub actor
- FEP-dc88: Formatting Mathematics
- FEP-f1d5: NodeInfo in Fediverse Software
- FEP-fffd: Proxy Objects
- FEP-c16b: Formatting MFM functions
ActivityPub
Akkoma mostly follows the server-to-server parts of the ActivityPub standard, but implements quirks for Mastodon compatibility as well as Mastodon-specific and custom extensions.
See our documentation and Mastodon’s federation information linked further below for details on these quirks and extensions.
Akkoma does not perform JSON-LD processing.
Required extensions
HTTP Signatures
All AP S2S POST requests to Akkoma instances MUST be signed. Depending on instance configuration the same may be true for GET requests.
FEP-c16b: Formatting MFM functions
We set the optional extension term htmlMfm: true when using content type "text/x.misskeymarkdown".
Incoming messages containing htmlMfm: true will not have their content re-parsed.
WebFinger
Akkoma requires WebFinger implmentations to respond to queries about a given user both when
acct:user@domain or the canonical ActivityPub id of the actor is passed as the resource.
Akkoma strongly encourages ActivityPub implementations to include a FEP-2c59-compliant WebFinger backlink in their actor documents.
Without FEP-2c59 and if different domains are used for ActivityPub and the Webfinger subject,
Akkoma relies on the presence of an host-meta LRDD template on the ActivityPub domain
or a HTTP redirect from the ActivityPub domain’s /.well-known/webfinger to an equivalent endpoint
on the domain used in the subject to discover and validate the domain association.
Without FEP-2c59 Akkoma may not become aware of changes to the
preferred WebFinger subject domain for already discovered users.
Nodeinfo
Akkoma provides many additional entries in its nodeinfo response, see the documentation linked below for details.