mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 15:52:25 -05:00 
			
		
		
		
	* Implement backfilling statuses thru scheduled_at * Forbid mentioning others in backfills * Update error messages & codes * Add new tests for backfilled statuses * Test that backfilling doesn't timeline or notify * Fix check for absence of notification * Test that backfills do not cause federation * Fix type of apimodel.StatusCreateRequest.ScheduledAt in tests * Add config file switch and min date check
		
			
				
	
	
		
			187 lines
		
	
	
	
		
			8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			187 lines
		
	
	
	
		
			8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Instance
 | |
| 
 | |
| ## Settings
 | |
| 
 | |
| ```yaml
 | |
| ###########################
 | |
| ##### INSTANCE CONFIG #####
 | |
| ###########################
 | |
| 
 | |
| # Config pertaining to instance federation settings, pages to hide/expose, etc.
 | |
| 
 | |
| # Array of string. BCP47 language tags to indicate preferred languages of users on this instance.
 | |
| #
 | |
| # If you provide these, you should provide these in order from most-preferred to least-preferred,
 | |
| # but note that leaving out a language from this array doesn't mean it can't be used on this instance,
 | |
| # it only means it won't be advertised as a preferred instance language.
 | |
| #
 | |
| # It is valid to provide no entries here; your instance will then have no particular preferred language.
 | |
| #
 | |
| # See here for commonly-used tags: https://en.wikipedia.org/wiki/IETF_language_tag#List_of_common_primary_language_subtags
 | |
| # See here for all current tags: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
 | |
| #
 | |
| # Example: ["nl", "en-gb", "fr"]
 | |
| # Default: []
 | |
| instance-languages: []
 | |
| 
 | |
| # String. Federation mode to use for this instance.
 | |
| #
 | |
| # "blocklist" -- open federation by default. Only instances that are explicitly 
 | |
| #                blocked will be denied (unless they are also explicitly allowed).
 | |
| #
 | |
| # "allowlist" -- closed federation by default. Only instances that are explicitly
 | |
| #                allowed will be able to interact with this instance.
 | |
| #
 | |
| # For more details on blocklist and allowlist modes, check the documentation at:
 | |
| # https://docs.gotosocial.org/en/latest/admin/federation_modes
 | |
| #
 | |
| # Options: ["blocklist", "allowlist"]
 | |
| # Default: "blocklist"
 | |
| instance-federation-mode: "blocklist"
 | |
| 
 | |
| # Bool. Enable spam filtering heuristics for messages entering your instance
 | |
| # via the federation API. Regardless of what you set here, basic checks
 | |
| # for message relevancy will still be performed, but you can try enabling
 | |
| # this setting if you are being spammed with unwanted messages from other
 | |
| # instances, and want to more strictly filter out spam messages.
 | |
| #
 | |
| # THIS IS CURRENTLY AN EXPERIMENTAL SETTING, AND MAY FILTER OUT LEGITIMATE
 | |
| # MESSAGES, OR FAIL TO FILTER OUT SPAMMY MESSAGES. It is recommended to
 | |
| # only enable this setting when the fediverse is in the midst of a spam
 | |
| # wave, and you need to batten down the hatches to keep your instance usable.
 | |
| #
 | |
| # The decision of whether a message counts as spam or not is made based on
 | |
| # the following heuristics, in order, where receiver = the account on your
 | |
| # instance that received a message in their inbox, and requester = the
 | |
| # account on a remote instance that sent the message.
 | |
| #
 | |
| # First, basic relevancy checks
 | |
| #
 | |
| #  1. Receiver follows requester. Return OK.
 | |
| #  2. Statusable doesn't mention receiver. Return NotRelevant.
 | |
| #
 | |
| # If instance-federation-spam-filter = false, then return OK now.
 | |
| # Otherwise check:
 | |
| #
 | |
| #  3. Receiver is locked and is followed by requester. Return OK.
 | |
| #  4. Five or more people are mentioned. Return Spam.
 | |
| #  5. Receiver follow (requests) a mentioned account. Return OK.
 | |
| #  6. Statusable has a media attachment. Return Spam.
 | |
| #  7. Statusable contains non-mention, non-hashtag links. Return Spam.
 | |
| #
 | |
| # Messages identified as spam will be dropped from your instance, and not
 | |
| # inserted into the database, or into home timelines or notifications.
 | |
| #
 | |
| # Options: [true, false]
 | |
| # Default: false
 | |
| instance-federation-spam-filter: false
 | |
| 
 | |
| # Bool. Allow unauthenticated users to make queries to /api/v1/instance/peers?filter=open in order
 | |
| # to see a list of instances that this instance 'peers' with. Even if set to 'false', then authenticated
 | |
| # users (members of the instance) will still be able to query the endpoint.
 | |
| # Options: [true, false]
 | |
| # Default: false
 | |
| instance-expose-peers: false
 | |
| 
 | |
| # Bool. Allow unauthenticated users to make queries to /api/v1/instance/peers?filter=suspended in order
 | |
| # to see a list of instances that this instance blocks/suspends. Even if set to 'false', then authenticated
 | |
| # users (members of the instance) will still be able to query the endpoint.
 | |
| #
 | |
| # WARNING: Setting this variable to 'true' may result in your instance being scraped by blocklist scrapers.
 | |
| # See: https://docs.gotosocial.org/en/latest/admin/domain_blocks/#block-announce-bots
 | |
| #
 | |
| # Options: [true, false]
 | |
| # Default: false
 | |
| instance-expose-suspended: false
 | |
| 
 | |
| # Bool. Allow unauthenticated users to view /about/suspended,
 | |
| # showing the HTML rendered list of instances that this instance blocks/suspends.
 | |
| # Options: [true, false]
 | |
| # Default: false
 | |
| instance-expose-suspended-web: false
 | |
| 
 | |
| # Bool. Allow unauthenticated users to make queries to /api/v1/timelines/public in order
 | |
| # to see a list of public posts on this server. Even if set to 'false', then authenticated
 | |
| # users (members of the instance) will still be able to query the endpoint.
 | |
| # Options: [true, false]
 | |
| # Default: false
 | |
| instance-expose-public-timeline: false
 | |
| 
 | |
| # Bool. This flag tweaks whether GoToSocial will deliver ActivityPub messages
 | |
| # to the shared inbox of a recipient, if one is available, instead of delivering
 | |
| # each message to each actor who should receive a message individually.
 | |
| #
 | |
| # Shared inbox delivery can significantly reduce network load when delivering
 | |
| # to multiple recipients share an inbox (eg., on large Mastodon instances).
 | |
| #
 | |
| # See: https://www.w3.org/TR/activitypub/#shared-inbox-delivery
 | |
| #
 | |
| # Options: [true, false]
 | |
| # Default: true
 | |
| instance-deliver-to-shared-inboxes: true
 | |
| 
 | |
| # Bool. This flag will inject a Mastodon version into the version field that
 | |
| # is included in /api/v1/instance. This version is often used by Mastodon clients
 | |
| # to do API feature detection. By injecting a Mastodon compatible version, it is
 | |
| # possible to cajole those clients to behave correctly with GoToSocial.
 | |
| #
 | |
| # Options: [true, false]
 | |
| # Default: false
 | |
| instance-inject-mastodon-version: false
 | |
| 
 | |
| # String. 24hr time of day formatted as hh:mm.
 | |
| # Examples: ["14:30", "00:00", "04:00"]
 | |
| # Default: "23:00" (11pm).
 | |
| instance-subscriptions-process-from: "23:00"
 | |
| 
 | |
| # Duration. Period between subscription updates.
 | |
| # Examples: ["24h", "72h", "12h"]
 | |
| # Default: "24h" (once per day).
 | |
| instance-subscriptions-process-every: "24h"
 | |
| 
 | |
| # String. Allows you to customize if and how stats are served to
 | |
| # crawlers at the /api/v1|v2/instance and /nodeinfo endpoints.
 | |
| #
 | |
| # Note that no matter what you set below, the /api/v1|v2/instance
 | |
| # endpoints will not be allowed by robots.txt, as these are client
 | |
| # API endpoints.
 | |
| #
 | |
| # "" / empty string (default mode): Serve accurate stats at instance
 | |
| # and nodeinfo endpoints, and DISALLOW crawlers from crawling
 | |
| # those endpoints in robots.txt. This mode is equivalent to politely
 | |
| # asking crawlers not to crawl, but there's no guarantee they will obey,
 | |
| # as unfortunately many crawlers don't even check robots.txt.
 | |
| #
 | |
| # "zero": Serve zeroed-out stats at instance and nodeinfo endpoints,
 | |
| # and DISALLOW crawlers from crawling those endpoints in robots.txt.
 | |
| # This mode prevents even ill-behaved crawlers from gathering stats
 | |
| # about your instance, as all gathered values will be 0. This is the
 | |
| # safest way of preserving your instance's privacy in terms of stats.
 | |
| #
 | |
| # "serve": Serve accurate stats at instance and nodeinfo endpoints,
 | |
| # and ALLOW crawlers to crawl those endpoints. This mode is useful
 | |
| # if you want to contribute to fediverse statistics collection projects.
 | |
| #
 | |
| # "baffle": Serve randomized, preposterous stats at instance and nodeinfo
 | |
| # endpoints, and DISALLOW crawlers from crawling those endpoints in robots.txt.
 | |
| # This mode can be useful to annoy crawlers that don't respect robots.txt.
 | |
| # Warning that this may draw the ire of crawler implementers who don't
 | |
| # respect robots.txt, and may therefore put a target on your instance.
 | |
| #
 | |
| # Options: ["", "zero", "serve", "baffle"]
 | |
| # Default: ""
 | |
| instance-stats-mode: ""
 | |
| 
 | |
| # Bool. This flag controls whether local accounts may backdate statuses
 | |
| # using past dates with the scheduled_at param to /api/v1/statuses.
 | |
| # This flag does not affect scheduling posts in the future
 | |
| # (which is currently not implemented anyway),
 | |
| # nor can it prevent remote accounts from backdating their own statuses.
 | |
| #
 | |
| # If true, all local accounts may backdate statuses.
 | |
| # If false, status backdating will be disabled and an error will be returned if it's used.
 | |
| #
 | |
| # Options: [true, false]
 | |
| # Default: true
 | |
| instance-allow-backdating-statuses: true
 | |
| ```
 |