[ANN] niouz 0.5 (simple NNTP server)

Discussion in 'Ruby' started by Pierre-Charles David, Oct 3, 2004.

  1. Hi everybody,

    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
    multithreading issues.
    - 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.

    Happy coding.

    Pierre-Charles David (pcdavid <at> tiscali <dot> fr)
    Computer Science PhD Student, École des Mines de Nantes, France
    Homepage: http://pcdavid.net/
    Pierre-Charles David, Oct 3, 2004
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mike Sampson [MSFT]

    [ANN]: NNTP Server slow downs.

    Mike Sampson [MSFT], Oct 7, 2003, in forum: ASP .Net
    Mike Sampson [MSFT]
    Oct 7, 2003
  2. Mike Sampson [MSFT]

    [ANN]: NNTP Server slow downs.

    Mike Sampson [MSFT], Dec 6, 2003, in forum: ASP .Net
    Mike Sampson [MSFT]
    Dec 6, 2003
  3. Anton Bangratz
    Anton Bangratz
    Jun 4, 2008
  4. Replies:
    Aug 9, 2006
  5. sadie-no-reply

    Posting to nntp newsgroup with Perl (Net::NNTP)

    sadie-no-reply, Mar 4, 2007, in forum: Perl Misc
    Mar 5, 2007

Share This Page