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