=encoding utf8
=head1 Welcome to the InterNetNews project!
=head2 INN 2.8
Our C
This code is under active development and may or may not be stable at any given time. Contributions and bug reports are welcome and encouraged.
This work is sponsored by Internet Systems Consortium.
The official homepage of the project is Lhttps://www.isc.org/othersoftware/.
You'll also find very useful information about INN on L<Russ Allbery's web site|https://www.eyrie.org/~eagle/software/inn/>.
Please see:
=over 4
=item *
L<CHECKLIST|https://www.eyrie.org/~eagle/software/inn/docs/checklist.html> for a quick overview of all the installation steps and pointers to documentation,
=item *
L<INSTALL|https://www.eyrie.org/~eagle/software/inn/docs/install.html> for full installation instructions,
=item *
L<FAQ|https://www.eyrie.org/~eagle/faqs/inn.html> for INN FAQ,
=item *
L<NEWS|https://www.eyrie.org/~eagle/software/inn/docs/news.html> for what's changed from the previous release,
=item *
and L<LICENSE|https://www.eyrie.org/~eagle/software/inn/docs/license.html> for the copyright, license, and distribution terms.
=back
These files can also be found in the F
=head1 What is INN?
INN (InterNetNews), originally written by Rich Salz, is a very full-featured and extremely flexible and configurable Usenet / Netnews news server. For a complete description of the protocols behind Usenet and Netnews, see S<RFC 3977> (NNTP), S<RFC 4642> updated by S<RFC 8143> (TLS/NNTP), S<RFC 4643> (NNTP authentication), S<RFC 4644> (streaming NNTP feeds), S<RFC 5536> (USEFOR), S<RFC 5537> (USEPRO), S<RFC 6048> (NNTP LIST additions), S<RFC 8054> (NNTP compression) and S<RFC 8315> (Cancel-Lock) or their replacements.
In brief, Netnews is a set of protocols for exchanging messages between a decentralized network of news servers. News articles are organized into newsgroups, which are themselves organized into hierarchies. Each individual news server stores locally all articles it has received for a given newsgroup, making access to stored articles extremely fast. Netnews does not require any central server; instead, each news server passes along articles it receives to all of the news servers it peers with, those servers pass the articles along to their peers, and so on, resulting in "flood fill" propagation of news articles.
A news server performs three basic functions: it accepts articles from other servers and stores them on disk, sends articles it has received out to other servers, and offers stored news articles to readers on demand. It additionally has to perform some periodic maintenance tasks, such as deleting older articles to make room for new ones.
Originally, a news server would just store all of the news articles it had received in a file system. Users could then read news by reading the article files on disk (or more commonly using news reading software that did this efficiently). These days, news servers are almost always stand-alone systems and news reading is supported via network connections. A user who wants to read a newsgroup opens that newsgroup in their newsreader software, which opens a network connection to the news server and sends requests for articles and related information. The protocol that a newsreader uses to talk to a news server and that a news server uses to talk to another news server over TCP/IP is called NNTP (Network News Transport Protocol).
INN supports accepting articles via either NNTP connections or via UUCP.
B
The part of INN that handles connections from newsreaders is B
Also included in INN are a wide variety of supporting programs to handle periodic maintenance and recovery from crashes, process special control messages, maintain the list of active newsgroups, and generate and record a staggering variety of statistics and summary information on the usage and performance of the server.
INN also supports an extremely powerful filtering system that allows the server administrator to reject unwanted articles (such as spam and other abuses of Usenet).
INN is free software, supported by Internet Systems Consortium and volunteers around the world. See L<"Supporting the INN Effort"> below.
=head1 Prerequisites
Compiling INN requires an S
INN uses GNU B
S<Perl 5.8.0> or later is required to build INN, run several subsystems, and use the embedded Perl filtering and authentication hook support (which is highly recommended; some excellent spam filters have been written for INN). Depending on what language you want to write your filters and authentication hooks in, you may also want to install S<Python 2.3.0> or later, or S<Python 3.3.0> or later.
For support for authenticated control messages, you will need either PGP
or GnuPG, the latter being recommended. See F
For the C
=head1 Getting Started
A news server can be a fairly complicated piece of software to set up just because of the wide variety of pieces that have to be configured (who is authorized to read from the server, what newsgroups it carries, and how the articles are stored on disk at a bare minimum, and if the server isn't completely stand-alone S<-- and> very few servers S<are --> both incoming and outgoing feeds have to be set up and tested). Be prepared to take some time to understand what's going on and how all the pieces fit together. If you have any specific suggestions for documentation, or comments about things that are unclear, please send them to the INN maintainers (see L<"Reporting Bugs"> below).
=head2 Download
Source code tarballs of the official releases can be downloaded from Lhttps://downloads.isc.org/isc/inn/. The InterNetNews project does not distribute releases in binary form. Yet, precompiled versions may exist on your operating system.
When installing a new INN server, you may wish to download the latest snapshot of the stable branch rather than the last official release, so that to pick up possible bug fixes.
=head2 Build and Install
See L<INSTALL|https://www.eyrie.org/~eagle/software/inn/docs/install.html> for step-by-step instructions for setting up and configuring a news server.
If you want to create a Docker image, you can find examples of standard local Docker containers or GitHub Actions services in projects like L<apt-get-inn2-docker|https://github.com/cclauss/apt-get-inn2-docker> or L<inn-docker|https://github.com/greenbender/inn-docker>.
=head2 Documentation
INN also comes with a very complete set of man pages; there is a man page for every configuration file and program that comes with INN. (If you find one that doesn't have a man page, that's a bug. Please do report it.) When trying to figure out some specific problem, reading the man pages for all of the configuration files involved is a very good start.
URL: Lhttps://www.eyrie.org/~eagle/software/inn/docs/ (online documentation)
=head1 Reporting Bugs
We're interested in all bug reports. Not just on the programs, but on the documentation too. Please use the GitHub issue tracker to send such bug reports, or alternatively send them to
inn-workers@lists.isc.org
(patches are certainly welcome, see below). Even if you post to Usenet, please CC the above address.
If you have general "how do I do this" questions or problems configuring your server that you don't believe are due to a bug in INN, you should post them to news.software.nntp. A lot of experienced INN users, including several of the INN maintainers, read that newsgroup regularly. Please don't send general questions to the above addresses; those addresses are specifically for INN, and the INN maintainers usually won't have time to answer general questions.
=head1 Testing and Development
=head2 Source Code
INN is maintained using the Git version control system. The official InterNetNews Git repository is located at Lhttps://github.com/InterNetNews/inn. A local copy of the current development source can be obtained by cloning it using a Git client:
git clone https://github.com/InterNetNews/inn.git
You can also download L<daily snapshots|https://archives.eyrie.org/software/inn/snapshots/> produced only if the current code compiles and passes the test suite, so they have undergone at least some basic validation, although they've not been tested by a human.
=head2 Contributing Code
If you have a patch or a utility that you'd like to be considered for inclusion into INN, please make a GitHub pull request, or alternatively mail it to
inn-workers@lists.isc.org
in the body of the message (not as an attachment because the mailing-list might strip it), or put it on a webpage and send a link. Patches included with a bug report as described above should follow the same procedure.
Please submit all patches against the current main branch, not against a stable release. The development version of INN is often much different than the last stable release.
Also please take a look at L<HACKING|https://www.eyrie.org/~eagle/software/inn/docs/hacking.html> for information about development and coding style.
Have fun!
=head1 Mailing Lists
There are various INN-related mailing lists you can join or send messages to if you like. Some of them you must be a member of before you can send mail to them (thank the spammers for that policy), and one of them is read-only (no postings allowed).
=over 8
=item inn-announce@lists.isc.org
Where announcements about INN are sent (only maintainers may post).
URL: Lhttps://lists.isc.org/mailman/listinfo/inn-announce
=item inn-workers@lists.isc.org
Discussion of INN development. If you prefer not to use GitHub to create an issue or a pull request, it is also where to send bug reports and patches for consideration for inclusion into INN (postings by members only). If you're an INN expert and have the time to help out other users, we encourage you to join this mailing list to answer questions. (You may also want to read the newsgroup news.software.nntp, which gets a lot of INN-related questions.)
URL: Lhttps://lists.isc.org/mailman/listinfo/inn-workers
=item inn-committers@lists.isc.org
Git commit messages for INN are sent to this list (only the automated messages are sent here, no regular posting).
URL: Lhttps://lists.isc.org/mailman/listinfo/inn-committers
=item inn-bugs@lists.isc.org
This list used to receive Trac issues for INN, before the migration to GitHub (only the automated messages were sent here, no regular posting). Bug reports should be sent to the inn-workers mailing list, or a GitHub issue created.
URL: Lhttps://lists.isc.org/mailman/listinfo/inn-bugs
=back
To join these lists, send a subscription request to the C<-request> address. The addresses for the above lists are:
inn-announce-request@lists.isc.org inn-workers-request@lists.isc.org inn-committers-request@lists.isc.org inn-bugs-request@lists.isc.org
You can alternatively join them from the subscription form in their public web pages.
=head1 Who's Responsible / Who to Thank
See L<CONTRIBUTORS|https://www.eyrie.org/~eagle/software/inn/docs/contributors.html> for a long list of past contributors as well as people from the inn-workers mailing list who have dedicated a lot of time and effort to getting this new version together. They deserve a big round of applause. They've certainly got our thanks.
This product includes software developed by UUNET Technologies, Inc. and by the University of California, Berkeley and its contributors.
Last, but certainly not least, Rich Salz, the original author of INN deserves a lion's share of the credit for writing INN in the first place and making it the most popular news server software on the planet (no NNTP yet to the moon, but we plan to be there first).
=head1 Related Packages
INN users may also be interested in the following software packages that work with INN or are based on it. Please note that none of this software is developed or maintained by ISC; we don't support it and generally can't answer questions about it.
=over 4
=item Cleanfeed
URL: Lhttps://www.mixmin.net/cleanfeed/ (maintained by Steve Crook)
Cleanfeed is an extremely powerful spam filter, probably the most widely used spam filter on Usenet currently. It catches excessive multiposting and a host of other things, and is highly configurable. Note that it requires that INN be built with Perl support (the B<--with-perl> option to configure).
Cleanfeed was originally developed by Jeremy Nixon who maintained it until 1998. Then Marco d'Itri until 2002. Steve Crook has been maintaining it since 2007.
A Python-based variant of Cleanfeed, named PyClean, also exists and can be found at Lhttps://github.com/crooks/PyClean.
=item GUP (Group Update Program)
URL: Lhttps://tracker.debian.org/pkg/gup
GUP provides a way for your peers to update their F
=item innduct
URL: Lhttps://www.chiark.greenend.org.uk/ucgi/~ian/git-manpage/innduct.git/innduct.8 (maintained by Ian Jackson)
A possible replacement for B
=item NewsPortal
URL: Lhttps://gitlab.com/yamo-nntp/newsportal
A PHP-based web news reader that works as a front-end to a regular news server such as INN and lets people read and post without learning a news reader.
NewsPortal was originally written by Florian Amrhein Lhttps://amrhein.eu/newsportal/doc/ and is now maintained by Stéphane Grégoire who notably did a great job fixing a few bugs and adapting it for use on smartphones.
=item PersonalINN
URL: Lhttp://www.ritual.org/summer/pinn/
PersonalINN is a version of INN modified for personal use and with a friendly GUI built on top of it. It is available for NEXTSTEP or OPENSTEP only, unfortunately.
=item suck
URL: Lhttps://github.com/lazarus-pkgs/suck
B
=back
=head1 Supporting the INN Effort
Note that INN is supported by Internet Systems Consortium, and although it is free for use and redistribution and incorporation into vendor products and export and anything else you can think of, it costs money to produce. That money comes from ISPs, hardware and software vendors, companies who make extensive use of the software, and generally kind-hearted folk such as yourself.
Internet Systems Consortium has also commissioned a DHCP server implementation and handles the official support/release of BIND. You can learn more about the ISC's goals and accomplishments from the web page at Lhttps://www.isc.org/.
Russ Allbery
Katsuhiro Kondou
<inn@isc.org>
=cut