Skip to content

tnoho/civetweb

 
 

Repository files navigation

CivetWeb CivetWeb

Continuous integration (Travis, Appveyor), coverage check (coveralls) and source code analysis (coverity) are currently in a setup phase

Travis Build Status Appveyor Build Status Coverage Status Coverity Scan Build Status

The official home of CivetWeb is https://github.com/civetweb/civetweb

Project Mission

Project mission is to provide easy to use, powerful, C/C++ embeddable web server with optional CGI, SSL and Lua support. CivetWeb has a MIT license so you can innovate without restrictions.

Where to find the official version?

End users can download CivetWeb at SourceForge https://sourceforge.net/projects/civetweb/

Developers can contribute to CivetWeb via GitHub https://github.com/civetweb/civetweb

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

Discussion/support group and announcements are at Google Groups https://groups.google.com/d/forum/civetweb

Quick start documentation

Overview

CivetWeb 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.
  • Scripting and database support (Lua scipts, Lua Server Pages, CGI + SQLite database). This provides a ready to go, powerful web development platform in a one single-click executable with no dependencies.
  • Support for CGI, HTTPS/SSL, SSI, HTTP digest (MD5) authorization, Websocket, WEbDAV.
  • Resumed download, URL rewrite, file blacklist, IP-based ACL, Windows service.
  • Download speed limit based on client subnet or URI pattern.
  • Simple and clean embedding API.
  • The source is in single file to make things easy.
  • Embedding examples included.
  • HTTP client capable of sending arbitrary HTTP/HTTPS requests.

Optionally included software

![Lua](https://raw.github.com/civetweb/civetweb/master/resources/lua-logo.jpg "Lua Logo") ![Sqlite3](https://raw.github.com/civetweb/civetweb/master/resources/sqlite3-logo.jpg "Sqlite3 Logo") ![LuaFileSystem](https://raw.github.com/civetweb/civetweb/master/resources/luafilesystem-logo.jpg "LuaFileSystem Logo") ![LuaSQLite3](https://raw.github.com/civetweb/civetweb/master/resources/luasqlite-logo.jpg "LuaSQLite3 Logo") ![LuaXML](https://raw.github.com/civetweb/civetweb/master/resources/luaxml-logo.jpg "LuaXML Logo") ![Duktape](https://raw.github.com/civetweb/civetweb/master/resources/duktape-logo.png "Duktape Logo")

Support

This project is very easy to install and use. Please read the documentation and have a look at the [examples] (https://github.com/civetweb/civetweb/blob/master/examples/). More information may be found on the mailing list.

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.

Author

CivetWeb is based on the Mongoose project. The original author of Mongoose was Sergey Lyubka, however, the license of Mongoose has been changed after writing and distributing the original code this project is based on.

Using the CivetWeb 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.

A list of authors can be found in CREDITS.md

About

Embedded C/C++ web server

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 64.0%
  • C++ 10.3%
  • Batchfile 6.0%
  • Lua 5.9%
  • CMake 5.1%
  • HTML 3.5%
  • Other 5.2%