mohawk - small HTTP server
mohawk is a small HTTP server initially based on mini_httpd. It is heavily based on libevent.
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 blacklistd (8) 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.
Changelog 2.1.0
- 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
Bugs
Version < 2.0.19: segfault when parsing malformed / unescaped url
Version < 2.0.12: coredump when using syslog facility
Version < 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.