This package is a multi-threading netnews reading server. The main class, Nnrpd, can be run as a command-line application to service multiple NNTP readers simultaneously.

You might think this is a dumb idea, since news servers are a performance-critical application and writing one in Java means it will be way too slow. Actually, on heavily loaded news systems this should outperform the standard C nnrpd by large factors, merely due to being multi-threaded and therefore not wasting megabytes of memory on each reader. Of course, a multi-threaded C server would be even faster, but in ten years of NNTP history no one has written one. Writing this one in Java was literally two days work.

Besides the multi-threading there are a couple other interesting aspects of this package. For instance, it's a caching proxy news server as well, letting you read netnews through a firewall with good performance. And news developers will want to take a look at the NewsDb API, which could serve as a model for other netnews backend database API work.

Your best bet for installing this is to fetch the full Acme.tar.gz kit and unpack the whole thing. Then set your CLASSPATH to that directory and try running "java Acme.Nnrpd.Nnrpd -help". You should get a usage message. Note that if you want to run this thing for real, you will have to run it as root so that it can bind to port 119, the standard NNTP port. Don't blame me, I didn't design NNTP to use a privileged port for no good reason.