lukas-h / toy-http

dead simple HTTP server, providing static file hosting (GET, HEAD) :sparkles: single C source file :sparkles:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

toy-http

Build Status License: AGPL v3
Example http server, providing static file hosting.
See the project page (himsel.me/toy-http)

features

  • 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

installation

  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

usage

type toy-http into a terminal!

dependencies

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)

licensing

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

About

dead simple HTTP server, providing static file hosting (GET, HEAD) :sparkles: single C source file :sparkles:

License:GNU Affero General Public License v3.0


Languages

Language:C 93.8%Language:HTML 3.4%Language:Makefile 2.7%