delightful-activitypub-deve.../Watchlist-for-ActivityPub-developer-resources.md

7.2 KiB

Contents

Developer tools

Libraries

  • ✔️ ActivityPhp (site, Fedi account): A PHP implementation of ActivityPub protocol based upon the ActivityStreams 2.0 data format. MIT, PHP

  • ✔️ ActivityPub-PHP (Fedi account): A PHP implementation of the ActivityPub protocol (used in Pterotype plugin). MIT, PHP

  • ✔️ activityPub4j: W3C ActivityPub and ActivityStreams implementation in Java using Spring Boot. ?, Java (no license, see: issue)

  • ✔️ ActivityStreams: Full ActivityStreams 1.0 and 2.0 reference implementation in Java. Apache-2.0, Java

  • ✔️ CommonsPub (site): Building blocks for creating multifunctional federated networks with ActivityPub. AGPL-3.0, Elixir

  • ✔️ Express ActivityPub: A very simple reference implementation of an ActivityPub server using Express.js. MIT, Javascript

  • ✔️ astreams (Fedi account): A hand-crafted implementation of the Activity Streams 2.0 specification in Go, especially suitable for projects implementing ActivityPub. AGPL-3.0, Go

  • ✔️ Golang ActivityPub (Fedi account): Libraries for using ActivityPub in the Go language. MIT, Go

  • ✔️ go-fed activity (site, Fedi account): Full ActivityStreams & ActivityPub implementation in Golang. Extensions can be easily added by design-time code generation from JSON-LD schema's (also supports ForgeFed this way, by default). BSD-3-clause, Go

  • :✔️ go-fed apcore (site, Fedi account): A powerful single server ActivityPub framework for performant Fediverse applications. AGPL-3.0, Go

  • ✔️ pubgate: Asyncronous lightweight ActivityPub API / CMS that implements both client-to-server and server-to-server APIs. Compatible with Mastodon, Pixelfed, Pleroma and microblog.pub BSD-3-clause, Python

  • ✔️ Pubstrate: ActivityStreams and ActivityPub library implementation for GNU Guile. Includes a full ActivityStreams library and most of an ActivityPub implementation. GPL-3.0, Guile

  • ✔️ Spritely (Fedi account): Research space for a next-gen distributed social network written in Racket and consisting of multiple projects. Research conducted by AP specification writer Christopher Lemmer Webber. Apache-2.0, Racket

Plugins

Bridges

  • ✔️ BridgyFed (site): Bridges the IndieWeb to federated social networks: ActivityPub, OStatus, etc. Public Domain, Python

  • ✔️ feed2toot: Parses RSS feeds, identifies new posts and posts them on the Mastodon social network (using the Mastodon API). MIT, Python

  • ✔️ RSS-to-ActivityPub Converter: Convert any RSS feed to an ActivityPub actor that can be followed by users on ActivityPub-compliant social networks like Mastodon. MIT, Javascript

Utilities

  • tags-pub: Provides hashtag objects on the ActivityPub network. Apache-2.0, Javascript

Testing

  • ✔️ activitypub-mock: A mock ActivityPub server to use in testing code Apache-2.0, Javascript

Reference material

Protocol specifications

  • ✔️ ForgeFed, formerly GitPub (site, Fedi account): A set of extensions to ActivityPub for federation between code forges (i.e. git hosting sites like GitLab, Gogs, Gitea, etc. Reference implementation is Vervis). CC0-1.0

  • ✔️ LitePub (site, Fedi account): A set of extensions to AP, being developed by devs from Pleroma and Mastodon (status: for the most part litepub group folded back into SocialCG, see: issue)

  • ✔️ NodeInfo2: An effort to create a standardized way of exposing metadata about a server. Helps expose ownership and organization details, usage statistics and protocol capabilities. CC0-1.0

API documentation

Tutorials

Getting started

ActivityPub server-to-server (S2S)

ActivityPub client-to-server (C2S)

WebFinger

Security

NodeInfo

Research & Development

Datashards

Object capabilities

Federated authentication

Content addressing

Peer-to-peer networking