pullnews - a perl script for pulling news from one news machine and
feeding it to another.
pullnews [ -c config ] [ -g groups ] [ -h ] [ -p port ] [ -q ] [ -r
file ] [ -s downstream-server ] [ remote-server ... ]
pullnews is run as a regular user process. It reads a config file in
the users home directory (normally called .pullnews) and connects to
the upstream servers defined in there as a reader client. You may
specifiy hostnames on the command line to limit the set of remote hosts
it connects to, but each host must be listed in the .pullnews file.
For each server it connects to it pulls over articles and feeds them to
the downstream (local) server via the IHAVE (feeder) NNTP command. This
means the computer pullnews is run on must have feeding access to the
downstream news host.
pullnews is designed for very small sites and is not meant for reverse-
feeding large feeds.
You must have Graham Barr’s Net::NNTP perl module installed on your
system. This is part of the libnet bundle and can be found on CPAN or
from Graham’s site http://www.connect.net/gbarr/
Normally the config file is stored in $HOME/.pullnews for the
user running the pullnews program. The ‘‘-c’’ flag lets you
The ‘‘-g’’ flag specifies a collection of groups to get. The
value must be a single argument with commas between group names.
Each group must be defined in the config file. Only the remote
hosts that carry those groups will be contacted.
-h The ‘‘-h’’ flag just prints usage.
The ‘‘-p’’ flag can be used to change connecting port to some-
thing other than 119.
-q The ‘‘-q’’ flag can be used to make things run more quietly.
The ‘‘-r’’ flag tells pullnews to create an rnews-compatible
file, instead of feeding articles.
Normally pullnews will feed the articles it retrieves to the
news server running on ‘‘localhost’’. The ‘‘-s’’ flag lets you
The config file for pullnews is a series of sets of lines describing
the upstream hosts to connect to and the newsgroups to get articles
from. A host line has no leading white space and just has the name of
the host to connect to. Group lines come after a host line and have
leading white space followed by the group name.
pullnews will update the config file to include the time the group was
last checked and the highest numbered article successfully retrieved
and transfered to the downstream server.
A sample configuration file might look like:
# Format group date high
rec.bicycles.racing 908086612 783
rec.humor.funny 908086613 18
The group entries for the two rec.* groups have been updated by an ear-
lier run by pullnews, whereas the two comp.* groups were just inserted
by the user and have not yet been checked.
pullnews was written by James Brister for INN. This is revision 1.4,
pullnews is very simple and is lacking in more sophisticated features
(like killing articles based on user-defined conditions) that better
pull feeders most certainly have. It also doesn’t keep or log much
detail on articles transferred.
Due to a limitation in the Net::NNTP perl module, one of the functions
in there is redefined inside the pullnews source. A future release of
the libnet packages will fix that.
ctlinnd(8), inn.conf(5), innd(8), newsfeeds(5), shlock(1).
Man(1) output converted with