SpriteHTTPD - embedded HTTP server with read-only filesystem and templating, originally developed for ESP8266, now stand-alone and POSIX compatible.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ondřej Hruška 765b4ac507 add GetCookie 1 year ago
demo add GetCookie 1 year ago
fstool add malloc instrumentation 1 year ago
spritehttpd add GetCookie 1 year ago
.gitignore super polished fs tool 1 year ago
Makefile add malloc instrumentation 1 year ago
README.md readme 1 year ago



This project is a continuation of Sprite-TM's ESP8266 / ESP32 http server (https://github.com/Spritetm/esphttpd) with ESP-Term improvements (https://github.com/MightyPork/libesphttpd), ported to plain FreeRTOS with Berkeley sockets. The posix port allows it to run on Linux as well

  • ideal for debugging.

The server implements some of the more basic parts of HTTP/1.1 with Websockets and includes a templating system and a compressed ROM filesystem called espfs.


Currently cleaning the library and debugging it with the POSIX port and a demo project in the demo folder.


  • EspFs with a new fancy command-line tool
  • New simpler Makefile
  • serving static files
  • templating engine

To test:

  • websockets
  • auth CGI
  • CORS header support


  • port httpclient from the old library
  • cookie helpers
  • session CGI
  • try to make it work with mbedtls
  • avoid frequent allocations, reuse structs, maybe make more things static?