webfilt is not a spam filter, but provides a generic web-based interface for Bayesian-style UNIX filters that need occasional training and corrections. It has been tested with SpamProbe and SpamBayes, but should work with other command-line filters too.
The webfilt system works with existing UNIX accounts, and consists of three distinct components that operate independently:
User's procmail recipes and cron jobs. The storelast.sh shell script is invoked by a user's .procmailrc and simply saves a size-limited copy of each incoming e-mail message. The destination directory is determined by spam-state, done by procmail processing. A cron job periodically cleans old message copies.
webfiltd, daemon. The daemon component is invoked by inetd, and responds to a number of commands that allow a connecting client to authenticate, read files, and execute remote commands. This is all done with the authenticated user's permissions. This daemon only accepts local connections.
webfilt.cgi, web interface The CGI program creates the web interface. Running with low privileges, it communicates with the webfiltd daemon over a socket to guarantee privilege isolation. The user logs in using their web browser and can then view recent emails and run commands on certain files (to train the filter).