Merecat httpd
Merecat started out as a pun at Mongoose, but is now useful for actual web serving. It is however not a real Meerkat, merely yet another copycat, forked from the great thttpd created by Jef Poskanzer.
Features
Merecat expands on the features originally offered by thttpd, but keeps a deliberately small feature set:
- Virtual hosts
- Basic
.htpasswdand.htaccesssupport - URL-traffic-based throttling
- CGI/1.1 and native PHP, using
php-cgi, if enabled inmerecat.conf - HTTP/1.1 keep-alive
- Built-in gzip deflate using zlib
- HTTPS using OpenSSL/LibreSSL, works with Let’s Encrypt!
- Dual server support, both HTTP and HTTPS from one process
- HTTP redirect, to gently nudge an HTTP server over to HTTPS
- Reverse proxy (
proxy-pass), to front local app servers the way nginx does
The resulting footprint (a ~160 kiB stripped binary) makes it quick and
suitable for small and embedded systems. Merecat is free/open source
software under the simplified 2-clause BSD license; for more
details see the merecat(8) manual page or the FAQ.
Powered by Merecat
All of troglobit.com runs on Merecat, including the page
you’re reading. The git browser over at git.troglobit.com is a
separate Go application that Merecat fronts with its reverse proxy
(proxy-pass) – see Can You Dig It? for that story.
The default landing page you get right after installation is live here:
For more hands-on examples, see the HowTos:
Get It
Latest release available on GitHub
- Repository
- Issue Tracker
- ChangeLog
- Docker image, to try it isolated from the rest of the system
Origin & References
Merecat is a stitched-up fork of sthttpd with lots of lost patches found lying around the web. The sthttpd project in turn is a fork of the original thttpd – the tiny/turbo/throttling HTTP server.
- thttpd was created by Jef Poskanzer jef@mail.acme.com
- sthttpd was spawned by Anthony G. Basile blueness@gentoo.org
- Merecat is maintained by Joachim Wiberg troglobit@gmail.com