mirror of
https://codeberg.org/oliphant/blocklists.git
synced 2025-04-14 08:24:05 +00:00
automated commit on 2025-01-13 04:29:47
This commit is contained in:
parent
d5496d3503
commit
ee750e0ed4
14 changed files with 26 additions and 859 deletions
|
@ -1,73 +0,0 @@
|
|||
## Fedi Council 100% 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/pleroma.envs.net.csv', format = 'csv' },
|
||||
{ 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/toot.wales.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/mastodon.art.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/rage.love.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/artisan.chat.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/solarpunk.moe.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
# assumes a git pull will proceed this check and bring down the most recent allowlist
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.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 = 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/100.percent.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'
|
||||
|
||||
merge_threshold_type = 'pct'
|
||||
merge_threshold = 100
|
||||
|
||||
## 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']
|
|
@ -1,76 +0,0 @@
|
|||
## Fedi Council Tier 0 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/pleroma.envs.net.csv', format = 'csv' },
|
||||
{ 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/toot.wales.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/mastodon.art.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/rage.love.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/artisan.chat.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/solarpunk.moe.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
# assumes a git pull will proceed this check and bring down the most recent allowlist
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.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 = 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/tier0-council.csv'
|
||||
|
||||
## save an auditfile
|
||||
blocklist_auditfile = '/opt/fediblockhole/blocklists/other/domain_audit_file.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'
|
||||
|
||||
merge_threshold_type = 'pct'
|
||||
merge_threshold = 80
|
||||
|
||||
## 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']
|
|
@ -1,63 +0,0 @@
|
|||
## All the T0 stuff m.s. doesn't block
|
||||
|
||||
# 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/_unified_tier0_blocklist.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' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/mastodon.social.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/other/missing-tier0-mastodon.social.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'
|
||||
|
||||
## 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']
|
|
@ -1,62 +0,0 @@
|
|||
## All the T0 stuff m.s. blocks that we don't at T0
|
||||
|
||||
# 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/mastodon.social.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/birdsite.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_unified_tier0_blocklist.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/other/council-missing-mastodon.social.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'
|
||||
|
||||
## 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']
|
|
@ -1,76 +0,0 @@
|
|||
## Pull Trusted Sources - With public_description
|
||||
|
||||
# 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 = 'mastodon.social' },
|
||||
{ domain = 'mastodon.online' },
|
||||
{ domain = 'union.place' },
|
||||
{ domain = 'sunny.garden' },
|
||||
{ domain = 'toot.wales' },
|
||||
{ domain = 'mastodon.art'},
|
||||
{ domain = 'rage.love' },
|
||||
{ domain = 'artisan.chat'},
|
||||
{ domain = 'solarpunk.moe'},
|
||||
]
|
||||
|
||||
# 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 = [
|
||||
# tier 0
|
||||
{ url = 'https://seirdy.one/pb/tier0.csv', format = 'csv'},
|
||||
{ url = 'https://raw.githubusercontent.com/gardenfence/blocklist/main/gardenfence-fediblocksync.csv', format = 'csv'},
|
||||
# other sources
|
||||
{ url = 'https://seirdy.one/pb/pleroma.envs.net.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
# assumes a git pull will proceed this check and bring down the most recent allowlist
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.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 = '/opt/fediblockhole/blocklists/'
|
||||
|
||||
## File to save the fully merged blocklist into
|
||||
blocklist_savefile = '/opt/fediblockhole/blocklists/_unified_max_blocklist.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 = 'max'
|
||||
|
||||
## 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']
|
|
@ -1,37 +1,14 @@
|
|||
## Pull Trusted Sources - Retrieve all sources and write MAX merge 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 = [
|
||||
{ domain = 'mastodon.social' },
|
||||
{ domain = 'mastodon.online' },
|
||||
{ domain = 'union.place' },
|
||||
{ domain = 'sunny.garden' },
|
||||
{ domain = 'toot.wales' },
|
||||
{ domain = 'mastodon.art'},
|
||||
{ domain = 'rage.love' },
|
||||
{ domain = 'artisan.chat'},
|
||||
{ domain = 'solarpunk.moe'},
|
||||
]
|
||||
|
||||
# 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 = [
|
||||
# tier 0
|
||||
{ url = 'https://seirdy.one/pb/tier0.csv', format = 'csv'},
|
||||
{ url = 'https://raw.githubusercontent.com/gardenfence/blocklist/main/gardenfence-fediblocksync.csv', format = 'csv'},
|
||||
# other sources
|
||||
{ url = 'https://seirdy.one/pb/pleroma.envs.net.csv', format = 'csv' },
|
||||
{ url = 'https://raw.githubusercontent.com/gardenfence/blocklist/main/gardenfence-fediblocksync.csv', format = 'c>
|
||||
]
|
||||
|
||||
# assumes a git pull will proceed this check and bring down the most recent allowlist
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
]
|
||||
|
@ -64,13 +41,16 @@ no_push_instance = true
|
|||
# The 'min' mergeplan will use the lightest severity block found for a domain.
|
||||
mergeplan = 'max'
|
||||
|
||||
|
||||
## 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']
|
||||
#import_fields = ['obfuscate']
|
||||
import_fields = ['public_comment', 'obfuscate']
|
||||
|
||||
## Set which fields we export
|
||||
## 'domain' and 'severity' are always exported, these are additional
|
||||
##
|
||||
export_fields = ['reject_media', 'reject_reports', 'public_comment', 'obfuscate']
|
||||
|
||||
|
||||
|
|
|
@ -1,23 +1,12 @@
|
|||
## TIER0 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/tier0.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/seirdy-tier0.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/gardenfence.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/tier0-council.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/dni.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/dni.csv', format = 'mastodon_csv' },
|
||||
]
|
||||
|
||||
# List of instances to write blocklist to
|
||||
|
@ -27,7 +16,7 @@ blocklist_instance_destinations = [
|
|||
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.csv', format = 'csv' },
|
||||
# { url = 'file:///opt/fediblockhole/blocklists/birdsite.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
## Store a local copy of the remote blocklists after we fetch them
|
||||
|
@ -36,6 +25,7 @@ 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/_unified_tier0_blocklist.csv'
|
||||
|
||||
|
|
|
@ -1,87 +0,0 @@
|
|||
## MAX Unified 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_tier1.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 = 50
|
||||
|
||||
## 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']
|
|
@ -1,65 +0,0 @@
|
|||
## Tier1
|
||||
|
||||
# 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 = [
|
||||
# bring in tier0
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_unified_tier0_blocklist.csv', format = 'csv' },
|
||||
# tier 1
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_working_tier1.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.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 = 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/_unified_tier1_blocklist.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'
|
||||
|
||||
## 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']
|
|
@ -1,87 +0,0 @@
|
|||
## 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']
|
|
@ -1,65 +0,0 @@
|
|||
## Tier2
|
||||
|
||||
# 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 = [
|
||||
# bring in tier0
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_unified_tier0_blocklist.csv', format = 'csv' },
|
||||
# tier 2
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_working_tier2.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.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 = 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/_unified_tier2_blocklist.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'
|
||||
|
||||
## 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']
|
|
@ -1,87 +0,0 @@
|
|||
## Tier 3 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_tier3.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 = 'count'
|
||||
merge_threshold = 2
|
||||
|
||||
## 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']
|
|
@ -1,65 +0,0 @@
|
|||
## Tier3
|
||||
|
||||
# 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 = [
|
||||
# bring in tier0
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_unified_tier0_blocklist.csv', format = 'csv' },
|
||||
# tier 0
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/_working_tier3.csv', format = 'csv' },
|
||||
]
|
||||
|
||||
allowlist_url_sources = [
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/__allowlist.csv', format = 'csv' },
|
||||
{ url = 'file:///opt/fediblockhole/blocklists/birdsite.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 = 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/_unified_tier3_blocklist.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'
|
||||
|
||||
## 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']
|
29
fedisync.sh
29
fedisync.sh
|
@ -5,34 +5,37 @@ set -e
|
|||
exec 2> >(tee /opt/fediblockhole/logs/fedisync.log)
|
||||
echo "Pulling down all blocklist sources..."
|
||||
|
||||
curl https://connect.iftas.org/wp-content/uploads/2024/04/dni.csv > /opt/fediblockhole/blocklists/dni.csv
|
||||
|
||||
cd /opt/fediblockhole
|
||||
|
||||
GIT=`which git`
|
||||
${GIT} fetchall
|
||||
|
||||
PULLCONFIG="/opt/fediblockhole/secretconfig/pull.conf.toml" # default, pull sources WITHOUT public_description
|
||||
#PULLCONFIG="/opt/fediblockhole/secretconfig/pull.all.conf.toml" # pull down all sources WITH public_description
|
||||
PULLCONFIG="/opt/fediblockhole/config/pull.conf.toml" # default, pull sources WITHOUT public_description
|
||||
#PULLCONFIG="/opt/fediblockhole/config/pull.all.conf.toml" # pull down all sources WITH public_description
|
||||
|
||||
SYNC=`which fediblock-sync`
|
||||
${SYNC} -c $PULLCONFIG # pull down all files, create max list
|
||||
|
||||
# rename and remove intermediate files
|
||||
rm -f /opt/fediblockhole/blocklists/file:---opt-fediblockhole-blocklists-__allowlist.csv.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--seirdy.one-pb-tier0.csv.csv /opt/fediblockhole/blocklists/tier0.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--raw.githubusercontent.com-gardenfence-blocklist-main-gardenfence-fediblocksync.csv.csv /opt/fediblockhole/blocklists/gardenfence.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--mastodon.online-api-v1-instance-domain_blocks.csv /opt/fediblockhole/blocklists/mastodon.online.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--mastodon.social-api-v1-instance-domain_blocks.csv /opt/fediblockhole/blocklists/mastodon.social.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--raw.githubusercontent.com-iftas-org-resources-main-DNI-dni.csv.csv /opt/fediblockhole/blocklists/dni.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--seirdy.one-pb-tier0.csv.csv /opt/fediblockhole/blocklists/seirdy-tier0.csv
|
||||
mv /opt/fediblockhole/blocklists/https:--raw.githubusercontent.com-gardenfence-blocklist-main-gardenfence-fedibloc>
|
||||
mv /opt/fediblockhole/blocklists/https:--mastodon.online-api-v1-instance-domain_blocks.csv /opt/fediblockhole/bloc>
|
||||
mv /opt/fediblockhole/blocklists/https:--mastodon.social-api-v1-instance-domain_blocks.csv /opt/fediblockhole/bloc>
|
||||
#mv /opt/fediblockhole/blocklists/https:--raw.githubusercontent.com-iftas-org-resources-main-DNI-dni.csv.csv /opt/>
|
||||
#mv /opt/fediblockhole/blocklists/https:--connect.iftas.org-wp-content-uploads-2024-04-dni.csv /opt/fediblockhole/>
|
||||
|
||||
#pull down DNI file directly to blocklist directory
|
||||
|
||||
#curl https://connect.iftas.org/wp-content/uploads/2024/04/dni.csv > /opt/fediblockhole/blocklists/dni.csv
|
||||
|
||||
# destroy the 'max' list
|
||||
rm -f /opt/fediblockhole/blocklists/_unified_max_blocklist.csv
|
||||
|
||||
# create unified tier0 file
|
||||
${SYNC} -c /opt/fediblockhole/secretconfig/tier0.conf.toml
|
||||
|
||||
# create missing from mastodon.social blocklist file, and the inverse file
|
||||
${SYNC} -c /opt/fediblockhole/config/ms-noblock.conf.toml
|
||||
|
||||
cp /opt/fediblockhole/blocklists/_unified_tier0_blocklist.csv /opt/fediblockhole/blocklists/_unified_min_blocklist.csv
|
||||
${SYNC} -c /opt/fediblockhole/config/tier0.conf.toml
|
||||
|
||||
echo "Creating mastodon versions of files..."
|
||||
|
||||
|
|
Loading…
Reference in a new issue