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

1.2 KiB

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