<img src="https://fossil.bsdsx.fr/mohawk/logo">
<h1>mohawk - small HTTP server</h1>

mohawk is a small HTTP server initially based on <a href="http://www.acme.com/software/mini_httpd/" target="_blank">mini_httpd</a>. It is heavily based
on <a href="https://www.libevent.org" target="_blank">libevent</a>.

It is not design for performance even if it performs with quite good at this
point. It is design to be lightweight and low footprint.

It implements the following features : 

  *  GET, HEAD, and POST methods
  *  CGI
  *  Basic authentication
  *  since 2.0.21 <a href="http://mdoc.su/-/blacklistd.8" target="_blank">blacklistd (8)</a> support (if available)
  *  Simple mime type support
  *  Trailing-slash redirection
  *  index.html, index.htm, index.cgi
  *  Directory listings
  *  Multihoming / virtual hosting
  *  URL mapping
  *  status page

It also comes with a shell implementation of htpasswd which implements all the
supported password formats supported by the apache version of htpasswd.

Beware that mohawk only support the basic (crypt) authentication currently.

<h2>Changelog 2.1.1</h2>

  *  fix cgi_env (thx Natacha !)
  *  add cgi regression

<h2>Changelog 2.1.0</h2>

  *  fix handle sigchld correctly when dealing with cgi
  *  fix dirlisting with files containing spaces
  *  fix dirlisting with utf8 files names
  *  dirlist is now valid html5
  *  add a default responsive dark/light css for dirlisting
  *  modernize internal code (all Wsign-conversion warning fixed)
  *  support blocklistd
  *  improve robusteness of the code. 
  *  add support for sha256/512 hash to mhtpasswd and remove deprecated hash support

<h2>Bugs</h2>

Version &lt; 2.0.19: segfault when parsing malformed / unescaped url

Version &lt; 2.0.12: coredump when using syslog facility

Version &lt; 2.0.11: segfault when parsing malformed / unescaped url

Version 2.0.4: restrict_froms is obsolete. Use 'grant_acces' for acces / deny addresses or networks.
