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.
Download
- Current version:
- Older version:
- Git repository: git://git.kitty.in.th/kitty-httpd/
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 $ ./autogen.sh $ ./configure $ make $ sudo make install
The binary kitty-httpd should be installed in /usr/local/bin/.
Features
- 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
Screenshot
$ 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]