Relay Pushes
GoToSocial allows you to create relay push connections, in order to forward your posts to relays which will then broadcast them to all instances that are connected (subscribed) to the relay. By opting in to sending your posts to one or more relays, you make it more likely that your posts will be seen by ActivityPub users who don't follow you directly and might not have encountered you otherwise.
What is a relay?
An ActivityPub relay is a software that exposes one or more ActivityPub-compatible actors, which accept posts in one or more inboxes, and then forward (ie., "Announce") those posts to actors who are subscribed to (ie., "Follow") the relay actor(s).
What happens when you create a relay push connection?
When you create a relay push connection (see below), the service actor for your instance will send a follow request to the relay actor to indicate that you wish to take part in the relay. When the follow request is accepted, either automatically, or pending a manual action by the administrator of the relay, your instance's service actor will begin to send your posts to the inbox of the relay. The relay actor will then distribute your posts by forwarding them to relay subscribers.
Relay connections are not always private
When you create a relay connection, the home page for the relay may show that your instance subscribes to that relay. Before creating a relay connection, think carefully if you want your instance to have that kind of exposure on a public page.
Create a relay push connection
You can configure pushing your posts to a relay by using the user settings panel to input a relay actor URI, and then select flags that you would like to apply to the relay connection.
Relay connection must be approved by relay owner
After a relay push connection is created, you must wait for approval from the relay owner before the connection will become active. This approval may be instantaneous + automatic, or may never happen at all! Some relay admins require that you message or email them before creating a connection, so make sure you take account of this.
Relay actor URI
A relay actor URI usually looks something like https://relay.example.org/actor, but for the precise URI you should check the documentation or homepage of the relay you would like to connect to.
Flags
The flag checkboxes allow you to customize which of your posts should be pushed to a relay.
- Send public visibility posts:
- By checking this flag, you instruct GoToSocial to send your Public posts to the relay. If the box is not checked, then posts you create with Public visibility will never be pushed to the relay.
- Send unlisted visibility posts:
- By checking this flag, you instruct GoToSocial to send your Unlisted (aka Unlocked, aka Quiet Public) posts to the relay. If the box is not checked, then posts with Unlisted visibility will never be pushed to the relay.
- Never send posts marked as sensitive:
- With this flag checked, GoToSocial will never push a post of yours to the relay connection if that post is marked "sensitive" by a content warning or inclusion of sensitive media attachments.
- Never send posts with media:
- With this flag checked, GoToSocial will never push a post of yours to the relay connection if that post include media attachments.
- Never send replies/comments:
- With this flag checked, GoToSocial will never send your replies to other accounts' posts to the relay, it will only send top-level posts and self-replies within a thread.
- Match posts by default:
- With this flag checked, you tell GoToSocial that all of your posts should be matched by default. In other words, all of your posts (of appropriate visibilities) that are not ignored because of other flags will be sent to the relay, unless their content is matched by an exclude matcher. With the flag unchecked, posts of yours will only be pushed to the relay if their content is matched by one or more matchers.
Relay matchers
Using relay matchers, you can either include or exclude posts from relaying by matching keywords (whole words or partial) in the post.
To create a relay matcher, open the detailed view of a relay connection. Below the relay update form, you will see a "Matchers" section. Here, you can view existing matchers, create a new matcher, and/or delete an existing matcher.
The matcher keyword is the phrase to be matched. For example, "sloth". Matcher keywords are case insensitive, so "Sloth", "sloth", and "SLOTH" etc are all equivalent.
If you want to match the keyword as a whole word, tick the "Match whole word" checkbox when creating a matcher. With this checkbox ticked, the matcher "sloth" will match a post with content "I saw a cool sloth today", but will not match with the post "I saw some cool sloths today". By contrast, with the box unticked, any post containing a word with the fragment "sloth" in it will match. So "I saw some cool sloths today" will match.
Keyword matches are made against a post's content and its content warning (if present).
Matching hashtags
You can also match hashtags by prefacing a keyword with a hash symbol, so you could match all posts that use the hashtag "GoToSocial" by creating a whole-word matcher with keyword #GoToSocial.
To create an exclude matcher, tick the checkbox "Exclude posts matched by this matcher" when creating a new matcher. When a post matches an exclude matcher, it is never relayed, even if other matchers would include it, or the relay connection matches all posts by default.