libuhttpd(中文)
A Lightweight and fully asynchronous HTTP server library based on libev and http-parser for Embedded Linux.
Features
Lightweight and fully asynchronous
Use libev as its event backend
Support HTTPS - OpenSSL, mbedtls and CyaSSl(wolfssl)
Support plugin
Flexible - you can easily extend your application to have HTTP/HTTPS services
Code structure is concise and understandable, also suitable for learning
Dependencies
http-parser - A parser for HTTP messages written in C
mbedtls - If you choose mbedtls as your SSL backend
wolfssl - If you choose wolfssl as your SSL backend
openssl - If you choose openssl as your SSL backend
Configure
See which configuration are supported
~/libuhttpd/$ mkdir build && cd build
~/libuhttpd/build$ cmake .. -L
~/libuhttpd/build$ cmake .. -LH
Build and install
~/libuhttpd/build$ make && sudo make install
Run Example
Run
~/libuhttpd/build$ ./example/example
Then use the command curl or browser to test
$ curl 'https://127.0.0.1:8000' -v
Install on OpenWrt
opkg update
opkg list | grep libuhttpd
opkg install libuhttpd-nossl
If the install command fails, you can compile it yourself.
Contributing
If you would like to help making libuhttpd better, see the CONTRIBUTING.md file.
If the project is helpful to you, please do not hesitate to star. Thank you!