| 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) | |