Merecat httpd

- 2 mins read

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 .htpasswd and .htaccess support
  • URL-traffic-based throttling
  • CGI/1.1 and native PHP, using php-cgi, if enabled in merecat.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:

https://merecat.troglobit.com

For more hands-on examples, see the HowTos:

Get It

Latest release available on GitHub

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.