A tiny plugin that adds a TracAdmin command for cleaning out spammer accounts, and all their tickets and comments.
Motivation: I've been getting some (authenticated) Trac spam lately, some of it getting past SpamFilterPlugin's filters (I'm using all of Akismet, BlogSpam, and reCaptcha, and they still got through). I was getting tired of doing cleanup manually.
It requires SpamFilterPlugin.
It does not do anything about wiki content or attachments. Forks and patches welcome.
It does not provide a web UI. Forks and patches welcome :)
Update: On request Paul Winkler declared on 18-Sep-2012, that he doesn't use Trac since quite some time and will not work on the code anymore. But at the same time he expressively allowed forking and even give "ownership" (I read: plugin development and maintenance) away. --hasienda
If you have any issues, create a new ticket.
Download the zipped source from here.
To configure it, first you need SpamFilterPlugin installed. Then put this in your trac.ini:
[components] nukeuserplugin.* = enabled
To use it:
$ trac-admin /path/to/trac/environment/ nukeuser username
(If you use it interactively, it does tab-completion of usernames from the auth cookie table in the database.)
This will do all of the following:
- Remove the user account.
- Delete all tickets and comments created by that user.
- Train and delete SpamFilterPlugin entries by that user.