NAME newsproxy.pl - a perl-based Usenet "proxy" server SYNOPSIS newsproxy.pl [-hvd] [-p port] DESCRIPTION newsproxy.pl is a proxying news server, meaning that it doesn't actually maintain any information locally - everything it gets is off of other news servers. This is useful for several reasons, the most obvious of which is to allow a user to read news off of more than one server at a time. As different servers contain different groups, this is important. Other benefits: o Allows non-NNTPAUTH capable news readers to connect to NNTPAUTH enabled news servers. o Allows the same newsgroup to be read on two different news servers, allowing users to choose their filtering policies more carefully. o Allow for overview-only feeds to allow users to share their idea of what a given group should look like. (Not currently supported by any servers, but it'd be interesting) o Allows for fast access to "local" articles, even on remote and slow servers, as long as o Gives a framework to add additional news services, such as a news cache. newsproxy.pl is based around two perl modules - Net::NNTP::Client and Net::NNTP::Proxy. Please see their manual pages for more details. USAGE newsproxy.pl [-hvd] [-p port] -h Prints a short help message and exits. -v Print the version number and exit. -d Print debugging information. -p port Bind to 'port' instead of the default ($PORT). NOTES As it does require root priv's to bind to port 119, this code is designed to drop down to user-level permissions (UID = 1) once it's done so - there isn't a need to have this thing running around as root. REQUIREMENTS Requires Perl 5 or better, Net::NNTP, News::Article (for Net::NNTP::Proxy), Errno, and the NewsLib modules (News::NNTPAuth, Net::NNTP::Proxy, and Net::NNTP::Client). SEE ALSO the Net::NNTP manpage, the Net::NNTP::Proxy manpage, the Net::NNTP::Client manpage TODO Add in the rest of the functionality of INN authinfo, help, ihave, list, newgroups, newnews, slave, xgtitle, xhdr, xpat, xpath) currently don't work. (This is part of the Net::NNTP::Proxy module). Create a real admin interface An extension to NNTP would make life easier here - use authinfo and such, so that you can log into a server and automatically get a list of groups rather than having to set these variables here on your own. Make this thing into a daemon Start it and forget it. Alternately, it might be neat to add this into inetd.conf. Write some better code for handling the children. Implement real authentication, and NNTPS. Work on other related projects, like an NNTP cache. AUTHOR Tim Skirvin <tskirvin@killfile.org> COPYRIGHT Copyright 2000-2001 Tim Skirvin <tskirvin@killfile.org> This code may be used and/or distributed under the same terms as Perl itself. Note that this is beta code; use it at your own risk.