=head1 NAME pullnews - Pull news from one news server and feed it to another =head1 SYNOPSIS B [B<-hq>] [B<-c> I] [B<-g> I] [B<-p> I] [B<-r> I] [B<-s> I] [ ...] =head1 REQUIREMENTS The Net::NNTP module must be installed. This module is available as part of the libnet distribution and comes with recent versions of Perl. For older versions of Perl, you can download it from L. =head1 DESCRIPTION B reads a config file in the running user's home directory (normally called F<~/.pullnews>) and connects to the upstream servers given there as a reader client. By default, it connects to all servers listed in the configuration file, but you can limit B to specific servers by listing them on the command line. For each server it connects to, it pulls over articles and feeds them to the destination server via the IHAVE command. This means that the system B is run on must have feeding access to the destination news server. B is designed for very small sites that don't want to bother setting up traditional peering and is not meant for handling large feeds. =head1 OPTIONS =over 4 =item B<-c> I Normally, the config file is stored in F<~/.pullnews> for the user running B. If B<-c> is given, I will be used as the config file instead. This is useful if you're running B as a system user on an automated basis out of cron rather than as an individual user. =item B<-g> I Specifies a collection of groups to get. I is a list of newsgroups separated by commas (only commas, no spaces). Each group must be defined in the config file, and only the remote hosts that carry those groups will be contacted. Note that this is a simple list of groups, not a wildmat expression, and wildcards are not supported. =item B<-h> Print a usage message and exit. =item B<-p> I Connect to the destination news server on a port other than the default of 119. This option does not change the port used to connect to the remote news servers. =item B<-q> Print out less status information while running. =item B<-r> I Rather than feeding the downloaded articles to a local server, instead create a batch file that can later be fed to a server using B. See rnews(1) for more information about the batch file format. =item B<-s> I Normally, B will feed the articles it retrieves to the news server running on localhost. To connect to a different host, specify a server with the B<-s> flag. =back =head1 CONFIG FILE The config file for B is divided into blocks, one block for each remote server to connect to. A block begins with the host line, which must have no leading whitespace and contains just the hostname of the remote server. Following this line should be one or more newsgroup lines which start with whitespace followed by the name of a newsgroup to retrieve. Only one newsgroup should be listed on each line. B will update the config file to include the time the group was last checked and the highest numbered article successfully retrieved and transferred to the destination server. It uses this data to avoid doing duplicate work the next time it runs. The full syntax is: [ ] [