What is s-news?
S-news is a simple news server for hosts with one or two users.
It is intended to supply spool and offline news reading for a configured
selection of newsgroups.
S-news does the minimum required to maintain a conventional news
spool and makes use of
suck for news transport.
Because there was no existing news servers that fit my needs.
My requirements are:
- Articles must be provided in the standard /var/spool/news format
with .overview files as well as via NNTP.
- The server needs to be fed by pulling news from any number of
external news servers without using the NNTP NEWNEWS command.
- The nntpd must be able to run from inetd.
- The news server must not try and do anything silly like mirror
article numbers from the server the article are pulled from, fetch active
or newsgroups files or fetch any groups I've not explicitly told it to.
This only left a combination of suck and c-news.
C-news is not really appropriate for a small leaf site.
Writing s-news looked as if it would be a lot less trouble than
getting c-news installed and configured.
- It provides a NNTP service and /var/spool/news for local news
- It supports any number of incoming news feeds via NNTP either by
IHAVE or suck(1).
- Outgoing news feeds are made from locally posted articles and reposted
remotely by rpost(1).
- It expires articles by how long they have been in the spool.
- It has NNTP access configuration to allow and deny read, post and
transfer access to remote hosts.
- It is very lightweight and relatively easy to configure.
The suck package includes suck(1) and rpost(1).
- No control messages are processed.
- It cannot feed another site.
- It expects the article reposting to handle newsgroup moderation.
- Outgoing articles only go to the first matching host in the newsfeeds file.
- It uses O_EXECL file locking witch is documented as being broken on NFS.
To compile s-news you will need a UNIX like OS with dirent.
You will also need the gdbm library.
For a fully functioning s-news suck is required.