Rename from mastodon->fediverse
This commit is contained in:
parent
d47a63e331
commit
282031245c
@ -10,7 +10,7 @@ platform:
|
|||||||
steps:
|
steps:
|
||||||
- name: build
|
- name: build
|
||||||
commands:
|
commands:
|
||||||
- docker build -t gcrkrause/mastodon-blocklist-deploy .
|
- docker build -t gcrkrause/fediverse-blocklist-deploy .
|
||||||
- name: push
|
- name: push
|
||||||
environment:
|
environment:
|
||||||
USERNAME:
|
USERNAME:
|
||||||
@ -19,7 +19,7 @@ steps:
|
|||||||
from_secret: docker-hub-pw
|
from_secret: docker-hub-pw
|
||||||
commands:
|
commands:
|
||||||
- docker login -u $USERNAME -p $PASSWORD
|
- docker login -u $USERNAME -p $PASSWORD
|
||||||
- docker push gcrkrause/mastodon-blocklist-deploy
|
- docker push gcrkrause/fediverse-blocklist-deploy
|
||||||
- docker image prune -a -f
|
- docker image prune -a -f
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
In order to have a common development environment, its nice to use docker. Its quite easy. To build a new image, simply run
|
In order to have a common development environment, its nice to use docker. Its quite easy. To build a new image, simply run
|
||||||
|
|
||||||
`docker build . -t mastodon_blocklist_deploy`
|
`docker build . -t fediverse_blocklist_deploy`
|
||||||
|
|
||||||
Now you can execute any commands using
|
Now you can execute any commands using
|
||||||
|
|
||||||
`docker run --rm mastodon_blocklist_deploy --help`
|
`docker run --rm fediverse_blocklist_deploy --help`
|
||||||
|
|
||||||
If you want to avoid building new containers for each change, simply mount your code into the container using
|
If you want to avoid building new containers for each change, simply mount your code into the container using
|
||||||
|
|
||||||
`docker run --rm -v $(pwd):/app mastodon_blocklist_deploy`
|
`docker run --rm -v $(pwd):/app fediverse_blocklist_deploy`
|
||||||
|
|
||||||
Please be aware that changes to the package itself require a rebuild anyways.
|
Please be aware that changes to the package itself require a rebuild anyways.
|
||||||
|
@ -4,9 +4,9 @@ ENV PYTHONDONTWRITEBYTECODE=1
|
|||||||
ENV PYTHONUNBUFFERED=1
|
ENV PYTHONUNBUFFERED=1
|
||||||
|
|
||||||
COPY pyproject.toml poetry.lock README.md /app/
|
COPY pyproject.toml poetry.lock README.md /app/
|
||||||
COPY mastodon_blocklist_deploy /app/mastodon_blocklist_deploy
|
COPY fediverse_blocklist_deploy /app/fediverse_blocklist_deploy
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ENTRYPOINT ["mastodon_blocklist_deploy"]
|
ENTRYPOINT ["fediverse_blocklist_deploy"]
|
||||||
|
|
||||||
RUN pip install -e .
|
RUN pip install -e .
|
||||||
|
21
README.md
21
README.md
@ -1,11 +1,11 @@
|
|||||||
# mastodon-blocklist-deploy
|
# fediverse-blocklist-deploy
|
||||||
|
|
||||||
A small tool to deploy blocklist updates to a mastodon server using its API.
|
A small tool to deploy blocklist updates to a fediverse server using its API.
|
||||||
|
|
||||||
## Concept
|
## Concept
|
||||||
|
|
||||||
The idea is to maintain a blocklist in a simple structured file in this repository. All changes need to be deployed to
|
The idea is to maintain a blocklist in a simple structured file in this repository. All changes need to be deployed to
|
||||||
the mastodon server, this is supposed to be automated with Drone CI.
|
the fediverse server, this is supposed to be automated with Drone CI.
|
||||||
|
|
||||||
In order to compare the list entries, we can read the whole blocklist
|
In order to compare the list entries, we can read the whole blocklist
|
||||||
using [the get endpoint](https://docs.joinmastodon.org/methods/admin/domain_blocks/#get). At the same time we read the
|
using [the get endpoint](https://docs.joinmastodon.org/methods/admin/domain_blocks/#get). At the same time we read the
|
||||||
@ -19,17 +19,22 @@ and structured file format. Since Python 3.11 got native support for [toml](http
|
|||||||
supports [Array of Tables](https://toml.io/en/v1.0.0#array-of-tables), I'd prefer to use this.
|
supports [Array of Tables](https://toml.io/en/v1.0.0#array-of-tables), I'd prefer to use this.
|
||||||
|
|
||||||
|
|
||||||
|
# Supported server types
|
||||||
|
|
||||||
|
- [x] Mastodon
|
||||||
|
- [X] GoToSocial
|
||||||
|
|
||||||
# Basic usage
|
# Basic usage
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
||||||
```
|
```
|
||||||
usage: mastodon_blocklist_deploy [-h] [-s SERVER] [-t TOKEN] [-i INPUT_FILE] [-r REMOTE_BLOCKLIST] [-o OUTPUT] [-v] [-n]
|
usage: fediverse_blocklist_deploy [-h] [-s SERVER] [-t TOKEN] [-i INPUT_FILE] [-r REMOTE_BLOCKLIST] [-o OUTPUT] [-v] [-n]
|
||||||
[--format FORMAT] [--private]
|
[--format FORMAT] [--private]
|
||||||
{diff,deploy,export}
|
{diff,deploy,export}
|
||||||
|
|
||||||
Deploy blocklist updates to a mastodon server
|
Deploy blocklist updates to a fediverse server
|
||||||
|
|
||||||
positional arguments:
|
positional arguments:
|
||||||
{diff,deploy,export} Either use 'diff' to check the difference between local blockĺist and the blocklist on the server, 'deploy'
|
{diff,deploy,export} Either use 'diff' to check the difference between local blockĺist and the blocklist on the server, 'deploy'
|
||||||
@ -64,7 +69,7 @@ options:
|
|||||||
1. **Export the current blocklist from the server**
|
1. **Export the current blocklist from the server**
|
||||||
|
|
||||||
```
|
```
|
||||||
mastodon_blocklist_deploy export -s yourserver -t yourtoken -o blocklist.toml
|
fediverse_blocklist_deploy export -s yourserver -t yourtoken -o blocklist.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Manually add something to the blocklist**
|
2. **Manually add something to the blocklist**
|
||||||
@ -83,12 +88,12 @@ private_comment = "We discussed this after X and Y and now that Z happend we dec
|
|||||||
3. **Check the difference between the local and remote blocklist**
|
3. **Check the difference between the local and remote blocklist**
|
||||||
|
|
||||||
```
|
```
|
||||||
mastodon_blocklist_deploy diff -s yourserver -t yourtoken -i blocklist.toml
|
fediverse_blocklist_deploy diff -s yourserver -t yourtoken -i blocklist.toml
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
4. **Apply the local blocklist to the server**
|
4. **Apply the local blocklist to the server**
|
||||||
|
|
||||||
```
|
```
|
||||||
mastodon_blocklist_deploy apply -s yourserver -t yourtoken -i blocklist.toml
|
fediverse_blocklist_deploy apply -s yourserver -t yourtoken -i blocklist.toml
|
||||||
```
|
```
|
||||||
|
@ -6,8 +6,8 @@ import requests
|
|||||||
import os
|
import os
|
||||||
import toml
|
import toml
|
||||||
|
|
||||||
from mastodon_blocklist_deploy.models import Instance
|
from fediverse_blocklist_deploy.models import Instance
|
||||||
from mastodon_blocklist_deploy.helpers import blocklist_to_markdown, blocklist_to_toml, blocklist_to_csv, \
|
from fediverse_blocklist_deploy.helpers import blocklist_to_markdown, blocklist_to_toml, blocklist_to_csv, \
|
||||||
blocklist_to_json
|
blocklist_to_json
|
||||||
|
|
||||||
|
|
||||||
@ -89,7 +89,7 @@ def merge(input_file, merge_target, format: str = "toml", private: bool = False,
|
|||||||
|
|
||||||
|
|
||||||
def cli():
|
def cli():
|
||||||
parser = argparse.ArgumentParser(description='Deploy blocklist updates to a mastodon server')
|
parser = argparse.ArgumentParser(description='Deploy blocklist updates to a fediverse server')
|
||||||
parser.add_argument('action', choices=['diff', 'deploy', 'export', 'merge'],
|
parser.add_argument('action', choices=['diff', 'deploy', 'export', 'merge'],
|
||||||
help="Either use 'diff' to check the difference between local blockĺist and the blocklist on "
|
help="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 "
|
"the server, 'deploy' to apply the current local blocklist or 'export' to export the remote "
|
@ -1,4 +1,4 @@
|
|||||||
from mastodon_blocklist_deploy.models import Instance
|
from fediverse_blocklist_deploy.models import Instance
|
||||||
import toml
|
import toml
|
||||||
import io
|
import io
|
||||||
import csv
|
import csv
|
@ -1,12 +1,12 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "mastodon-blocklist-deploy"
|
name = "fediverse-blocklist-deploy"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
description = "A small tool to deploy blocklist updates to a mastodon server using its API."
|
description = "A small tool to deploy blocklist updates to a fediverse server using its API."
|
||||||
authors = ["Georg Krause <mail@georg-krause.net>", "Julian-Samuel Gebühr <julian-samuel@gebuehr.net>"]
|
authors = ["Georg Krause <mail@georg-krause.net>", "Julian-Samuel Gebühr <julian-samuel@gebuehr.net>"]
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
packages = [{include = "mastodon_blocklist_deploy"}]
|
packages = [{include = "fediverse_blocklist_deploy"}]
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
keywords = ["mastodon", "blocklist", "fediverse"]
|
keywords = ["fediverse", "blocklist", "fediverse"]
|
||||||
|
|
||||||
|
|
||||||
[tool.poetry.dependencies]
|
[tool.poetry.dependencies]
|
||||||
@ -16,7 +16,7 @@ rich = "^13.0.1"
|
|||||||
toml = "^0.10.2"
|
toml = "^0.10.2"
|
||||||
|
|
||||||
[tool.poetry.scripts]
|
[tool.poetry.scripts]
|
||||||
mastodon_blocklist_deploy = 'mastodon_blocklist_deploy.cli:cli'
|
fediverse_blocklist_deploy = 'fediverse_blocklist_deploy.cli:cli'
|
||||||
|
|
||||||
|
|
||||||
[build-system]
|
[build-system]
|
||||||
|
Loading…
Reference in New Issue
Block a user