From 80d66b1919de51741dd8af6500935021981d15c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian-Samuel=20Geb=C3=BChr?= Date: Thu, 12 Jan 2023 08:40:25 +0100 Subject: [PATCH] Add some documentation --- README.md | 73 ++++++++++++++++++++++++++++++- assets/obtain_token.png | Bin 0 -> 43805 bytes mastodon_blocklist_deploy/cli.py | 4 +- 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 assets/obtain_token.png diff --git a/README.md b/README.md index 820feb4..d1ebc2e 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,77 @@ and [remove](https://docs.joinmastodon.org/methods/admin/domain_blocks/#delete) and [add](https://docs.joinmastodon.org/methods/admin/domain_blocks/#create) newly added. Since we have several attributes for a domain blog, a simple `.txt` file might not be sufficient. We probably want to -set the severity, reject_media, reject_reports and comments. This means we need a human readable, easily python-readable +set the severity, reject_media, reject_reports and comments. This means we need a human-readable, easily python-readable and structured file format. Since Python 3.11 got native support for [toml](https://toml.io/) and it supports [Array of Tables](https://toml.io/en/v1.0.0#array-of-tables), I'd prefer to use this. + + +# Basic usage + + +## + +``` +$ mastodon_blocklist_deploy -h +usage: mastodon_blocklist_deploy [-h] [-s SERVER] [-t TOKEN] [-i INPUT_FILE] [-r REMOTE_BLOCKLIST] [-o OUTPUT] [-v] [-n] {diff,deploy,export} + +Deploy blocklist updates to a mastodon server + +positional arguments: + {diff,deploy,export} Either use 'diff' to check the difference between local blockĺist and the blocklist on the server, 'deploy' to apply the current local blocklist or 'export' to export the remote blocklist into a local file. + +options: + -h, --help show this help message and exit + -s SERVER, --server SERVER + The address of the server where you want to deploy (e.g. mastodon.social) + -t TOKEN, --token TOKEN + Authorization token + -i INPUT_FILE, --input-file INPUT_FILE + The blocklist to use + -r REMOTE_BLOCKLIST, --remote-blocklist REMOTE_BLOCKLIST + The remote blocklist as json for debugging reasons + -o OUTPUT, --output OUTPUT + Filename where to export the blocklist + -v, --verbose + -n, --no-delete Do not delete existing blocks +``` + +## Obtain a server token + +1. Be an admin on the server. +2. Add an application in the Mastodon Web Client (https://yourdomain.org/settings/applications/new. Make sure to select the permissions `admin:read` and `admin:write`. +3. Copy the Token (last value in the table) ![](assets/obtain_token.png) + +# Typical workflow + +1. **Export the current blocklist from the server** + +``` +mastodon_blocklist_deploy export -s yourserver -t yourtoken -o blocklist.toml +``` + +2. **Manually add something to the blocklist** + +```toml +[[instances]] +name = "instance-to-block.com" +domain = "instance-to-block.com" +severity = "suspend" +reject_media = true +reject_reports = true +public_comment = "X, Y and Z" +private_comment = "We discussed this after X and Y and now that Z happend we decided to block" +``` + +3. **Check the difference between the local and remote blocklist** + +``` +mastodon_blocklist_deploy diff -s yourserver -t yourtoken -i blocklist.toml +``` + + +4. **Apply the local blocklist to the server** + +``` +mastodon_blocklist_deploy apply -s yourserver -t yourtoken -i blocklist.toml +``` \ No newline at end of file diff --git a/assets/obtain_token.png b/assets/obtain_token.png new file mode 100644 index 0000000000000000000000000000000000000000..38d602982804d135264501b50f5786e545a03b6d GIT binary patch literal 43805 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

2t9(ToqgB4`cE>XmE1;xo`^0p4hd{2#J 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