Papercut NNTP server
Python
Permalink
Failed to load latest commit information.
auth - Changes needed in the storage backend API in order to allow the bac… Aug 1, 2004
cache Second try on the cache system Oct 3, 2002
docs Adding these documents for further reference Dec 14, 2003
logs Adding the default logfile Jan 11, 2002
storage Removing references to papercut.org Aug 11, 2011
util Useful script to monitor a papercut server Jan 25, 2004
.cvsignore Initial revision Jan 10, 2002
INSTALL Fixing the name of the storage sub-directory Jan 25, 2007
LICENSE Adding support for IHAVE (just an error message on this case) and add… Jan 10, 2002
README Removing references to papercut.org Aug 11, 2011
TODO Updating the documentation Sep 19, 2003
papercut.py Fixing a problem on the XGTITLE command (contributed by Juan M. Bello… Mar 5, 2005
papercut_cache.py Comment fix Oct 4, 2002
portable_locker.py
settings.py New 'phpnuke_phpbb_mysql' storage module (contributed by Matthew Trout) Aug 1, 2004

README

--------------------
Papercut NNTP Server
--------------------

Papercut is a news server written in 100% pure Python. It is intended to be 
extensible to the point where people can develop their own plug-ins and by
that integrate the NNTP protocol to their applications.

The server is compliant with most of the RFC0977 standards (when they make sense
and are needed) and implements a lot of RFC1036 and RFC2980 extensions to the
NNTP protocol. It was tested against Netscape News, Mozilla News and tin (under
Solaris) and it works properly.

The original need for this server was to integrate my PHP related web site
forums with an NNTP gateway interface, so people could list and read the 
messages posted to the forums on their favorite News reader. The software on 
this case was Phorum (http://phorum.org) and the site is PHPBrasil.com 
(http://phpbrasil.com). At first it wasn't intended to support message posting,
but it made sense to allow it after seeing how effective the tool was.

The concept of storage modules was created exactly for this. I would create a Python
class to handle the inner-workins of Phorum and MySQL and if I ever wanted to
integrate the server with another type of software, I would just need to write 
a new storage module class.

Anyway, back to the technical praise. Papercut is multi-threaded on Windows
platforms and forking-based on UNIX platforms and should be reasonably fast
(that means basically: 'it's pretty fast, but don't try serving 1000 connection
at a time). The best thing about the application is that it is very simple to
extend it.

Papercut is licensed under the BSD license, which means you can sell it or do
whatever you like with it. However, I ask that if you think Papercut is a good
tool and you made a few enhancements to it or even fixed some bugs, please send
me a patch or something. I will appreciate it :)

-- Joao Prado Maia (jpm@pessoal.org)