Menu

Tree [8e1fe2] default tip / news /
 History

Read Only access


File Date Author Commit
 auth 2008-04-04 Michael Demmer Michael Demmer [a24b76] remove .cvsignore files
 docs 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 logs 2008-04-04 Michael Demmer Michael Demmer [a24b76] remove .cvsignore files
 storage 2008-04-04 Michael Demmer Michael Demmer [a24b76] remove .cvsignore files
 INSTALL 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 LICENSE 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 README 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 TODO 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 extract.awk 2008-04-04 Michael Demmer Michael Demmer [710caf] I'm not sure what that last snapshot was based ...
 feedparser.py 2008-04-04 Michael Demmer Michael Demmer [710caf] I'm not sure what that last snapshot was based ...
 inject.sh 2008-04-04 Michael Demmer Michael Demmer [710caf] I'm not sure what that last snapshot was based ...
 papercut.py 2008-04-04 Michael Demmer Michael Demmer [710caf] I'm not sure what that last snapshot was based ...
 papercut_cache.py 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 portable_locker.py 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion
 psnews.py 2008-04-04 Michael Demmer Michael Demmer [710caf] I'm not sure what that last snapshot was based ...
 rss_publisher.py 2008-05-08 Michael Demmer Michael Demmer [1209c7] add rss publisher used for session paper
 rss_pull.py 2008-04-04 Michael Demmer Michael Demmer [710caf] I'm not sure what that last snapshot was based ...
 settings.py 2008-03-28 Michael Demmer Michael Demmer [f78b1b] Import snapshot of API sources from Subversion

Read Me

--------------------
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@papercut.org)
MongoDB Logo MongoDB
Gen AI apps are built with MongoDB Atlas
Atlas offers built-in vector search and global availability across 125+ regions. Start building AI apps faster, all in one place.