I Want Receipts Edition

This commit is contained in:
Oliphant 2023-05-11 19:53:02 +00:00
parent 9abb7432bc
commit f7a338cdbe
15 changed files with 117 additions and 25 deletions

View File

@ -34,14 +34,27 @@ The list of blocklist sources can be found in the [/config/pull.conf.toml](/olip
These initial sources are pulled down, with each of them being saved as an intermediate file. These initial sources are pulled down, with each of them being saved as an intermediate file.
> Note: If you want to include the public_description, modify the [/config/pull.all.conf.toml](/oliphant/blocklists/src/branch/main/config/pull.all.conf.toml) file.
The `fedisync.sh` script renames each of these source lists to a more friendly name (like mastodon.social.csv) The `fedisync.sh` script renames each of these source lists to a more friendly name (like mastodon.social.csv)
The remaining steps are performed on these sourcefiles, not pulled from urls. The remaining steps are performed on these sourcefiles, not pulled from urls.
If you customize the list of sources in `pull.conf.toml` you should also update them in the various `config/*.conf.toml` files as needed. If you customize the list of sources in `pull.conf.toml` or `pull.all.conf.toml` you should also update them in the various `config/*.conf.toml` files as needed.
You will likely also need to customize the `fedisync.sh` to your needs as well if you make these changes. You will likely also need to customize the `fedisync.sh` to your needs as well if you make these changes.
## Generate files with descriptions
Edit the `fedisync.sh` file, and where you see as follows:
```
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
```
comment out the first line and uncomment the second. Then run `.fedisync.sh` as normal. The resulting files will have public_comment populated.
## Pushing to Your Own Server ## Pushing to Your Own Server
If you want to push these blocks to your own server, that's an option, too. If you want to push these blocks to your own server, that's an option, too.

View File

@ -64,8 +64,8 @@ merge_threshold = 100
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -64,8 +64,8 @@ merge_threshold = 80
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -58,4 +58,4 @@ import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional
## ##
export_fields = ['reject_media', 'reject_reports', 'obfuscate'] export_fields = ['reject_media', 'reject_reports', 'public_comment', 'obfuscate']

View File

@ -54,8 +54,8 @@ mergeplan = 'min'
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -53,8 +53,8 @@ mergeplan = 'min'
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

76
config/pull.all.conf.toml Normal file
View File

@ -0,0 +1,76 @@
## 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']

View File

@ -55,8 +55,8 @@ mergeplan = 'max'
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -78,8 +78,8 @@ merge_threshold = 50
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -56,8 +56,8 @@ mergeplan = 'min'
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -78,8 +78,8 @@ merge_threshold = 33
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -56,8 +56,8 @@ mergeplan = 'min'
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -78,8 +78,8 @@ merge_threshold = 2
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -56,8 +56,8 @@ mergeplan = 'min'
## Set which fields we import ## Set which fields we import
## 'domain' and 'severity' are always imported, these are additional ## 'domain' and 'severity' are always imported, these are additional
## ##
import_fields = ['reject_media', 'reject_reports', 'obfuscate'] #import_fields = ['reject_media', 'reject_reports', 'obfuscate']
#import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate'] import_fields = ['public_comment', 'reject_media', 'reject_reports', 'obfuscate']
## Set which fields we export ## Set which fields we export
## 'domain' and 'severity' are always exported, these are additional ## 'domain' and 'severity' are always exported, these are additional

View File

@ -12,8 +12,11 @@ GIT=`which git`
${GIT} fetch ${GIT} fetch
#${GIT} fetchall #${GIT} fetchall
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=`which fediblock-sync`
${SYNC} -c /opt/fediblockhole/config/pull.conf.toml # pull down all files, create max list ${SYNC} -c $PULLCONFIG # pull down all files, create max list
# rename and remove intermediate files # rename and remove intermediate files
rm -f /opt/fediblockhole/blocklists/file:---opt-fediblockhole-blocklists-__allowlist.csv.csv rm -f /opt/fediblockhole/blocklists/file:---opt-fediblockhole-blocklists-__allowlist.csv.csv