Project

bx-activitypub

ActivityPub federation for BoxLang apps. People on Mastodon and the rest of the fediverse can follow your app's accounts and receive your posts, edits and deletions — and, if you want, reply back. Your app keeps its data; the module handles the protocol: WebFinger, actor documents, HTTP Signatures, the inbox, a delivery queue that survives restarts, and NodeInfo.

One contract

Implement IHostApp — four methods that describe your accounts and posts — and the module does the rest. It never reads or writes your tables.

Sync, not bookkeeping

Call syncPost() as often as you like. It compares the post with what was last sent and sends a Create, Update or Delete only when something changed.

Replies, likes & boosts

Accept public replies from the fediverse into your own comments, reply back as the account, and count likes and boosts on every post.

Signed and durable

Every inbound activity is signature-verified; every outbound one is signed and queued in the database, with retries, per-inbox ordering and parallel delivery.

Running on this siteThis blog federates with bx-activitypub as @[email protected]. Search for it from any Mastodon account to follow new posts.
bashinstall-bx-module bx-activitypub,boxlang-express,bx-mysql --local
mysql mydb < boxlang_modules/bx-activitypub/sql/schema.sql

Requirements and a complete minimal example →