When you need a web server in a hurry. http://unix4lyfe.org/darkhttpd/
Go to file
2021-01-18 00:34:04 +11:00
devel Add a fuzzer that runs the server in the background. 2021-01-18 00:25:02 +11:00
.gitignore Add .gitignore. 2014-03-14 22:42:05 +11:00
darkhttpd.c Fix a bug when a range is requested and the request is too large. 2021-01-17 23:00:32 +11:00
Makefile Honour LDFLAGS. 2020-07-01 21:34:23 +10:00
README.md Rename README. 2021-01-18 00:34:04 +11:00
release.sh [ darkhttpd-1.9 release ] 2013-04-29 01:47:24 +10:00
TODO Add test for --timeout. 2018-12-10 23:52:42 +11:00
torture.py Request a bigger file -> more testing. 2013-04-28 19:56:50 +10:00

How to build darkhttpd

Simply run make: $ make

How to run darkhttpd

Serve /var/www/htdocs on the default port (80 if running as root, else 8080): $ ./darkhttpd /var/www/htdocs

Serve ~/public_html on port 8081: $ ./darkhttpd ~/public_html --port 8081

Only bind to one IP address (useful on multi-homed systems): $ ./darkhttpd ~/public_html --addr 192.168.0.1

Serve at most 4 simultaneous connections: $ ./darkhttpd ~/public_html --maxconn 4

Log accesses to a file: $ ./darkhttpd ~/public_html --log access.log

Chroot for extra security (you need root privs for chroot): $ ./darkhttpd /var/www/htdocs --chroot

Use default.htm instead of index.html: $ ./darkhttpd /var/www/htdocs --index default.htm

Add mimetypes - in this case, serve .dat files as text/plain: $ cat extramime text/plain dat $ ./darkhttpd /var/www/htdocs --mimetypes extramime

Drop privileges: $ ./darkhttpd /var/www/htdocs --uid www --gid www

Use acceptfilter (FreeBSD only): $ kldload accf_http $ ./darkhttpd /var/www/htdocs --accf

Run in the background and create a pidfile: $ ./darkhttpd /var/www/htdocs --pidfile /var/run/httpd.pid --daemon

Web forward (301) requests for some hosts: $ ./darkhttpd /var/www/htdocs --forward example.com http://www.example.com
--forward secure.example.com https://www.example.com/secure

Web forward (301) requests for all hosts: $ ./darkhttpd /var/www/htdocs --forward example.com http://www.example.com
--forward-all http://catchall.example.com

Commandline options can be combined: $ ./darkhttpd ~/public_html --port 8080 --addr 127.0.0.1

To see a full list of commandline options, run darkhttpd without any arguments: $ ./darkhttpd

vim:set ts=2 sw=2 et tw=80: