An HTTP server written in POSIX shell script
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


= 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