5f4f6e0d97caacfa204fc0993e88c9382c02bd84
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
- libev
- 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.
Example
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!
Languages
C
94%
CMake
5.9%
Shell
0.1%