NewsProxy is program which acts as a local news-server, and enables you to filter on ANY header (not just those provided by the XOVER command). This gives you the ability to use a header such as 'NNTP-Posting-Host:' to kill an article, without having to waste time downloading the message body first.
NewsProxy is normally set up between you news-server and your news client. This is relatively straightforward (see http://www.nfilter.org/faq.html for more information). However, it creates a problem if you use Hamster as a local news-server, since they are both trying to use the same ports (i.e. the two programs are both trying to do the same thing at the same time, which causes neither to work properly). There is a way round this however - essentially NewsProxy connects to your news-server using the standard settings (port 119), but feeds its information using a non-standard port (e.g. 3119). Hamster then gets its newsfeed from the NewsProxy news-server on port 3119. Your news-client connects to the Hamster server using the normal localhost address (127.0.0.1) on port 119. If you understood all that, I've put some detailed instructions below :-)
Download the latest version of NewsProxy from http://www.nfilter.org. Its just an executable (no install), so create a new folder (for example, I use d:\usenet\newsproxy cis-dfn) and copy the exe file to the folder. If you use multiple servers for Hamster, you need one copy of NewsProxy per server, i.e. create another folder and copy NewsProxy to it for every news-server you want filtered. I'll use two servers for this guide.
Each version of NewsProxy is going to be functioning as a news-server running on your (local) machine, which means that they will all have a 127.0.0.1 IP address. Obviously they need to be identified separately, so that Hamster can connect to each of them. To do this you need to tell Windows that 127.0.0.1 can be resolved to a variety of names. Goto your Windows folder (WINDOWS for 95/98, WINNT for NT/2000) and open the 'hosts' file. Change the "127.0.0.1 localhost" entry to "127.0.0.1 localhost servername1 servername2", where servername1/2 are the names of the servers you will ask Hamster to connect to. Save the hosts file and close it.
Run the one of your NewsProxy programs, and goto Edit|Configuration. On the Network tab, enter the address of your first news-server in the Server Name field (username and password for the server will be provided by Hamster). Leave the server port as 119 (this is for the external news-server), but set the listening port as 3119. The default settings for everything else are normally fine to leave as they are.
Repeat this stage for the second NewsProxy program, only this time set a different listening port, e.g. 4119. You should now have two instances of NewsProxy in the system tray.
Now you need to tell Hamster to use the NewsProxy server to get its newsfeed. Create a new server whose address is 'servername1' (insert here what you used in the Hosts file), and set the port as 3119, i.e. the address should read 'servername1,3119' (without the quotes). Enter the username and password required for the external news-server. Create a second new server, only this time the address should be 'servername2,4119'.
Go online with the new news-servers, and get the group list. If this works, you know you have NewsProxy and Hamster working together. Once you've got the group list, you need to add the newsgroup pulls you want. If you want to replicate an existing list, the following script is useful (hs2-040-CopyPulls.zip) from (http://home.t-online.de/home/micha-wr/hamster/index.htm).
At this point you need to get rid of your old news-servers in Hamster otherwise you will have a conflict between which ports are in use.
Now when you connect your news client to Hamster you will receive only articles that have been cleared through NewsProxy first. Obviously at this point you have no filters in place, so everything comes through :-) Filters can be added from Edit|Filters; see http://www.nfilter.org/faq.html for more information.
The recent Hipcrime spam to news.software.readers all had one of a number of nntp-posting-host addresses. To kill this spam (i.e. stop it even being downloaded by Hamster), copy the following to the nfilter.dat file:
* drop NNTP-Posting-Host:mail.trutnov.cz
* drop NNTP-Posting-Host:24.48.22.71
* drop NNTP-Posting-Host:207.99.39.1
* drop NNTP-Posting-Host:203.59.95.18
* drop NNTP-Posting-Host:166.102.15.34
* drop NNTP-Posting-Host:212.198.69.6
Save the file, and remember to stop and re-start NewsProxy. You need to add the same filter information for each instance of NewsProxy you are running.
Note: One of the options with NewsProxy is to FLAG posts (i.e. add a phrase of your choice to the Subject: or From: header) to enable you to use your news reader to score/filter these posts For example, if you wanted to test that you filter is working without actually killing the posts, you could add KILL-FILE to the Subject: header, and then score -1000 on subject:kill-file in score.ini. Unfortunately I think that NewsProxy only adds the flag to the Subject: header which is passed to the news reader as one of the XOVER headers (i.e. the 'real' Subject: header is not changed). Because Hamster is between the news reader and NewsProxy, the XOVER headers you see in Xnews are being provided by Hamster (not NewsProxy), and so the flagging doesn't work. Obviously the DROP command to kill posts is functional though, as it occurs pre-Hamster. One solution may be to have a third instance of NewsProxy sitting between Hamster and Xnews, but I haven't managed to get the FLAG command working with that yet :-)
e.g. above set-up is:
News-server,119 <-> Newsproxy | newservername1,3119 <-> Hamster | localhost,119 <-> Xnews
To add FLAG functionality:
News-server,119 <-> Newsproxy | newservername1,3119 <-> Hamster | localhost,9119 <-> Newsproxy | localservername,119 <-> Xnews
Thanks to this post (http://groups.yahoo.com/group/ehamster/message/769) from Peter Giese for helping me to work out how to do most of this :-)
|