Git Product home page Git Product logo

libhttp's Introduction

LibHTTP

The official home of LibHTTP is www.libhttp.org

Project Mission

The project mission is to provide easy to use, powerful, C/C++ embeddable web server with IPv6, CGI and SSL support. LibHTTP has a MIT license so you can innovate without restrictions.

LibHTTP can be used by developers as a library to add web server functionality to an existing application. It can also be used by end users as a stand-alone web server. It is available as single executable, no installation is required.

LibHTTP is a fork of the Mongoose (MIT)/Civetweb family of http server libraries with the focus on event driven efficient communication, clean code and good documentation.

Where to find the official version?

Documentation of the library can be found on www.libhttp.org

Developers can download and contribute to Libhttp via GitHub https://github.com/lammertb/libhttp

Trouble tickets should be filed on GitHub https://github.com/lammertb/libhttp/issues

Quick start documentation

Overview

LibHTTP keeps the balance between functionality and simplicity by a carefully selected list of features:

  • Liberal, commercial-friendly, permissive, MIT license
  • Free from copy-left licenses, like GPL, because you should innovate without restrictions.
  • Forked from Mongoose in 2013, before it changed the licence from MIT to commercial + GPL. A lot of enchancements have been added since that time, see RELEASE_NOTES.md.
  • Works on Windows, Mac, Linux, UNIX, iPhone, Android, Buildroot, and many other platforms.
  • Support for CGI, HTTPS (SSL/TLS), SSI, HTTP digest (MD5) authorization, Websocket, WEbDAV.
  • Optional support for authentication using client side X.509 certificates.
  • Resumed download, URL rewrite, file blacklist, IP-based ACL.
  • Download speed limit based on client subnet or URI pattern.
  • Simple and clean embedding API.
  • Embedding examples included.
  • HTTP client capable of sending arbitrary HTTP/HTTPS requests.
  • Websocket client functionality available (WS/WSS).

Support

This project is very easy to install and use. Please read the documentation and have a look at the [examples] (examples/).

Contributions

Contributions are welcome provided all contributions carry the MIT license.

DO NOT APPLY fixes copied from Mongoose to this project to prevent GPL tainting. LibHTTP which is a Civetweb fork is based on a 2014 version of Mongoose and they are developed independently. By now the code base differs, so patches cannot be safely transfered in either direction.

Some guidelines can be found in doc/Contribution.md.

Authors

LibHTTP is based on CivetWeb which in turn is based on the Mongoose project. The original author of Mongoose was Sergey Lyubka (Copyright (c) 2004-2013 Sergey Lyubka, MIT license).

CivetWeb has been forked from the last MIT licensed version of Mongoose. Since 2013, CivetWeb has seen many improvements from various authors (Copyright (c) 2013-2016 the CivetWeb developers, MIT license). A list of all known authors can be found in CREDITS.md.

LibHTTP has been forked from a 2016 version of CivetWeb. It contains all updates in CivetWeb upto the moment of forking and updates of later dates in CivetWeb may be used in LibHTTP because they both use the same license. It is expected though that both projects will go in different directions though so future compatibility is not guaranteed.

Using the LibHTTP project ensures the MIT licenses terms are applied and GPL cannot be imposed on any of this code as long as it is sourced from here. This code will remain free with the MIT license protection.

libhttp's People

Contributors

bel2125 avatar cpq avatar lammertb avatar mattyclarkson avatar dalgaaf avatar kainjow avatar mgralka avatar nihildeb avatar danieloaks avatar hansipie avatar bgreat avatar fremouw avatar xtne6f avatar dialga avatar grenclave avatar arnout avatar yehudasa avatar c-mauderer avatar jmucchiello avatar harikamath avatar kkyzivat-mosaic avatar tzimmofsecure avatar jmc- avatar jd-boyd avatar oldmancoyote avatar joelgallant avatar pijyoi avatar keithel avatar thewaterymoon avatar phillab avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.