Minimal webserver
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
decho 1990aee864 directory listing: Send viewport meta tag 3 years ago
devel Add tests for --auth. 3 years ago
.gitignore Add .gitignore. 10 years ago
Makefile Honour LDFLAGS. 3 years ago
README Retab README. No content changes. 10 years ago
TODO Add test for --timeout. 5 years ago
darkhttpd.c directory listing: Send viewport meta tag 3 years ago
release.sh [ darkhttpd-1.9 release ] 11 years ago
torture.py Request a bigger file -> more testing. 11 years ago

README

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: