How to Federate Mastodon With Kbin and Mbin: Protocol Notes
🔍 WiseChecker

How to Federate Mastodon With Kbin and Mbin: Protocol Notes

Mastodon and the link-aggregator platforms Kbin and Mbin both use the ActivityPub protocol to communicate. However, their different base purposes mean federation is not always seamless. A Mastodon user may find that replies to a Kbin thread do not appear, or that following a Kbin magazine from Mastodon produces unexpected behavior. This article explains the underlying protocol differences, provides step-by-step instructions for configuring federation between these platforms, and lists common pitfalls you should avoid.

Key Takeaways: ActivityPub Federation Between Mastodon and Kbin/Mbin

  • ActivityPub shared inbox and group actors: Kbin and Mbin use a group actor model that Mastodon treats differently than a standard user profile.
  • Instance-level domain blocks: Blocking an entire Kbin or Mbin instance on Mastodon prevents all federation, including replies and boosts.
  • Manual subscription to magazines: Following a Kbin magazine from Mastodon requires searching the magazine’s full ActivityPub handle rather than the web URL.

ADVERTISEMENT

Understanding the ActivityPub Model Differences

Mastodon is a microblogging platform where each user has a personal inbox and outbox. Kbin and Mbin are link-aggregator platforms that operate on a magazine or community model. Each magazine acts as a group actor with its own ActivityPub inbox. When a Mastodon user replies to a thread from a Kbin magazine, the reply is sent to the magazine’s inbox. The magazine then redistributes the reply to all subscribers. This is different from Mastodon’s direct messaging model, where a reply goes only to the original poster and the user’s followers.

The key technical difference is the shared inbox mechanism. Kbin and Mbin use a shared inbox to collect replies for all magazines on the instance. Mastodon does not natively support shared inbox for group actors, so replies may be delayed or lost if the Kbin instance does not properly forward them. Additionally, Kbin and Mbin allow anonymous posting to magazines, which Mastodon does not support. This means a Mastodon user cannot directly post to a Kbin magazine without first being followed by the magazine’s bot account or using the Kbin web interface.

Group Actor vs Person Actor

In ActivityPub, an actor can be a Person, Group, Service, or Organization. Mastodon treats all actors as Person by default. Kbin and Mbin magazines are Group actors. When Mastodon receives an activity from a Group actor, it may not display the content correctly because Mastodon does not have a native Group actor UI. For example, a magazine’s pinned post may not appear pinned on Mastodon, and the magazine’s description may not be visible in the Mastodon profile card.

Federation of Threads and Replies

When a Mastodon user follows a Kbin magazine, the magazine’s posts appear in the Mastodon home timeline. However, replies to those posts from Kbin users may not federate to Mastodon if the Kbin instance has not configured its outbound delivery correctly. The Kbin instance must have its ActivityPub delivery queue enabled and must not be rate-limited by the Mastodon instance. Similarly, Mastodon replies to a Kbin thread are sent to the magazine’s inbox, but the magazine may not display them if the reply is not addressed to the magazine actor directly. To ensure replies federate, the Mastodon user must mention the magazine’s handle in the reply, for example @magazine@kbin.example.

Steps to Establish Federation Between Mastodon and Kbin or Mbin

Before you begin, ensure both instances are running a recent version of their software. Older versions of Kbin (pre-1.0) had incomplete ActivityPub support. Mbin is a fork of Kbin and generally has the same federation behavior. You need to know the full ActivityPub handle of the magazine you want to follow, which is in the format @magazine-name@instance-domain.

  1. Find the magazine’s ActivityPub handle
    On the Kbin or Mbin instance, navigate to the magazine’s page. The URL will be something like https://kbin.example/m/magazine-name. The ActivityPub handle is @magazine-name@kbin.example. You can also find this handle in the magazine’s sidebar under “Federation.”
  2. Search for the magazine on Mastodon
    Open Mastodon’s search bar. Type the full ActivityPub handle including the @ symbols, for example @magazine-name@kbin.example. Press Enter. Mastodon will look up the magazine’s actor profile.
  3. Follow the magazine
    When the magazine’s profile appears in search results, click the Follow button. Mastodon sends a Follow activity to the magazine’s inbox. The magazine will accept the follow automatically if it is public. You will then see the magazine’s posts in your home timeline.
  4. Reply to a magazine post correctly
    When you reply to a post from the magazine, ensure the reply is addressed to the magazine handle. Mastodon automatically includes the original poster in the reply. If the original poster is a Kbin user, the reply will go to that user. To also send the reply to the magazine, add @magazine-name@kbin.example in the reply text. This ensures the reply federates to the magazine’s inbox and appears on the magazine thread.
  5. Verify federation from Mastodon to Kbin
    After replying, check the magazine’s thread on the Kbin instance. Look for your reply in the comments section. If it does not appear, the Kbin instance may have a federation delay. Wait up to 15 minutes for the activity to process. If it still does not appear, check the Mastodon server logs for any 4xx or 5xx errors when delivering to the Kbin instance.

ADVERTISEMENT

Common Issues When Federating Mastodon With Kbin and Mbin

Magazine Posts Not Appearing in Mastodon Timeline

If you follow a magazine but see no posts, the Kbin instance may have blocked your Mastodon instance, or your Mastodon instance may have a domain block on the Kbin instance. Check Mastodon’s domain blocks under Preferences > Moderation > Domain Blocks. If the Kbin instance is blocked, remove the block or set it to “silence” instead of “suspend.” On the Kbin side, ask the admin to check the instance’s federation settings and ensure your Mastodon instance is not blocked.

Replies From Kbin Users Not Federating to Mastodon

When a Kbin user replies to a magazine thread that originated from Mastodon, the reply may not federate to the Mastodon user. This happens if the Kbin instance does not deliver the reply to the Mastodon user’s inbox. The Kbin instance must have outbound ActivityPub delivery enabled and must have the correct inbox URL for the Mastodon user. Ensure the Kbin instance admin has enabled “ActivityPub delivery” in the instance settings. If the issue persists, ask the admin to check the instance logs for delivery errors.

Following a User From Kbin or Mbin to Mastodon

Following a Mastodon user from Kbin works similarly. On Kbin, search for the Mastodon user’s handle, for example @user@mastodon.example. Kbin will send a Follow activity to the Mastodon user. The Mastodon user will receive a follow request, which they must approve if their account is locked. Once approved, the Mastodon user’s posts will appear in the Kbin magazine feed if the magazine has been configured to include remote posts. By default, magazines only show local posts. The Kbin user must also subscribe to the magazine to see the Mastodon user’s posts in their personal feed.

Item Mastodon Kbin / Mbin
Primary actor type Person Group for magazines, Person for users
Reply delivery target Original poster’s inbox Magazine’s group inbox
Support for shared inbox Partial (not for group actors) Full
Anonymous posting Not supported Supported for magazines
Federation delay Typically instant Up to 15 minutes for group activities

Federating Mastodon with Kbin or Mbin is possible but requires understanding the group actor model. Always use the full ActivityPub handle when searching for magazines. Verify federation by checking both platforms after sending a reply. If you encounter issues, start by checking domain blocks on both sides. For advanced troubleshooting, examine the ActivityPub delivery logs on your Mastodon instance under Preferences > Administration > Sidekiq > Retries for failed deliveries.

ADVERTISEMENT