92 lines
4.0 KiB
TOML
92 lines
4.0 KiB
TOML
# 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 = [
|
|
# { domain = 'public.blocklist'}, # an instance with a public list of domain_blocks
|
|
# { domain = 'jorts.horse', token = '<a_different_token>' }, # user accessible block list
|
|
# { domain = 'eigenmagic.net', token = '<a_token_with_read_auth>', admin = true }, # admin access required
|
|
]
|
|
|
|
# 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:///path/to/fediblockhole/samples/demo-blocklist-01.csv', format = 'csv' },
|
|
{ url = 'https://raw.githubusercontent.com/eigenmagic/fediblockhole/main/samples/demo-blocklist-01.csv', format = 'csv' },
|
|
|
|
]
|
|
|
|
## These global allowlists override blocks from blocklists
|
|
# These are the same format and structure as blocklists, but they take precedence
|
|
allowlist_url_sources = [
|
|
{ url = 'https://raw.githubusercontent.com/eigenmagic/fediblockhole/main/samples/demo-allowlist-01.csv', format = 'csv' },
|
|
{ url = 'https://raw.githubusercontent.com/eigenmagic/fediblockhole/main/samples/demo-allowlist-02.csv', format = 'csv' },
|
|
]
|
|
|
|
# List of instances to write blocklist to
|
|
blocklist_instance_destinations = [
|
|
# { domain = 'eigenmagic.net', token = '<read_write_token>', max_followed_severity = 'silence'},
|
|
]
|
|
|
|
## Store a local copy of the remote blocklists after we fetch them
|
|
#save_intermediate = true
|
|
|
|
## Directory to store the local blocklist copies
|
|
# savedir = '/tmp'
|
|
|
|
## File to save the fully merged blocklist into
|
|
# blocklist_savefile = '/tmp/merged_blocklist.csv'
|
|
|
|
## File to save the audit log of counts across sources
|
|
# blocklist_auditfile = '/tmp/domain_counts_list.csv'
|
|
|
|
## Don't push blocklist to instances, even if they're defined above
|
|
# no_push_instance = false
|
|
|
|
## 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 = 'max'
|
|
|
|
## 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 = 'count'
|
|
# merge_threshold = 0
|
|
|
|
## set an override private comment
|
|
# override_private_comment = 'Updated by Fediblockhole'
|
|
|
|
## Set which fields we import
|
|
## 'domain' and 'severity' are always imported, these are additional
|
|
##
|
|
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 = ['public_comment']
|