This is a maintenance fork of libuhttpd
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.
Chris Babcock 3dbd2c0fc8 Three days observation 2 weeks ago
cmake/Modules Use libev instead of libubox 1 year ago
example handler: add new event: UH_EV_HEAD_COMPLETE 3 weeks ago
src Bump version 3.7.0 2 weeks ago
.gitignore Improve CMakeLists.txt 3 years ago
.gitmodules http-parser: Use submodule 10 months ago
.travis.yml Fix ci 1 year ago
BUILDOPENWRT.md Update README 2 years ago
BUILDOPENWRT_ZH.md Update README 2 years ago
CMakeLists.txt build: Fix check dlopen 9 months ago
CONTRIBUTING.md Update CONTRIBUTING 3 years ago
CONTRIBUTING_ZH.md Update CONTRIBUTING 3 years ago
LICENSE Change the license information 1 year ago
README.md Three days observation 2 weeks ago
README_ZH.md Bump version 3.7.0 2 weeks ago
gen_cert.sh Optimize build for example 3 years ago
openssl.cnf Optimize build for example 3 years ago

README.md

This is a maintenance fork

libuhttpd(中文)

license PRs Welcome Issue Welcome Release Version Build Status

A very flexible, 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 IPv6
  • Support plugin
  • Support upload large file
  • 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.