Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an instance-wide actor representing the instance #10453

Closed
ClearlyClaire opened this issue Apr 2, 2019 · 3 comments
Closed

Add an instance-wide actor representing the instance #10453

ClearlyClaire opened this issue Apr 2, 2019 · 3 comments
Labels
activitypub Protocol-related changes, federation

Comments

@ClearlyClaire
Copy link
Contributor

Motivation

Several features would benefit from or require the existence of an ActivityPub actor representing a Mastodon instance. This actor could for instance be used to sign every fetch request (unless fetching on behalf of a specific user), or be used as a relay for “friendly instances” or allowing people to subscribe to whole instances (which are features Pleroma have), and maybe even use that for anonymous federated reports instead of the designated contact (or the first non-banned user if it isn't set).

Technical considerations

If we do introduce a new actor representing an instance, and especially if we do sign fetches with it, we probably want it to be resolvable by existing Mastodon instances. Therefore, it must have a preferredUsername that is accepted by Mastodon and allows looping back to the actor itself. Having a look at how the Mastodon codebase changed throughout history, it seems there is a pattern of usernames that have always been accepted for remote users but not for local ones: usernames containing a dot. Therefore, we could use instance.tld as a preferredUsername, thus having a acct:instance.tld@instance.tld acct URI for that actor.

On the other hand, we want to make it obvious to old and new instances alike that those actors are “special”. There are multiple way to do this:

  • Have an url and id use a different scheme than any other account, say https://instance.tld/instance-actor, with a special HTML representation
  • Have an Application type (supported since 2.4.0… so signing would still break things for instance between 2.3.0 and 2.4.0…), which would mark it as a bot and be different from our usual “This account is a bot” checkbox (which uses the Service type)
@ClearlyClaire ClearlyClaire added the activitypub Protocol-related changes, federation label Apr 2, 2019
ClearlyClaire added a commit to ClearlyClaire/mastodon that referenced this issue Apr 2, 2019
@trwnh
Copy link
Member

trwnh commented Apr 3, 2019

voicing support for Application actor type that has instance.tld@instance.tld as a webfinger lookup. or maybe even just instance.tld -- e.g. how bridgy-fed uses @instance.tld directly instead of requiring a username.

@ealgase
Copy link

ealgase commented Apr 4, 2019

Peertube implements this with a special account peertube@instance.tld

@marrus-sh
Copy link
Contributor

Is this closed by #11321 and friends?

@Gargron Gargron closed this as completed Oct 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
activitypub Protocol-related changes, federation
Projects
None yet
Development

No branches or pull requests

5 participants