Version 30 of DustMote with Snit

Updated 2016-02-20 09:35:15 by dbohdan

DustMote-Snit is an extended version of the DustMote web server wrapped in a Snit type. It is developed as part of Tclssg.

It adds the following new features to DustMote:

  • Basic logging (to stdout);
  • Content-Type;
  • Custom route handlers.
  • Directory listings;
  • Every server being a Snit object, which means you can have multiple servers running at a time;
  • Path jailing (albeit not seriously tested for security);
  • Content-Range (resumed transfers);
  • TLS support;
  • Command line options when run as the main script;
  • Server reloading when run as the main script.

Known bugs:

  • Unicode URLs do not work;
  • Canceled transfers are not logged correctly.

Usage (from the command line)

usage: ./dustmote-snit.tcl -root value ?-host localhost? ?-port 8080? ?-default index.html? ?-verbose 1? ?-dirlists 1? ?-certfile public.pem? ?-keyfile private.pem? ?-tls 0?

You can use the following shell command to generate a set of temporary SSL certificates with OpenSSL:

openssl req -x509 -newkey rsa:2048 -nodes -keyout private.pem -out public.pem -subj '/CN=localhost' -days 1

Code

See https://github.com/tclssg/tclssg/tree/master/lib/dustmote-snit/ .

Discussion

See also