The NAGS (Netizens Against Gratuitous Spamming) Spam Filter is a Perl script written by Ian Leicht, which can be used by netizens who have access to a shell account on a UNIX/Linux system. Ian released version 1.0 back in September 1996! Tony Cureington started using it in 2000 and made many modifications to it over the years, resulting in version 4.0 being released containing those contributions.
Why NAGS? NAGS provides another hurdle for spammers. The more obstacles between spammers and you, the less spam you are likely to receive. NAGS is like your postal delivery person sending all mail that is not addressed to you back to the sender for verification. The
ok_requiredfeature of NAGS takes this a step further, the postal person would send any mail that does not have a return address from someone you know back to the sender for authentication. This feature stops junkmail dead in its tracks.
Through the use of a .forward file, all incoming mail is first passed through the NAGS Spam Filter. The filter then decides whether the mail should be passed along to your mailbox, rejected and a challenge message sent to the sender, or just ignored. The script has been tested with fetchmail (fetchmail fetches mail from POP, IMAP, ETRN, or ODMR-capable servers).
This software is released under the terms of the GNU General Public License. The nags-filter project is maintained on SourceForge.
Below is a screenshot of the nags_stats.tcl script showing the messages that nags_filter.pl has processed.
Just a few of the many NAGS-Filter features are:
The main NAGS configuration file provides more insight to the available features. A brief description of the other configuration files is provided below.
- Configurable list of sites/addresses which are to be allowed/rejected
NAGS has a configurable list of sites (domains) that mail should be rejected from if the sender is not been specifically allowed to send you mail. This allows you to receive mail from friend@1_2_3.com while rejecting all other mail from 1_2_3.com.
- Sends challenge mail
If the mail is marked as spam, NAGS sends mail back to the sender with instructions on getting mail through the filter to you - this is done by a user customizable key you select. This allows real people to get mail through to you; NAGS can automatically add them to an "OK from" list if the
auto_from_fileoption is set in the config file.
- Extensive transaction logging
All received mail is time stamped and the activities of the script are logged. Any errors that occur in the script are also written to the log. A directory contains copies of all spam mail and ignored mail that was not passed along to your mailbox.
spam_sites - domain names that will cause mail to be marked as spam to_exceptions - to allow email from lists you subscribe to junkmailers - for finding "Xmailer: junkmailer" header strings spam_subjects - text in the subject that marks message as spam from_exceptions - to allow domains and email address through
The README provides details on configuring, testing, and the system requirements of NAGS. In addition, the FAQ provides answers to frequently asked questions. Please review these two documents before asking questions.
Download the latest version of nags and untar it in your home directory using the following command (where x.x is the version):
tar xzf nags-x.x.tar.gz
Now cd into the nags directory and follow the instructions in the README file.
If you currently have version 3.B2 or an older version installed, you will need to save off your current directory then install and configure this version. There is no automatic upgrade method for versions older than v4.0. A method is in place for automatically upgrading v4.0 and future releases.
You can view the README online from the CVS repository if you desire.
Getting Update NoticesTo get an announcement when a new version of NAGS is released, subscribe to the nags-filter-announce list. When a new version is released, a notice will be posted there shortly afterwords.
Release InformationSee the CHANGES file for specific changes in each release.Released version 4.0 on June 5, 2005.
Be patient, maintainers go on vacation, have grass to mow, dishes to wash, and other tasks that may take priority. That's life. Others on the lists below may be able to answer your question - that is the beauty of the lists.
Getting HelpAny type of questions should be posted to the nags-filter users list , you must be subscribed to the list to post (send email) messages to it. You can browse previously posted questions and answers .
Please search this list for an answer to your question, it is frustrating to see questions posted that have already been answered - take the time, do a little research. Really. Don't attempt to send email directly to the maintainers, it won't make it to us (no one will ever see it), others do not benefit from your questions or answers in private emails. No kidding.
Reporting BugsBefore submitting a bug, be sure to browse the submitted bugs to ensure it has not already been reported. If you don't see a similar bug, then submit a new bug with the following information:
- Version of the NAGS-Filter.
- Describe the sequence of steps that exposed the bug.
- Provide the exact text displayed, if any, when the bug is exposed.
- Any known work-around for this bug.
A list of things on the back burner can be found in the TODO document.! - filter first available 1996, enable ok_required option for 100% spam blocking capability.