Skip to content
A Lightweight and fully asynchronous HTTP server library based on libev and http-parser for Embedded Linux.
C CMake Shell
Branch: master
Clone or download

Latest commit

zhaojh329 Fix src/CMakeLists.txt
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
Latest commit 350e520 Mar 24, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake/Modules
example Support parse url Mar 14, 2020
src Fix src/CMakeLists.txt Mar 24, 2020
.gitignore Improve CMakeLists.txt Dec 30, 2017
.gitmodules http-parser: Use submodule Mar 6, 2020
.travis.yml Fix ci Aug 31, 2019
BUILDOPENWRT.md
BUILDOPENWRT_ZH.md chmod 644 Mar 18, 2018
CMakeLists.txt Use libev instead of libubox Aug 31, 2019
CONTRIBUTING.md
CONTRIBUTING_ZH.md
LICENSE Change the license information Sep 3, 2019
README.md
README_ZH.md
gen_cert.sh Optimize build for example Jan 5, 2018
openssl.cnf Optimize build for example Jan 5, 2018

README.md

libuhttpd(中文)

license PRs Welcome Issue Welcome Release Version Build Status

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!

You can’t perform that action at this time.