A program to simplify the HTTP browsing of newsgroups.
Quentin Stafford-Fraser

Frequently Asked NEWSLIST Questions


Most Web browsers allow the user to read usenet newsgroup articles by specifying the group name in a URL. eg 'news:comp.answers'.

To browse through many groups, though, (and there are several thousand of them) you really need a page or pages containing links to all the groups. There are some good ones out there, for example,

is the standard one at CERN, but it only shows the groups available there, which may be rather different from those available on your machine. Groups which are local to your organisation, for example, will not appear. Some browsers now have a facility to list all the locally available newsgroups, but not all do. Also, if you're on a slow link, it may take a while to download the group names to your machine.

Newslist is a program which creates a hierarchy of pages for you based on the groups available from YOUR server. You should be able to see some sample Newslist output by looking at

Subjects which have just a few sub-groups are listed on the same page while parts of the hierarchy with many groups in them (like 'comp') appear on separate pages. You can set the threshold at which this occurs.

Descriptions of the newsgroups can be added to the pages by giving Newslist a file with one group per line. eg: Articles about foo Programming in 'bar' and related languages

A suitable list detailing most groups can be found at in the file newsgroups.gz. You could edit it to add information about local groups if required.

Getting Newslist

Newslist is written in Python - a splendid interpreted object-oriented language which I suggest you get right now from, if you haven't already got it. Once you have Python, Newslist consists of a single source file:

The source for newslist

or you can get it, with this page, in a gzipped tar file. (6.5K)

Make sure you read the information at the beginning of the program source and configure the variables before running. If you have an earlier version, you might like to look at the change history.

In addition to Python, you need:

  • An NNTP-based news feed (you need this to be able to read news at all).
  • A directory in which to put the pages.

I tend to run newslist as a cron job each night, and with the '-a' option once a week.

The programming is not very beautiful, but it works! It comes with no warranty, express or implied, but with the hope that some others may find it useful. Quite a few people seem to!

Comments, improvements & suggestions welcomed.

Quentin Stafford-Fraser