dead simple HTTP server, providing static file hosting (GET, HEAD) single C source file
C HTML Makefile
Latest commit 06aae45 Dec 11, 2016 @lukas-h travis
Failed to load latest commit information.
.gitignore minor changes Jun 3, 2016
.travis.yml travis Dec 11, 2016
LICENSE Major update: source code is now in one file. better error handling, … Feb 26, 2016
Makefile dietlibc Jun 3, 2016 fix Jun 12, 2016
index.html 🌟 Mar 12, 2016
toy-http.c warum tut travis nix?! Jun 9, 2016


Build Status License: AGPL v3
Example http server, providing static file hosting.
See the project page (


  • support for GET and HEAD requests (you can implement other methods easily)
  • stable error and interruption management
  • scalable and easy to modify
  • fast file serving
  • blocking function for parental folders of the serve folder
  • less than 500 lines of source code


  1. download from github.
  2. check the dependencies
  3. open a terminal and cd into the repository
  4. type make to compile
  5. and then sudo make install

Binary packages

download here


type toy-http into a terminal!


no dependencies to external libraries, just the C standard libraries and
the posix API (preinstalled on all good unix-derivates) and socket api (included)

preferred C compilers:

  • gcc
  • clang
  • tcc

supported OS:

  • (GNU)Linux
  • Mac OS
  • FreeBSD, OpenBSD, NetBSD, DragonflyBSD
  • GNU Hurd
  • Solaris (maybe)
  • and more, every other OS with POSIX and C libraries
  • Windows is supported with an environment like CygWin (or something similar)


This project is licensed under the GNU AGPL v3 or later.
Copyright (C) 2015, 2016 Lukas Himsel