----------------------------------------
       net news on cosmic.voyage
       April 26th, 2019
       ----------------------------------------
       
       Thanks to the hard work of pople like dbucklin, deepend and
       vilmibm, we now have net news (read: USENET without the spam)
       installed and working on cosmic.voyage AND it peers with
       news.tildeverse.org and tilde.team! This is huge, folks.
       
       To run it on cosmic, just type 'news'. I made a little wrapper
       around slrn that handles creating a configuration file and
       downloading group descriptions. You can also run it from 'menu'.
       But that's not what I want to talk about on this phlog. Instead,
       I'm going to _try_ to capture all the stuff I did to get it
       working. INN2 is not exactly intuitive to set up.
       
       First, the caveats:
       
       - This install is on Ubuntu. Your milage may vary.
       - Peering is working for NEW messages, but we don't have historics
         syncing across systems yet. It probably has something to do with
         control messages.
       - Peering requires both parties to set this up. You can't just set
         up your system to watch another. Each host must explicitly send
         to another AND listen for incoming messages from other specific
         hosts.
       - You must have created the local groups on your system that you
         want to receive messages. They're not created automatically.
         Again, this is probably a function of control messages that we
         haven't figured out yet.
       
       Now, configuration:
       
       - Install inn2. In Ubuntu it's just apt install inn2. On openbsd
         you will need to use the --without-openssl switch or it will die
         on make.
       
       - Make sure that the 'news' user is created and all the folder
         paths listed in inn2's INSTALL file exist. If doing this via apt
         you should be good to go.
       
       - Files for configuration are mostly in /etc/news/ with one
         exception in /var/lib/news which we'll deal with at the end. If
         you're not on Ubuntu/Debian, the paths may be different. See
         INSTALL for a mapping by system.
       
       - /etc/news/inn.conf  # this is the main config
       
         Changes:
       
         organization: this is a site description in quotes
         pathhost, domain, server: all should be your fqdn
       
       - /etc/news/incoming.conf  # where to listen for new incoming data
       
         At the bottom, follow this convention:
       
         peer ME {
           hostname:         "localhost, 127.0.0.1, ::1"
         }
       
         peer tildeverse {
           hostname:         "news.tildeverse.org"
         }
       
         peer team {
           hostname:         "tilde.team"
         }
       
       - /etc/news/innfeed.conf  # where are we sending our data
       
         Define peers here. ip-name is the only required field:
       
         peer team {
             ip-name: tilde.team
             initial-connections: 2
             max-connections: 5
         }
       
         peer tildeverse
         {
             ip-name: news.tildeverse.org
             initial-connections: 2
             max-connections: 5
         }
       
       - /etc/news/newsfeeds   # defines what we send to whom
       
         This is the most complex file and hardest to grok. Note the
         !cosmic.* lines in the peers. That keeps cosmic's local groups
         (which start with cosmic.) from sending to remotes. Change it up
         for your own system.
       
         innfeed!\
               :!*\
               :Tc,Wnm*\
               :/usr/lib/news/bin/innfeed
       
         tildeverse\
               :*,!local,!local.*,!cosmic.*,!control,!control.*,!junk/!local\
               :Af,Ap,C20,G12,U5,<32768,Tm\
               :innfeed!
       
         team\
               :*,!local,!local.*,!cosmic.*,!control,!control.*,!junk/!local\
               :Af,Ap,C20,G12,U5,<32768,Tm\
               :innfeed!
       
       - /etc/news/server  # should be your fqdn
       
         cosmic.voyage
       
       - /etc/news/nntpsend.ctl  # actually sends the data!
       
         # host : fqdn : size limit : flags
         tildeverse:news.tildeverse.org:2m:-t 180
         team:tilde.team:2m:-t 180
       
       - /etc/news/readers.conf  # for local stuff
       
         newsgroups filters hide the junk and control folders from your
         local users. They don't need to see that junk.
       
         auth "localhost" {
             hosts: "localhost, 127.0.0.1, ::1, stdin"
             default: "<localhost>"
         }
       
         access "localhost" {
           users: "<localhost>"
           newsgroups: "*,!junk,!control,!control.*"
           access: RPA
         }
       
       - /var/lib/news/newsgroups  # all groups, local and remote
       
         tabs separate the group name and the description. The number of
         tabs needed changes based on the length of the group name. If
         you line things up nicely with tabs you probably counted right.
         These names appear in the newsreader clients.
       
         NOTE: before you add them to this file you need to actually create
         the groups using: sudo ctlinnd newgroup <groupname>
       
         control                 Various control messages (no posting)
         control.cancel          Cancel messages (no posting)
         control.checkgroups     Hierarchy check control messages (no posting)
         control.newgroup        Newsgroup creation control messages (no posting)
         control.rmgroup         Newsgroup removal control messages (no posting)
         junk                    Unfiled articles (no posting)
         local.general           Local general group
         local.test              Local test group
         cosmic.general          General Discussion
         cosmic.storyhelp        Help with storylines and characters
         cosmic.worldbuilding    Expanding the universe
         tilde.cosmic            Tildeverse chat about cosmic.voyage
         tilde.meta
         tilde.services.uucp
         tilde.ascii
         tilde.food+drink
         tilde.javascript
         tilde.meetups
         tilde.nsfw
         tilde.php
         tilde.python
         tilde.poetry
         tilde.projects
         tilde.services
         tilde.team
       
       
       - OPEN PORT 119!!!!!
       
         sudo ufw allow 119
       
       
       - Restart innd
       
         sudo ctlinnd xexec innd
       
       
       I think that's it. Remember, your peer will need to set all this
       up to point back at you or nothing will share.
       
       If we figure out the control group stuff I'll make a follow-up
       post.