Yuno (2005-08-07)

HTTP notepad.


   Yuno is a HTTP server that is similar to some bulletin boards.
   Takes a single command line argument (port number) to start, or
   listens on port 80 if unspecified.

   After starting, these actions are available by pressing the

   [post]   Post message using proportional font.  Consecutive spaces
            will be shown as a single space, line breaks are
            converted.  This is suitable for posting plain text notes.

   [fixed]  Post message using fixed space font.  All spacings are
            preserved.  This is suitable for posting program listings.

   [raw]    Post message without any processing (not even converting
            <>& to HTML entities).  This is suitable for posting HTML
            formatted text.

   [reload] Reload page, getting new messages posted from another


   Yuno is not meant to be used to share large amount of data.  Number
   of bytes read from HTTP request is limited at compile-time to be
   128K bytes, which means the maximum message size per post can be as
   little as ~14K characters.  There is no post count limit.

   Yuno is not meant to be used to share sensitive data.  Cross-site
   scripting and denial of service are trivial to perform, and there
   is no on-disk data persistence (everything is in memory).

   The character set is hardcoded to be Shift_JIS.  Changing the
   character encoding is pretty easy and it's left as exercise for the


   Yuno is written in Perl.  For our Perl-less friends, a C version is
   included, which is used to produce the Win32 executable.

   C version is functionally equivalent to the Perl version, except:
    - Spawns threads instead of forking (can't fork on windows).
    - Track changes using shared memory instead of pipes (might as
      well, since we have threads instead of processes).
    - More memory-efficient overall.

   ... the kind of benefits you get when you have to write 3 times as
   much code ^_^;


   A long solution to a small problem I have, turns out to be very
   useful ^_^;

   Template based on Yuno from Hidamari Sketch.

-- -