Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



A lightweight extendable barebones HTTP server for linux

Please see the wiki for more info on whats going on in this repository : )

This repository is also tracked via OpenHub

One of the most basic philosophies behind this is to try to add as much functionality possible in a reusable way WITHOUT overly increasing loc and dependencies.. The biggest recent improvements have been actually trying to merge common functionality and reducing loc.


The projects build dependencies are the gcc compiler , pthreads , cmake and pretty basic things so if you issue sudo apt-get install cmake build-essential ( assuming a Debian/Ubuntu based system ) you should be able to compile it without problems..

Compression is supported , so you might want to also apt-get install liblzma-dev if you ENABLE_COMPRESSION at server_configuration.h MyURL Service needs libjpeg in order to serve captchas , so to add it sudo apt-get install libjpeg-dev

To perform a compilation you just need to issue "mkdir build && cd build && cmake .. && make" from the root directory

This should try to compile all of the project files which you can then run using the scripts listed in the list below

To update your version of the project you can use the provided script that updates directly from github It will remove any changes you have made to any of the files in the repository
./update_from_git from the root directory


After building the server you can use one of the provided scripts in the root directory

  • ./run_ammarserver will start a basic file server ( serving public_html/ files ) on localhost:8080

  • ./run_myblog will start a small Wordpress like blog service on localhost:8086

  • ./run_social will start a small Social chat service on localhost:8087

  • ./run_myloader will start a file upload service on localhost:8085

  • ./run_mytube will start a youtube like service on localhost:8084 , you will need to change the VIDEO_FILES_PATHS paths and recompile

  • ./run_myurl will start a url shortner service (like tinyurl/ etc ) on localhost:8082

  • ./run_habchan will start a small 4chan clone on localhost:8083

  • ./run_geoposshare will start a GPS location server on localhost:8081 to track mobile phones ( see this Android Application )

  • ./run_myremotedesktop will start a remote desktop session viewable by a browser on localhost:8080 ( see video )

  • ./run_mysearch will start a server that serves a google like front page ( that does no searching though and is only cosmetic ;P ) on localhost:8080

  • ./ will start most of these simultaneously ( except remote desktop ) so you can try them out..

  • ./ will stop them


Install scripts are provided ( ./ and ./ ) but at the moment they only provide the "vanilla" file static server. Until sufficient testing has been done it is not advisable to use this in a production enviornment..


This Repository contains :

AmmarServer is also an integral part , providing network connectivity and used in the following projects :

This project has also been successfully deployed as a means to control embedded platforms like Robots