[gopher] White Mesa node-gopher server 0.1.0 released

Bob Cunnings bob.cunnings at gmail.com
Sat Feb 1 17:43:03 UTC 2014


Hi,

'node-gopher' is an RFC 1436 gopher server implemented as a node.js app
including a CGI facility, logging in Common Log format with rotation,
gophermap support, and more. It runs on Linux and Windows. Of course
node.js must be installed on the host. Here are links to a README file and
the source tarball:

http://www.whitemesa.net/node-gopher/README.txt
http://www.whitemesa.net/node-gopher/node-gopher-0.1.0.tgz

or better yet, get them from the main menu of a running instance of
node-gopher:

gopher://whitemesa.net:7070/

or the original White Mesa 'Purple Sage' gopher server

gopher://whitemesa.net/

Stress testing with Apache JMeter indicates that performance is very
robust. Compared to my multi-threaded reference server (written in C++,
running as a Windows service) the node server, running on the same host, is
as fast or faster handling file transfers (large or small) under heavy
load. However, it's not as fast processing gophermaps or directory listings
(by a factor of 3). Maybe my javascript code for these processing tasks
needs refinement. Python script based dynamic content works just fine using
the node.js facilities to implement CGI (look on the main menu of the White
Mesa gopher server at port 7070 for current 'space weather' info delivered
this way). I also notice that the node.js server generally uses a lot more
memory than the native C++ service.

Anyway, what started out as a node.js prototype service project took on a
life of its own and I thought I'd put the source out there in case someone
can make use of it. The server is easy to set up on Windows or Linux; just
unpack the tarball, tweak the config file as needed, open a terminal window
and invoke node: 'node server.js'.The README covers basic features and
config file stuff and details can be studied by inspecting the source code.
I'm no node.js expert so I'm sure there is room for improvement. The
structure of a node.js application may seem strange at first, with its
event driven, non blocking I/O model. You can read more at nodejs.org.

Comments and bug reports are welcome.

Cheers,

Bob NW8L
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/gopher-project/attachments/20140201/bfbec4f6/attachment.html>


More information about the Gopher-Project mailing list