Repository navigation
Home
NewsCache is a caching server for Usenet news (NNTP). To newsreaders it looks like an ordinary news server; to the upstream news server it looks like a newsreader. It stores only what at least one client has asked for: when a client requests an article, NewsCache answers from its spool if it can, and otherwise fetches the article from the upstream server, stores it and passes it on.
Typical uses:
- A cache in front of a news server, to take load off it.
- A small "leaf node" that shows clients a full feed but stores only the groups and articles people actually read.
- One server for several upstreams: each newsgroup can be read from, and posted to, a different upstream server; clients configure just one.
-
Offline reading, with groups prefetched by
updatenews.
NewsCache is free software under the GNU General Public License, version 2 or later.
The current release is 1.3.22 (2026-10-23). Releases, with tarballs and checksums: https://github.com/go-while/NewsCache/releases.
The next release is in preparation on main, mostly bug fixes. The main
changes (see the Unreleased section of
NEWS and the pending
changes entries):
-
Reply codes per RFC 3977 and RFC 4643:
481for a failed login (was502),201when the client may not post,403instead of503for upstream failures and internal faults. See NNTP Commands and Access and Authentication. -
New options:
ReadTimeout,MaxArticleSize,MaxPostSize;NiceCleanis used now, and numeric options are checked. See Configuration. -
Client TLS:
TLSListenTooffers implicit TLS directly when built with GnuTLS. It is off unless configured; see TLS for Clients. -
Security fixes:
LIST ACTIVEwith a wildmat andLIST NEWSGROUPSshowed groups outside the client'sList; the log file and the pid file were written through symbolic links;newscachecleanfollowed symbolic links in the spool; withstarttls, the upstream password could go out before STARTTLS; a stack overflow with long group patterns. - Robustness: an upstream server that stops answering no longer hangs sessions; SIGTERM ends sessions within about a second, without reconnecting upstream; big article files can't be left cut off by a crash; endless lines and articles from servers and clients are cut off by limits.
- Build: NewsCache builds on Debian GNU/Hurd.
| Page | What it covers |
|---|---|
| Installation | Building from a tarball or git, Debian/Ubuntu package, Fedora, container image, systemd and inetd |
| Configuration | A minimal config, the global options, NewsServerList
|
| Access and Authentication |
AccessList, rights, logins (auth file, PAM, unix) |
| Upstream Servers and TLS | Several upstream servers, group patterns, TLS and certificates |
| TLS for Clients | NNTP over TLS for newsreaders (port 563, from 1.3.23), certificates, AuthRequiresTLS
|
| Caching and Large Groups | How the cache works, large groups, the message-ID history, cleaning the spool, prefetching |
| NNTP Commands | The commands NewsCache answers, and how |
| Troubleshooting | Logs, checking the config, common problems, reporting bugs |
| Development | Tests, CI, branches, how changes and releases are made |
The full reference is in the manual pages
(newscache.conf(5),
newscache(8),
updatenews(8),
newscacheclean(8))
and the Texinfo manual
doc/NewsCache.texi
(installed as info NewsCache). The annotated sample configuration is
etc/newscache.conf-dist.
| Years | Who | What |
|---|---|---|
| 1995–2001 | Thomas Gschwind, TU Wien | Idea and prototype as a master's thesis; NewsCache 0.99.x |
| 2000–2008 | Herbert Straub | 1.1.x and 1.2rc6 (2004): access lists with PAM, newscacheclean
|
| 2008–2024 | Christof Meerwald | The 1.3 line in Subversion: IPv6, TLS with GnuTLS, systemd |
| since 2026 | this repository | Maintained here since 2026-10-18, with Christof Meerwald's agreement; releases from 1.3.17 on |
This repository is now the upstream. It holds the complete history:
Herbert Straub's GitHub import of 1.2rc6, with Christof Meerwald's
Subversion history on top (branch trunk). Details and the original
websites are in the
README.
- Bugs and questions: https://github.com/go-while/NewsCache/issues
- Before reporting, see Troubleshooting.
- Security vulnerabilities: report them privately, as described in SECURITY.md, not in the issues.
NewsCache is free software under the GNU General Public License, version 2 or (at your option) any later version — see COPYING. © 1996–1998 Thomas Gschwind, © 2001–2004 Herbert Straub, © 2008–2024 Christof Meerwald.