My accomplishments 2002.(late that year) onwards into 2004:
Continued work on my AntiSpam program:
- Changed parsing of headers to be careful about sequence of Received lines, in particular noting the IP number of the SMTP client that was the "last relay" i.e. injection point in transferring the spam from the spammer or open-relay/proxy ISP to my own ISP, including messages received at my Yahoo account and automatically forwarded here. This was necessary because of frequent forged IP numbers in header. From now on all my complaints would go only to the ISP definitely responsible for relaying the spam to me.
- Added code to automatically perform TraceRoute on any IP number where I hadn't collected that data since two weeks ago, or never, and built that into a new database
- Changed spam-complaint code to automatically complain to upstream ISP (per TraceRoute data) whenever there was no known CTW address for the actual IP number. This was necessary because several new IP blocks were sending spam each day, forcing me to spend hours per day collecting new CTW data just to send complaints there. Now it was quite rare that a new IP block wouldn't have a known CTW upstream, so virtually all new spam from new sources could be complained to an appropriate place using already-colleced data, so that spam complaints could go out more quickly.
- Added new toplevel program loop which checked my inbox once per minute, and upon seeing new e-mail would check if it was a spam with known CTW data, and if so then send a spam complaint immediately. This meant my complaints would go out within a minute of receipt, giving the ISP time to immediately shut down the spammer or the open relay/proxy before very many more people were harassed with the spam, and giving the ISP a better chance of catching the spammers live in the act of a spam run.
- Created new Yahoo! Groups to hold copies of my spam complaints, as public record of my notification of the responsible ISP. Changed main spam complaint program to automatically copy my complaints there.
- All the above was for spam sent to my Unix shell mailbox. I had no practical way to complain about the much larger amount of spam that was innundating my Yahoo! Mail account. But now I wrote code to automatically log into my Yahoo! Mail account, automatically browse my mailboxes, automatically collect data about what messages where there, automatically download individual messages (HTML WebPage thereof) to temporary file on shell account, automatically parse the HTML to recover the actual RFC822 message header and body (which was tricky due to various MIME formats that are rendered differently in HTML), then automatically parse header and Received lines therein and find IP number of last-relay (injection point) just as with e-mail to my shell address, and then automatically send complaints just the same and automatically copy complaints to Yahoo! Groups for archival.