-
Notifications
You must be signed in to change notification settings - Fork 8
FIRES Integration - Moderation Recommendations Feed and General Retractions #71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
c92aff1
4ab7acc
d1a6de8
61055dd
e6f03fb
53b4339
b5efa02
79edf03
a78a491
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| .DS_Store | ||
| __pycache__/ | ||
| *.pyc | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -24,6 +24,33 @@ blocklist_url_sources = [ | |
|
|
||
| ] | ||
|
|
||
| # List of FIRES dataset sources to read from. | ||
| # Each entry must have a 'dataset' key with the full dataset URL. | ||
| # The dataset URL is the canonical identifier per the FIRES spec. | ||
| # | ||
| # FIRES policies are mapped to Mastodon severities: | ||
| # drop/reject -> suspend, filter -> silence, accept -> remove block | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd probably put these on separate lines, as I misread this at first thinking it was some kind of pipeline. e.g.: There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you're a good server, maybe it is a pipeline! 😂 |
||
| # Each dataset counts as one source for threshold calculations. | ||
| # | ||
| # Optional per-source keys: | ||
| # max_severity -- cap the highest severity applied (default: 'suspend') | ||
| # ignore_accept -- don't add accept entries to allowlist (default: false) | ||
| # note: accept still removes blocks from this dataset | ||
| # retractions -- honor retractions from this source (default: false) | ||
| # language -- preferred language for label names (default: 'en') | ||
| blocklist_fires_sources = [ | ||
| # { dataset = 'https://fires.example/datasets/019d3565-f022-777b-abbc-c43d649f294b' }, | ||
| # { dataset = 'https://fires.example/datasets/019d3565-f022-777b-abbc-aabbccddeeff', max_severity = 'silence' }, | ||
| # { dataset = 'https://trusted-fires.example/datasets/uuid', retractions = true }, | ||
| ] | ||
|
|
||
| ## Path to the FIRES state file for tracking change cursors and retractions | ||
| ## Defaults to ~/.fediblockhole/fires_state.json | ||
| # fires_state_file = '/path/to/fires_state.json' | ||
|
|
||
| ## Don't fetch from FIRES datasets, even if they're defined above | ||
| # no_fetch_fires = false | ||
|
|
||
| ## These global allowlists override blocks from blocklists | ||
| # These are the same format and structure as blocklists, but they take precedence | ||
| allowlist_url_sources = [ | ||
|
|
@@ -86,7 +113,16 @@ blocklist_instance_destinations = [ | |
|
|
||
| ## set an override private comment to be added when pushing a NEW block to an instance | ||
| # this does not require importing private comments | ||
| # override_private_comment = 'Added by Fediblock Sync' | ||
| # When using apply_retractions, this stamp is used to identify which blocks | ||
| # FediBlockHole added (so it only removes blocks it created, not manual ones). | ||
| # override_private_comment = 'Added by FediBlockHole' | ||
|
|
||
| ## When enabled, blocks that were added by FediBlockHole but are no longer | ||
| ## in any source (due to FIRES retractions or sources dropping a domain) | ||
| ## will be removed from destination instances. | ||
| ## Requires override_private_comment to be set so we can identify our blocks. | ||
| ## Can also be set per-destination instance. | ||
| # apply_retractions = false | ||
|
|
||
| ## Set which fields we import | ||
| ## 'domain' and 'severity' are always imported, these are additional | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is correct, if you're not doing federation policies and just the binary approach that Mastodon uses of domain blocks OR domain allows.