No description
src | ||
templates | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
model.json | ||
README.md |
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