mastodon-blocklists/config/tier2-threshold.conf.toml

88 lines
4.0 KiB
TOML

## Tier 2 threshold file
# List of instances to read blocklists from.
# If the instance makes its blocklist public, no authorization token is needed.
# Otherwise, `token` is a Bearer token authorised to read domain_blocks.
# If `admin` = True, use the more detailed admin API, which requires a token with a
# higher level of authorization.
# If `import_fields` are provided, only import these fields from the instance.
# Overrides the global `import_fields` setting.
blocklist_instance_sources = []
# List of URLs to read csv blocklists from
# Format tells the parser which format to use when parsing the blocklist
# max_severity tells the parser to override any severities that are higher than this value
# import_fields tells the parser to only import that set of fields from a specific source
blocklist_url_sources = [
{ url = 'file:///opt/fediblockhole/blocklists/union.place.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/sunny.garden.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/mastodon.art.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/artisan.chat.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/toot.wales.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/rage.love.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/pleroma.envs.net.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/solarpunk.moe.csv', format = 'csv' },
]
# List of instances to write blocklist to
blocklist_instance_destinations = [
# { domain = 'eigenmagic.net', token = '<read_write_token>', max_followed_severity = 'silence'},
]
allowlist_url_sources = [
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.csv', format = 'csv' },
]
## Store a local copy of the remote blocklists after we fetch them
save_intermediate = false
## Directory to store the local blocklist copies
savedir = '/opt/fediblockhole/blocklists/'
## File to save the fully merged blocklist into
blocklist_savefile = '/opt/fediblockhole/blocklists/_working_tier2.csv'
## Don't push blocklist to instances, even if they're defined above
no_push_instance = true
## Don't fetch blocklists from URLs, even if they're defined above
# no_fetch_url = false
## Don't fetch blocklists from instances, even if they're defined above
# no_fetch_instance = false
## Set the mergeplan to use when dealing with overlaps between blocklists
# The default 'max' mergeplan will use the harshest severity block found for a domain.
# The 'min' mergeplan will use the lightest severity block found for a domain.
mergeplan = 'min'
## Optional threshold-based merging.
# Only merge in domain blocks if the domain is mentioned in
# at least `threshold` blocklists.
# `merge_thresold` is an integer, with a default value of 0.
# The `merge_threshold_type` can be `count` or `pct`.
# If `count` type is selected, the threshold is reached when the domain
# is mentioned in at least `merge_threshold` blocklists. The default value
# of 0 means that every block in every list will be merged in.
# If `pct` type is selected, `merge_threshold` is interpreted as a percentage,
# i.e. if `merge_threshold` = 20, blocks will only be merged in if the domain
# is present in at least 20% of blocklists.
# Percentage calculated as number_of_mentions / total_number_of_blocklists.
# The percentage method is more flexibile, but also more complicated, so take care
# when using it.
#
merge_threshold_type = 'pct'
merge_threshold = 33
## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional
##
#import_fields = ['reject_media', 'reject_reports', 'obfuscate']
import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional
##
export_fields = ['reject_media', 'reject_reports', 'public_comment', 'obfuscate']