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)