PC-Tools.Net - Quality Coding
unix: webfilt
webfilt 0.96 - Flexible web interface to server-side spam filters
Language: C
License: GNU GPL
Download source: webfilt-0.96.tar.gz [23K]
Description
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).