[ANN] niouz 0.5 (simple NNTP server)
I'm releasing version 0.5 of niouz, a very simple, standalone NNTP
server in pure Ruby. It does not offer all the features of standard
NNTP servers -- most notably, it can't communicate with other servers,
but only with clients -- but it is orders of magnitudes simpler to
deploy: one Ruby file, no dependencies outside Ruby 1.8, very simple
It's designed to provide a simple and easy way to quickly set up
private newsgroups for small groups of people. It generally does the
Simplest Thing That Can Possibly Work, and would probably not scale
beyond a few dozen users and a few thousands messages. On the other
hand, the resulting code is quite small (about 600 lines including
comments), easy to understand and to modify/extend.
It's stable under the very low loads it's been tested until now, but I
can't make any claim beyond that.
- Homepage: http://pcdavid.net/software/niouz/
- Direct download: http://pcdavid.net/software/niouz/niouz.rb
- Current version and status: 0.5, beta
- License: GPL
- One file, no dependencies outside Ruby 1.8, very easy to setup.
- Small (less than 600 lines), simple code, easy to customize/extend.
- Generally does The Simplest Thing That Can Possibly Work.
- (Too) simple article "database" format; easy to hack if necessary.
- Implements all the basic NTTP commands, plus some extensions (some
partially, but well enough for most clients).
- Works with all major clients.
- Never forgets/expires articles.
- Lots of room for expansion. :-)
- Does not interact with other NNTP servers (by design).
- Needs to be root to run on standard NNTP port 119.
- No doc or configuration capabilities. If you need those, read/edit the code!
- Probably does not scale.
- Stays in memory (no inetd mode).
- Has only been tested with with very low loads, so there are probably
- No logging.
- Only tested under Linux.
- Some relatively standard NNTP extensions are not supported, most
importantly article cancellation and authentification.
- Yes, there are lots of these. There's a reason it called 0.5...
I don't have enough time to continue niouz development. Although there
are lots of things which could be improved and added, it has reached
the point where it solves my initial problem well enough.
If someone is interested in taking over the project, please contact
me. Given the simplicity of the implementation and (I hope) relative
readability of the code, I think it would be a good project for
someone new to Ruby but willing to get involved.
Pierre-Charles David (pcdavid <at> tiscali <dot> fr)
Computer Science PhD Student, École des Mines de Nantes, France
|All times are GMT. The time now is 01:43 PM.|
Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.