forgery/README.md
2024-11-23 13:28:33 +01:00

28 lines
1.2 KiB
Markdown

# spam management for forgejo
## Usage
- create an API token for your admin account, and write it in an `api_token`
file at the root of the repo
- remove `model.json` if you want to start with no pre-existing model of what is
spam or not. Or keep it to use the current classifier. The file gets updated
when using the tool: the classifier learns from spam/legit decisions and
should get progressively better at identifying spam.
- run: `cargo run`
- classify users as spam/not spam. Right now the classification is stored
locally in `db.json`, no concrete action is taken. (Ultimately we will want to
lock/delete accounts, etc.)
## Todos
- take concrete actions for spam accounts: lock the account, send a warning
email, then delete+purge account after some time.
- allow changing the classification of already-classified users
- periodically refresh the database of users from forgejo, and merge them with
the local db, handling updates in users data (triggering re-classification if
needed)
- properly handle concurrent clients of the webapp (and handle classification
conflicts)
- add backend to store data on garage instead of local files
- replate the `api_token` file with a better mechanism: oauth maybe?
- improve error handling