Most ISPs provide a news server along with their dialup access. These servers
can have any number of newsgroups but most provide around 100+.
Nobody would ever want to subscribe to and read all of these newsgroups,
however, subscribing to a few groups of interest can be both helpful,
entertaining and perhaps fun.
Anyone who uses a news client to access the news server directly will know all
too well the long delays and limited options.
The reason why most News clients cannot read news offline is because they only
deal with messages one at a time, downloading and displaying them as you
This is where Leafnode comes in, Leafnode provides all of the functions
available in news readers such as Outlook Express with a few extra features
(such as intelligent bandwidth handling and newsgroup independant message
Leafnode Specification & General Info
Still with me? Good. There are three parts to Leafnode, each as important as
each other, they have been listed and described below.
Fetchnews: This program is responsible for retrieving messages from the
server that you use. This is the program to run when you want to synchronise
your offline news with news on the Internet. Fetchnews also takes care of
delivering any posts that you have made.
Leafnode: This is a server daemon that runs on your machine. This part
of the program serves all your messages on a server on your machine. (This is
why you are able to read news offline as you are connecting to your machine
and not one on the Internet.)
Texpire: This part takes care of removing messages that are more than a
certian number of days old, the options for expiring messages can be
controlled through the very simple config file which I will cover later in
this tutorial. In the unlikely event that you will want to keep every message
that you have ever recieved, you can disable expiration by setting expire = to
an impossibly high number.
- Download the latest source from www.leafnode.org
- Extract the archive to a suitable directory.
- Do a make installall - if that fails do a make all & make install.
- Read the makefile to make any changes for directories etc.
- Run make to Install the program.
Config and inetd
Below I have prepared an example config file for Leafnode, this file must
reside in /etc/leafnode or anyother directory that you specified in the
makefile. You must also watch that this file is readable by the user "news" at
all times, some editors such as Kedit change file permissions. Please note the
comments in italics and above the relevant line.
#This is where you specify the servers want to use, you can specify as
many as you want on seperate lines
server = my.news.server
#Specify any restrictions to the newsgroup list eg comp.os* uses all
newsgroups = news.group.restrictions
#The delay before the newsgroup is ignored
timeout short = 7
#The delay before the newsgroup is unsubscribed
timeout long = 21
#The global expire for all messages except specific newsgroup expire
expire = 21
#Specify expire settings for individual groups, for busier groups, use a
groupexpire = busy.* = 1
#The maximum amount of bytes to be fetched
maxfetch = 1500
#The amount of messages to be retrieved at first
initialfetch = 500
#The maximum amount of bytes in a message, if a message has more than the
specified maxbytes it is ignored, good for filtering out attachments
maxbytes = 50
Now, as root, open /etc/inetd.conf, delete all lines starting with nntp and
nntp stream tcp nowait news
Then do a killall -HUP inetd
Run /usr/sbin/fetchnews -v -n or fetchnews -v -n as root when
connected to the net to retrieve the news list.
Open your newsreader and add the server 127.0.0.1, or whatever your machine's
ip number is.
Subscribe to groups you like and when you read the placeholders in the groups
you like, real articles will be retrieved when you do your next fetchnews.
Finalising The Process
You may be quite happy running fetchnews with fetchnews -v -n every
time you want news and texpire every time you want to expire messages, If you
want a more automated approach, however, just add the fetchnews command to
/etc/ipup.local to make fetchnews run every time you connect and add texpire
to /etc/crontab to schedule expiration.
(Try man 5 crontab for help)
About Me (zzzzzzz)
Well, I hope you have enjoyed my Leafnode article, and have enjoyed leafnode,
email me @ email@example.com for help if you need it!
I am a 14 year old secondary school pupil called Edward J Benton who lives in
Upperlands, near Maghera in County Derry.
I go to a school called the Rainey Endowed in Magherafelt and I am currently
in 3rd year facing KS3 (Science tomorrow when I wrote this)
I enjoy using all flavours of Linux, admit it in public and enjoy converting
more broad minded Windows users.
When I am online, I go by a few aliases, however by far the most common is
NeocortX, if you ever see him, its either me or a sad imposter ;)
If you need help of any sort or perhaps want to know morre of my boring
lifestyle ;) mail firstname.lastname@example.org , all Linux ILUG users are welcome!
Eddie Benton (NeocortX)
About the author, Eddie Benton.