Page MenuHomeMusing Studio

ActivityPub group announcer
Open, NormalPublic

Description

Overview

Create a standalone server application that enables anyone to combine a collection of ActivityPub actors into a single actor, which can then be followed.

Background

Read Write.as and the WriteFreely Reader showcase writers on an instance who have chosen to make their blog public. As a fediverse user, I might want to follow all of these blogs, but doing so right now is tedious -- I have to scroll through the feed, manually copying each blog URL and searching for it from Mastodon.

It would be nice to be able to follow e.g. @read@write.as, which would send out all blogs on read.write.as via the fediverse as native posts and actors. Then I'd receive everyone's posts automatically, including new authors, without any extra work. And since the account is sending out ActivityPub data, I can then easily follow individual blogs, see their past posts from within Mastodon, etc.

General use

While this is important for Write.as / WriteFreely, this can also be built in a general enough way that anyone could use it to create publicly followable lists of ActivityPub actors. You might imagine a curated list of accounts recommended to new fediverse users, or a way to bring a project's / company's / group's accounts all together in one place, e.g. ours:

  • @write_as@writing.exchange (toots)
  • @writeas@video.writeas.org (videos)
  • @blog@write.as (blog posts)

Implementation

Here's a discussion about how the federation side might work:

this service would have a group actor A, which would accept an Add activity containing an actor B. Then that causes actor A to Follow actor B. And then when actor B posts to actor A's inbox, actor A would Announce it.

go-fed

We should use the latest go-fed library, whether the activity pkg or apcore. Building from scratch here will help us figure out what needs to be done when we're ready to upgrade WriteFreely to the latest version of the library.

Reusability

This should be designed to work as both a library we can drop into WriteFreely and a standalone application.

We can likely make some shortcuts available in the library. For example, we shouldn't need to support the Add activity, because we can just hook up the actors collection to our internal list of public-facing blogs. Add activity is mostly for enabling this application to work anywhere.

Name

We should create a new repo for this. Some names off the top of my head:

  • activitypub-repeater
  • activitypub-announcer
  • activitypub-collector