Kitty HTTPD – A Lightweight Web Server

Kitty HTTPD is a fast, safe, and lightweight web server. It aims to share files through HTTP service without installing a heavyweight-full-feature HTTP server. By default, kitty-httpd binds to any network interface (both IPv4 and IPv6), and serves the current directory through port 8080. With -i option, index page will automatically be generated. Users may use any web browser to visit the web page, or download files.

The kitty-httpd has been examined by flawfinder to find possible security flaws, as well as valgrind to search for any memory leaks.


Building Kitty HTTPD

It\’s GNU building system, so just

$ tar xjf kitty-httpd-x.y.z.tar.bz2
$ cd kitty-httpd-x-y-z
$ ./
$ ./configure
$ make
$ sudo make install

The binary kitty-httpd should be installed in /usr/local/bin/.


  • Support continuous / range requests
  • Implement HTTP/1.1 requirement
  • Multithreaded server to support concurrent connections
  • Large file (> 2 GB) support
  • Log to syslog facility (LOG_LOCAL0)
  • Automatic indexing
  • IPv6 support
  • Reuse address (SO_REUSEADDR)
  • Fast TCP socket (TCP_NODELAY, TCP_CORK)
  • Set EUID
  • Support various MIME types
  • Small binary (~ 22 kB)
  • No configuration file


$ kitty-httpd --help
Usage /usr/bin/kitty-httpd [OPTION...]
A lightweight web server.

  -6, --v6only                    use IPv6 only
  -d, --docroot=, --path=PATH     set document root to PATH
  -i, --index                     use automatic indexing
  -p, --port=NUM                  listen on port NUM (default 8080)
  -r, --reuseaddr                 attempt to set SO_REUSEADDR
  -u, --user=USERNAME             use user USERNAME to run the server
  -v, --version                   show version
  -h, --help                      print this help

Report bugs to [email protected]