- Python 93.4%
- Just 3.9%
- Dockerfile 1.5%
- Shell 1.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
/ pr-review (push) Has been skipped
/ gitleaks (push) Successful in 17s
/ pr-review (release) Has been skipped
/ gitleaks (release) Successful in 23s
/ checks (push) Successful in 2m9s
/ publish (push) Has been skipped
/ publish-container (push) Has been skipped
/ deploy-docs (push) Has been skipped
/ checks (release) Successful in 2m13s
/ publish (release) Successful in 26s
/ deploy-docs (release) Successful in 1m19s
/ publish-container (release) Successful in 2m54s
|
||
| .forgejo/workflows | ||
| docs | ||
| scripts | ||
| src/fedinesia | ||
| tests/unit | ||
| .editorconfig | ||
| .gitignore | ||
| .gitleaks.toml | ||
| .pre-commit-config.yaml | ||
| .python-version | ||
| AGENTS.md | ||
| AI-DECLARATION.md | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| Containerfile | ||
| docs_hooks.py | ||
| entry-point.sh | ||
| justfile | ||
| LICENSE.md | ||
| logging-config.toml | ||
| mkdocs.yml | ||
| noxfile.py | ||
| pylock.toml | ||
| pyproject.toml | ||
| README.md | ||
| Release-Notes.md | ||
| Release-Notes.md.template | ||
| ruff.toml | ||
| uv.lock | ||
Fedinesia
⚠️ BEWARE, THIS TOOL WILL DELETE SOME OF YOUR POSTS ON THE FEDIVERSE ⚠️
Fedinesia is a command line (CLI) tool to delete old statuses from Mastodon or Pleroma instances. It respects rate limits imposed by servers.
Install and run from PyPI
It's easy to install Fedinesia from PyPI using the following command:
pip install fedinesia
Once installed, Fedinesia can be started by typing fedinesia into the command line.
Configuration / First Run
Fedinesia will ask for all necessary parameters when run for the first time and store them in a config.json file in the current directory.
Podman / Docker Container
Fedinesia can also be run using Podman or Docker as follows:
podman run \
--env AUDIT_LOG_FILE=/logging/audit.log \
--env PAUSE_IN_SECONDS=300 \
--replace \
--volume ./config:/config \
--volume ./logging:/logging \
--name fedinesia \
forge.marvin8.zone/marvin8/fedinesia
Podman / Docker Environment Variables
-
PAUSE_IN_SECONDS (mandatory) This must be set to a positive integer. This value is the number of seconds to wait between successive runs of
fedinesia. -
AUDIT_LOG_FILE (optional) Full path to where audit log file should be written to. It is intended that logfiles will be written to
/loggingdirectory. No audit log file will be generated / updated if this value has not been set. -
AUDIT_STYLE (optional) What style of audit log file to write. Possible options are
PLAINorCSV. Defaults toPLAIN. Has no effect ifAUDIT_LOG_FILEhas not been set. -
LIMIT (optional) If set to a positive integer, will make
fedinesiastop processing any further deletions once this number of statuses have been deleted in the current execution. -
DRY_RUN (optional) If set to any value, e.g.
DRY_RUN=true, will makefedinesianot actually delete any status. Statuses that would be deleted are shown instead. -
PROGRESS_FILE (optional) If set to a filename, will store the progress of deleted statuses to that file. This is intended to be used together with the
CONTINUE_PROGRESSvariable. This allowsfedinesiato process a large number of status deletions over multiple executions while keeping track of progress. -
CONTINUE_PROGRESS (optional) If set to any value, e.g.
CONTINUE_PROGRESS=true, will makefedinesiacontinue with deleting statuses from last successfully deleted status in reverse historical order. Setting this variable implies thatPROGRESS_FILEhas been set as well. -
LOGGING_CONFIG (optional) Can be set to a filename containing logging configuration definition. Below is a sample of the logging config file I use during development:
[[handlers]]
sink = "sys.stdout"
format = "{message}"
level = "INFO"
[[handlers]]
sink = "/logging/dev-fedinesia-debug.log"
rotation = "1 day"
retention = 3
level = "DEBUG"
format = "{time} - {level} - {name} - {function}({line}) - {message}"
colorize = "none"
Licensing
Fedinesia is licensed under the GNU Affero General Public License v3.0.
Supporting Fedinesia
There are a number of ways you can support Fedinesia:
- Create an issue with problems or ideas you have with/for Fedinesia
- Create a pull request if you are more of a hands-on person
- You can buy me a coffee
- You can send me small change in Monero to the address below:
Monero donation address
86ZnRsiFqiDaP2aE3MPHCEhFGTeiFixeQGJZ1FNnjCb7s9Gax6ZNgKTyUPmb21WmT1tk8FgM7cQSD5K7kRtSAt1y7G3Vp98nT
