Fedify is a Deno/TypeScript library for building federated server apps powered by ActivityPub and other standards, which is so-called fediverse. You may already know some of the networks in the fediverse, such as Mastodon, Lemmy, Pixelfed, PeerTube, and so on. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.
Fedify is still in the early stage of development, and it's not ready for production use yet. However, you can try it out and give feedback to help improve it. The rough roadmap is to implement the following features out of the box:
- Type-safe objects for Activity Vocabulary (including some vendor-specific extensions)
- WebFinger client and server
- HTTP Signatures
- Middlewares for handling webhooks
- ActivityPub client
- NodeInfo protocol
- Special touch for interoperability with Mastodon and few other popular fediverse software
If you want to know more about the project, please take a look at the following resources:
As a prerequisite, you need to have Deno 1.41.0 or later installed on your system. Then you can install Fedify via the following command:
deno add @fedify/fedifyimport { Federation } from "@fedify/fedify";Or you can directly import it in your code using jsr: specifier:
import { Federation } from "jsr:@fedify/fedify";