home   resume   weblog  

Logo made by ]d

Papercut NNTP Server

Papercut is a NNTP server written in Python. Its main objective is to integrate existing web based message board software (Phorum is one of the supported ones) with an Usenet front-end. However, its extensibility enables developers to write their own containers for the storage of the Usenet articles (messages). That means that the code is extensible enough that _you_ could write new containers to integrate the news server with other web message board projects or even other ways to store the messages. The server software will work with any cheap web hosting service.

The source code is available freely under the BSD license, which means you can do whatever you like with it. I do welcome any and all contributions to the project :)

Download - Github project

  • Papercut 0.9.13 - released 04-21-2005

    Tons of changes included on this release. Most of the problems reported on the forum should be fixed now. See the changelog for more details.
  • Papercut 0.9.12 - released 02-01-2004

    Changes: Fixed the handling of the HEAD, STAT, LISTGROUP and SLAVE commands to properly comply with the NNTP protocol. The NEWGROUPS command will no longer return the full list of newsgroups when the storage modules are not able to get the creation date of each newsgroup. Also now correctly stripping whitespace from commands only when the client is not posting a new article (patch by Filip Miletic). Added a utility script to help monitor the health of the server.
  • Papercut 0.9.11 - released 01-14-2004

    Changes: Fixed the authentication modules for Phorum (both MySQL and PostgreSQL versions) to check the passwords correctly. Thanks go to Brad Hilton for alerting us of this problem.
  • Papercut 0.9.10 - released 01-04-2004

    Changes: Quite a lot of time since the last release. Tons of fixes were applied to the storage modules and the server itself to correctly support the NNTP RFC. The 'mbox' storage module should be now considered in beta quality. Fixes to the Phorum authentication module to support MD5'ed passwords. Patches were sent by Andreas Wegmann, Matthew Mastracci, Lloyd Zusman, Mikhail Teterin and Lauren Matheson. Thanks, guys!
  • Papercut 0.9.8 - released 04-24-2003

    Changes: Fixed a couple of problems (hopefully the last ones) related to the phpBB storage and authentication modules. The phpBB support should now be considered stable.
  • Papercut 0.9.7 - released 03-31-2003

    Changes: Added a new storage module based in PostgreSQL for Phorum. Lots of fixes to the phpBB storage module and a fix related to the way Mozilla handles multi-line headers.
  • Papercut - released 02-07-2003

    Changes: A few simple bugfixes regarding the handling of the XOVER, XPAT and XHDR commands.
  • Papercut 0.9.6 - released 02-03-2003

    Changes: The server will now dynamically use a forking based socket server in UNIX platforms and a threaded one in Windows platforms. Several fixes were also applied to correct issues with the phpBB storage module (kudos to Patricio Anguita) which should make it somewhat stable.
  • Papercut 0.9.5 - released 12-11-2002

    Changes: The server was changed from a threaded system to a forking based one. This was required so I could implement a way of having user-customizable timeouts for NNTP sessions. By default, the server will kill all connections that don't send any data over the wire for 60 seconds. Since the system was changed to a forking based one, there is now a configuration option to set the maximum number of concurrent connections (it defaults to 20).
  • Papercut 0.9.4 - released 11-11-2002

    Changes: A new caching module was added to the standard distribution, which should improve the performance of the server considerably. Also, more fixes were implemented and applied to the new phpBB storage module (which should still be considered in beta level). Once again Chip McClure was instrumental on providing assistance and help on testing these changes, and that is appreciated.
  • Papercut 0.9.2 - released 09-11-2002

    Changes: A new authentication module for the phpBB storage module was contributed by Chip McClure (thanks a lot, Chip!) and a few fixes to the phpBB storage module were applied as well. This marks the initial support (still considered beta level) for the phpBB software.
  • Papercut 0.9.0 - released 09-09-2002

    Changes: Mostly a lot of testing regarding the NTTP authentication code. The authentication stuff should be pretty much rock solid and it was tested successfully using the following Newsreaders: Mozilla Newsreader, Netscape 4.79 Newsreader, Outlook Express and Knode (KDE's default newsreader).
  • Papercut 0.8.3 - released 07-29-2002

    Changes: A lot of work re-designing the way the various storage modules work and also doing the initial code to support NTTP authentication. More changes are still to come, but this version already serves as a nice initial version with most (if not all) of these features working. New features include a standalone mysql storage module (no web front-end), an authentication module for Phorum and the concept of a 'read-only' / 'read-write' server with password protection.
  • Papercut 0.7.10 - released 03-28-2002

    Changes: Fixed a crash bug related to the new word wrap function used on the PhorumMail routine. Also a fix related to the behavior of the NEXT command when no article has been selected. And to top it off, some more documentation about the backend system for Papercut (i.e. how to create new containers to store the Usenet articles).
  • Papercut 0.7.9 - released 03-26-2002

    Changes: Another small bug slipped through the cracks related to the LIST NEWSGROUPS command and forums/groups that don't have its information properly configured, but it is now fixed. The implementation of the PhorumMail feature of Phorum was re-written and now it sends out a copy of every post if the 'email_list' column on the forum listing table is set.
  • Papercut 0.7.8 - released 03-24-2002

    Changes: More fixes related to the LISTGROUP, XHDR, NEWNEWS and XGTITLE commands. Running Papercut as a 'read-write' server with empty forums used to result in problems when users try to POST new articles, but not anymore ;)
  • Papercut 0.7.7 - released 03-24-2002

    Changes: The responses to the XGTITLE and LIST NEWSGROUPS commands are compliant to the NNTP RFC now. Also, the Phorum backend sends the notification email to the moderators of all forums once a new message is posted through Papercut. The installation procedures changed, so please remember to read the INSTALL file.
  • Papercut 0.7.6 - released 03-23-2002

    Changes: Papercut is now able to be configured as a 'read-only' server (which basically denies any and all message postings) and correctly sets the 'posting allowed' flag on the LIST command responses. Refereces to a specific Phorum database name were removed from the source code. A rather silly mistake on one of the SQL queries was also fixed.
  • Papercut 0.7.4 - released 03-16-2002

    Changes: Papercut now correctly sends the 'Path' header when serving the usenet articles (nothing noticeable, but 'pine' used to complain about this)
  • Papercut 0.7.3 - released 03-06-2002

    Changes: now Papercut only shows messages coming from Phorum that are approved (I would say it's a pretty important fix ;)
  • Papercut 0.7.2 - released 02-12-2002
  • Papercut 0.7.1 - released 02-06-2002
  • Papercut 0.6.9 - released 02-01-2002
  • Papercut 0.6.1 - released 01-22-2002

  • Links of Interest

    • RFC 977 - the original NNTP RFC
    • RFC 1036 - the standard for Usenet message interchanges
    • RFC 2980 - RFC that documents a lot of third-party extensions made on top of RFC 977
    • Draft of the new NNTP Protocol - this is still a draft, but it will probably become the new RFC documenting NNTP

    Joao Prado Maia
    jpm AT pessoal.org