GSoC/GCI Archive
Google Summer of Code 2012

Monkey HTTP Daemon

Web Page: http://monkey-project.com/gsoc2012/ideas

Mailing List: http://lists.monkey-project.com/listinfo/monkey

Monkey project produces an open source and high quality HTTP Server for GNU/Linux with focus in embedded devices. Project goals are performance, scalability and Linux Kernel dependent.

In technical terms, Monkey has been designed with a flexible architecture, it is based in a core which only supports HTTP/1.1 and an API interface to extends the server functionality through plugins. Some remarkable Monkey features are:

  • ARM, x86 & x64 support
  • Binary size (core) < 60KB
  • IPv6
  • C API interface
  • Extensions/Plugins:
    • Basic Auth
    • SSL
    • Security - Rules per URI and subnetworks
    • Log Writer
    • Directory Listing
    • Cheetah! Shell: command line interface through Unix socket domain
    • Duda: Web Services Framework

Projects

  • Enable Monkey to be used as a shared library The main part of the project is to define the API for the library. The changes in monkey that I see would be to implement the library context handling: start, configuring, callbacks, stop, restart, logging.
  • Key-Value store technology for Duda Will add key-value store technology package to Duda, the web services framework for Monkey using Redis and Memcached client APIs