Setting up leafnode

Leafnode is a newsserver which runs locally and act like a proxy between your newsreader and one or more servers, with or without password and other special parameters.

Why?

For speed.

Depending on your newsreader, before you read an article you have to fetch it from the intertubes. This slows down the process of reading the next article, unless you have some caching mechanism.

Leafnode does this for you, in a trasparent way. You connect to localhost, the articles are given to you in a flash, and you don't have to mess anymore with broken connections, slow servers, etc.

Also, it prevents you from having the ossessive-compulsive syndrome of checking the news every 2 minutes, eventually pissing off the upstream server :-)

How?

It's a matter of a couple of minutes.

apt-get install leafnode

Apt will ask you the name of the upstream server to make leafnode to connect. I put news.gmane.org (which is also the source of my RSS/Atom feeds, via Gwene).

It will also ask for a connection profile (ppp, permanent, none). I chose “permanent”, but it's dial-up friendly, in case, with the “ppp” method (the fetching will be done when the network is up).

That's it. Just point the newsreader to localhost instead of news.gmane.org (but you'll have to clear the cache, so you'll have to mark the articles are read and alike, when you'll be ready). For Gnus run M-x gnus-group-clear-on-native-groups to clear the cache and the .newsrc references.

The first time

When you access a group the first time, you'll find a strange message, with a placeholder. Leafnode is smart enough not to download the whole internet to give you a bunch of newgroup. So it waits for you to access one group. The next cronjob run will fetch the articles.

Tweaks

If you have a permanent connection, change the cronjob to run more often than once an hour. It's in /etc/cron.d/leafnode on debian.

You may want to add more servers. I have gmane, eternal-september, and the provider's one. Eternal-september requires a password.

Take a look at /etc/news/leafnode/config, there is plenty of examples, but everything shinks downs to:

 server = news.gmane.org

 server = news.eternal-september.org
 username = myname
 password = mypassword

 server = news.my-provider.org

That's all :-)