/mastodon-defederate

Aiding small Mastodon instance admins by tracking larger instances' server blocklists

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

PyPI release Supported Python versions Code style: black BSD License

Tools for Mastodon Instance Blocklist Management

If you are running a small Mastodon instance then you do not have the benefit of moderation teams that larger instances have. This means that you may see toots from instances that you are not interested in.

Particularly when you use relays to discover interesting content there is a high probability that you will quickly discover eg. openly racist instances that nobody in their right mind needs or wants. With a personal Mastodon instance it will be your job to either block individual users from those instances, or manually defederate (that is: block) the server for everyone on your instance.

So if you trust some larger instance to do a good job at maintaining their instance block list then this tool allows you to piggyback on their work and use their blocklists on your instance.

Installation

You will need Python 3.6+ with pip. Then run pip install defederate.

Parse a public 3rd-party blocklist

$ defederate show social.example.com
Current blocklist on social.example.com:
 SILENCE: badhost1.example.com
 SILENCE: badhost2.example.com
 (...)
 SUSPEND: badhost1.example.net
 SUSPEND: badhost2.example.net
 (...)

The server you are requesting the blocklist from must allow public access.

This can also parse blocklists in Markdown format, for example the blocklist used by chaos.social:

$ defederate show https://github.com/chaossocial/about/raw/master/blocked_instances.md

Notes