No description
Find a file
2024-11-27 20:31:06 +01:00
src when selecting random users, still sort the selected users on screen 2024-11-27 20:31:06 +01:00
templates filter out users with an empty profile 2024-11-27 20:31:06 +01:00
.gitignore optimize scoring performance 2024-11-23 13:13:27 +01:00
Cargo.lock classification UI, etc 2024-11-23 13:13:27 +01:00
Cargo.toml optimize scoring performance 2024-11-23 13:13:27 +01:00
model.json add sorting options 2024-11-23 13:13:27 +01:00
README.md README: add a list of TODOs 2024-11-23 13:28:33 +01:00

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