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.