Title: Gentoo port of the week: slrn | |
Author: Solène | |
Date: 08 November 2017 | |
Tags: gentoo portoftheweek | |
Description: | |
## 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 | |
**gmane.org** (which offers access to mailing-lists and newsgroups | |
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 | |
**slrnpull** configuration file must be placed in the folder it will | |
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.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. | |
**leafnode** daemon can be used instead of **slrnpull** in a more | |
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) | |