Gentoo port of the week: slrn

NIL## Introduction

Hello,

Today I will speak about **slrn**, a nntp client. I'm using it to

fetch mailing lists I'm following (without necesserarly subscribing to

them) and read it offline. I'll speak about using nntp to read

news-groups, I'm not sure but in a more general way nntp is used to

access *usenet*. I'm not sure to know what *usenet* is, so we will

stick here by connecting to mailing-list archives offered by

through nntp).

Long story short, recently I moved and now I have a very poor DSL

connection. Plus I'm often moving by train with nearly no 4G/LTE

support during the trip. I'm going to write about getting things done

offline and about reducing bandwith usage. This is a really

interesting topic in our hyper-connected world.

So, back to **slrn**, I want to be able to fetch lot of news and read

it later. Every nntp client I tried were getting the articles list (in

nntp, an article = a mail, a forum = mailing list) and then it

download each article when we want to read it. Some can cache the

result when you fetch an article, so if you want to read it later it

is already fetched. While **slrn** doesn't support caching at all, it

comes with the utility **slrnpull** which will create a local copy of

forums you want, and **slrn** can be configured to fetch data from

there. slrnpull need to be configured to tell it what to fetch, what

to keep etc... and a cron will start it sometimes to fetch the new

articles.

Configuration

The following configuration is made to be simple to use, it runs with

your regular user. This is for gentoo, maybe some another system would

provide a dedicated user and everything pre-configured.

Create the folder for **slrnpull** and change the owner:

$ sudo mkdir /var/spool/slrnpull

$ sudo chown user /var/spool/slrnpull

use. So edit **/var/spool/slrnpull/slrnpull.conf** as you want, my

configuration file is following.

default 200 45 0

# indicates a default value of 20 articles to be retrieved from the server and

# that such an article will expire after 14 days.

gmane.network.gopher.general

gmane.os.freebsd.questions

gmane.os.freebsd.devel.ports

gmane.os.openbsd.misc

gmane.os.openbsd.ports

gmane.os.openbsd.bugs

The client **slrn** needs to be configured to find the informations from slrnpull.

File *~/.slrnrc*:

set hostname "your.hostname.domain"

set spool_inn_root "/var/spool/slrnpull"

set spool_root "/var/spool/slrnpull/news"

set spool_nov_root "/var/spool/slrnpull/news"

set read_active 1

set use_slrnpull 1

set post_object "slrnpull"

set server_object "spool"

Add this to your crontab to fetch news once per hour (at HH:00 minutes):

0 * * * * NNTPSERVER=news.gmane.org slrnpull -d /var/spool/slrnpull/

Now, just type **slrn** and enjoy.

Cheat Sheet

Quick cheat sheet for using **slrn**, there is a help using "?" but it

is not very easy to understand at first.

+ h : hide/display the article view

+ space : scroll to next page in the article, go to next at the end

+ enter : scroll one line

+ tab : scroll to the end of quotes

+ c : mark all as read

Tips

+ when a forum is empty, it is not shown by default

I found that a **slrnconf** software provide a GUI to configure slrn

exists, I didn't try it.

Going further

It seems nntp clients supports a score file that can mark interesting

articles using user defined rules.

nntp protocol allow to submit articles (reply or new thread) but I

have no idea how it works. Someone told me to forget about this and

use mails to mailing-lists when it is possible.

generic way. It is a nntp server that one would use locally as a proxy

to nntp servers. It will mirror forums you want and serve it back

through nntp, allowing you to use any nntp client (slrnpull enforces

the use of slrn). **leafnode** seems old, a v2 is still in development

but seems rather inactive. Leafnode is old and complicated, I wanted

something KISS (Keep It Simple Stupid) and it is not.

Others clients you may want to try

nntp console client

+ gnus (in emacs)

+ wanderlust (in emacs too)

+ alpine

GUI client

+ pan (may be able to download, but I failed using it)

+ seamonkey (the whole mozilla suite supports nntp)