Skip to content
An HTTP server written in POSIX shell script
Ruby
Latest commit 76ce37f Feb 22, 2010 @singpolyma Routing helper
Failed to load latest commit information.
modules Just accept JSON, also h() Feb 22, 2010
tools Routing helper Feb 22, 2010
COPYING Initial commit Jan 26, 2010
README Support for calling from inetd Jan 26, 2010
shttpd mktemp -t is good for you Jan 27, 2010

README

= shttpd =

shttpd is an HTTP server written entirely in POSIX shell script.

== Why? ==

Because you can!  Also, there are some real advantages:

* Compact, understandable codebase
* Trivial to configure/extend
* Run from anywhere and just start serving!
* Get lots of nice debug output in your terminal

== Running ==

To start an instance of the server just run:

./shttpd -p <port> -C <document root> -m modules/dirlist.mod:modules/static.mod

You can list whatever modules you want to load (order matters!) but this will get you started.

== Extending ==

Writing modules is easy!  Look a the ones in the modules directory for examples.

Basically, you write some shell code that gets sourced into the server, and manipulate the environment according to your needs.

== Deploying ==

Each instance of the server can only handle one connection, so you will need some other server to round-robin proxy.

You may also configure inetd to call the server with -i
Something went wrong with that request. Please try again.