2017-05-09 00:20:35 +02:00
 CivetWeb
2013-08-28 14:50:40 -04:00
=======
2016-05-16 19:56:14 +02:00
**The official home of CivetWeb is [https://github.com/civetweb/civetweb ](https://github.com/civetweb/civetweb )**
2016-05-16 17:44:31 +02:00
2017-08-08 00:19:57 +02:00
[](https://opensource.org/licenses/MIT)
[](https://github.com/civetweb/civetweb/blob/master/CREDITS.md)
2016-05-16 17:44:31 +02:00
2016-05-16 19:56:14 +02:00
Continuous integration for Linux and OSX ([Travis CI ](https://travis-ci.org/civetweb/civetweb )):
2015-07-13 22:23:37 +02:00
2015-08-09 21:59:04 +02:00
[](https://travis-ci.org/civetweb/civetweb)
2016-05-13 23:06:33 +02:00
2016-05-27 21:09:21 +02:00
Continuous integration for Windows ([AppVeyor ](https://ci.appveyor.com/project/civetweb/civetweb )):
2016-05-16 17:44:31 +02:00
2016-05-16 19:56:14 +02:00
[](https://ci.appveyor.com/project/civetweb/civetweb/branch/master)
2016-05-13 23:06:33 +02:00
2016-05-16 19:56:14 +02:00
Test coverage check ([coveralls ](https://coveralls.io/github/civetweb/civetweb )) (currently in a setup phase):
2016-05-13 23:06:33 +02:00
2017-06-18 14:26:48 +02:00
[]()
2016-02-28 23:02:07 +01:00
[](https://coveralls.io/github/civetweb/civetweb?branch=master)
2015-07-13 15:37:09 +01:00
2016-12-29 17:57:02 +01:00
Static source code analysis ([Coverity ](https://scan.coverity.com/projects/5784 )):
2016-05-16 19:56:14 +02:00
[](https://scan.coverity.com/projects/5784)
2015-04-26 13:23:21 +02:00
2013-08-28 14:50:40 -04:00
Project Mission
-----------------
2012-08-25 22:48:14 +01:00
2015-04-26 13:23:21 +02:00
Project mission is to provide easy to use, powerful, C/C++ embeddable web
server with optional CGI, SSL and Lua support.
2015-07-13 22:23:37 +02:00
CivetWeb has a MIT license so you can innovate without restrictions.
2016-05-13 23:06:33 +02:00
CivetWeb 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.
2013-01-01 23:05:09 +00:00
2013-08-28 14:50:40 -04:00
Where to find the official version?
-----------------------------------
2013-08-19 12:29:13 -04:00
2017-08-08 00:19:57 +02:00
End users can download CivetWeb releases at SourceForge
2016-05-16 19:56:14 +02:00
[https://sourceforge.net/projects/civetweb/ ](https://sourceforge.net/projects/civetweb/ )
2013-08-19 12:29:13 -04:00
Developers can contribute to CivetWeb via GitHub
2016-05-16 19:56:14 +02:00
[https://github.com/civetweb/civetweb ](https://github.com/civetweb/civetweb )
2013-08-19 12:29:13 -04:00
2013-08-21 12:46:14 -04:00
Trouble tickets should be filed on GitHub
2016-05-16 19:56:14 +02:00
[https://github.com/civetweb/civetweb/issues ](https://github.com/civetweb/civetweb/issues )
2013-08-19 12:29:13 -04:00
2015-04-26 13:23:21 +02:00
Discussion/support group and announcements are at Google Groups
2016-05-16 19:56:14 +02:00
[https://groups.google.com/d/forum/civetweb ](https://groups.google.com/d/forum/civetweb )
2013-08-19 12:29:13 -04:00
2016-12-29 17:57:02 +01:00
Source releases can be found on GitHub
[https://github.com/civetweb/civetweb/releases ](https://github.com/civetweb/civetweb/releases )
2017-08-08 00:19:57 +02:00
A very brief overview can be found on GitHub Pages
[http://civetweb.github.io/civetweb/ ](http://civetweb.github.io/civetweb/ )
2015-07-13 22:23:37 +02:00
2013-08-28 14:50:40 -04:00
Quick start documentation
--------------------------
2013-08-21 23:32:20 -04:00
2016-05-13 23:06:33 +02:00
- [docs/Installing.md ](https://github.com/civetweb/civetweb/blob/master/docs/Installing.md ) - Install Guide (for end users using pre-built binaries)
2015-08-09 21:59:04 +02:00
- [docs/UserManual.md ](https://github.com/civetweb/civetweb/blob/master/docs/UserManual.md ) - End User Guide
2016-05-13 23:06:33 +02:00
- [docs/Building.md ](https://github.com/civetweb/civetweb/blob/master/docs/Building.md ) - Building the Server (quick start guide)
- [docs/Embedding.md ](https://github.com/civetweb/civetweb/blob/master/docs/Embedding.md ) - Embedding (how to add HTTP support to an existing application)
- [docs/OpenSSL.md ](https://github.com/civetweb/civetweb/blob/master/docs/OpenSSL.md ) - Adding HTTPS (SSL/TLS) support using OpenSSL.
2016-12-29 17:57:02 +01:00
- [API documentation ](https://github.com/civetweb/civetweb/tree/master/docs/api ) - Additional documentation on the civetweb application programming interface ([civetweb.h ](https://github.com/civetweb/civetweb/blob/master/include/civetweb.h )).
2015-08-09 21:59:04 +02:00
- [RELEASE_NOTES.md ](https://github.com/civetweb/civetweb/blob/master/RELEASE_NOTES.md ) - Release Notes
- [LICENSE.md ](https://github.com/civetweb/civetweb/blob/master/LICENSE.md ) - Copyright License
2013-08-21 23:32:20 -04:00
2015-07-13 22:23:37 +02:00
2013-08-28 14:50:40 -04:00
Overview
--------
2012-08-25 22:48:14 +01:00
2015-07-13 22:23:37 +02:00
CivetWeb keeps the balance between functionality and
2014-07-15 23:01:43 +02:00
simplicity by a carefully selected list of features:
2013-01-01 23:05:09 +00:00
2013-08-28 13:43:48 -04:00
- Liberal, commercial-friendly, permissive,
2013-01-17 11:07:53 +00:00
[MIT license ](http://en.wikipedia.org/wiki/MIT_License )
2015-04-26 13:23:21 +02:00
- Free from copy-left licenses, like GPL, because you should innovate without
restrictions.
- Forked from [Mongoose ](https://code.google.com/p/mongoose/ ) in 2013, before
it changed the licence from MIT to commercial + GPL. A lot of enchancements
have been added since that time, see
2015-08-09 21:59:04 +02:00
[RELEASE_NOTES.md ](https://github.com/civetweb/civetweb/blob/master/RELEASE_NOTES.md ).
2015-04-26 13:23:21 +02:00
- Works on Windows, Mac, Linux, UNIX, iPhone, Android, Buildroot, and many
other platforms.
- Scripting and database support (Lua scipts, Lua Server Pages, CGI + SQLite
2016-05-13 23:06:33 +02:00
database, Server side javascript).
2015-04-26 13:23:21 +02:00
This provides a ready to go, powerful web development platform in a one
single-click executable with **no dependencies** .
2016-05-13 23:06:33 +02:00
- Support for CGI, HTTPS (SSL/TLS), SSI, HTTP digest (MD5) authorization, Websocket,
2015-04-26 13:23:21 +02:00
WEbDAV.
2016-05-13 23:06:33 +02:00
- Optional support for authentication using client side X.509 certificates.
2015-04-26 13:23:21 +02:00
- Resumed download, URL rewrite, file blacklist, IP-based ACL, Windows service.
- Download speed limit based on client subnet or URI pattern.
2014-07-15 23:01:43 +02:00
- Simple and clean embedding API.
2015-04-26 13:23:21 +02:00
- The source is in single file to make things easy.
- Embedding examples included.
- HTTP client capable of sending arbitrary HTTP/HTTPS requests.
2016-05-13 23:06:33 +02:00
- Websocket client functionality available (WS/WSS).
2013-01-01 23:05:09 +00:00
2013-08-21 13:04:26 -04:00
2014-07-15 23:01:43 +02:00
### Optionally included software
2013-08-28 14:41:47 -04:00
2017-08-08 00:19:57 +02:00
[](http://lua.org)
[](http://sqlite.org)
[](http://keplerproject.github.io/luafilesystem/)
[](http://lua.sqlite.org/index.cgi/index)
[](http://viremo.eludi.net/LuaXML/index.html)
[](http://duktape.org)
2013-07-21 10:09:47 +01:00
2015-07-13 22:23:37 +02:00
2013-08-28 14:50:40 -04:00
Support
-------
2012-08-25 22:48:14 +01:00
2017-08-08 00:19:57 +02:00
This project is very easy to install and use.
Please read the [documentation ](https://github.com/civetweb/civetweb/blob/master/docs/ )
2017-06-16 14:48:05 +02:00
and have a look at the [examples ](https://github.com/civetweb/civetweb/blob/master/examples/ ).
2014-07-15 23:01:43 +02:00
More information may be found on the [mailing list ](https://groups.google.com/d/forum/civetweb ).
2013-08-01 14:20:35 +01:00
2013-08-28 14:50:40 -04:00
Contributions
---------------
2013-08-15 20:55:56 -04:00
2013-08-15 21:01:26 -04:00
Contributions are welcome provided all contributions carry the MIT license.
2013-08-15 20:55:56 -04:00
DO NOT APPLY fixes copied from Mongoose to this project to prevent GPL tainting.
2017-08-08 00:19:57 +02:00
Since 2013, CivetWeb and Mongoose are developed independently.
2016-12-29 17:57:02 +01:00
By now the code base differs, so patches cannot be safely transfered in either direction.
2012-08-25 22:48:14 +01:00
2016-05-13 23:06:33 +02:00
Some guidelines can be found in [docs/Contribution.md ](https://github.com/civetweb/civetweb/blob/master/docs/Contribution.md ).
2015-07-13 22:23:37 +02:00
2016-05-16 17:44:31 +02:00
2016-05-13 23:06:33 +02:00
### Authors
2012-08-25 22:48:14 +01:00
2015-07-13 22:23:37 +02:00
CivetWeb is based on the Mongoose project. The original author of Mongoose was
2016-05-16 17:44:31 +02:00
Sergey Lyubka (Copyright (c) 2004-2013 Sergey Lyubka, MIT license).
2016-05-13 23:06:33 +02:00
2016-05-16 19:04:00 +02:00
However, in August 16, 2013, the [license of Mongoose has been changed ](https://groups.google.com/forum/#!topic/mongoose-users/aafbOnHonkI )
2016-05-13 23:06:33 +02:00
after writing and distributing the original code this project is based on.
2016-12-29 17:57:02 +01:00
The license change and CivetWeb used to be mentioned on the Mongoose
[Wikipedia ](https://en.wikipedia.org/wiki/Mongoose_(web_server ))
page as well, but it's getting deleted (and added again) there every
now and then.
2016-05-16 19:04:00 +02:00
2016-12-29 17:57:02 +01:00
CivetWeb has been forked from the last MIT version of Mongoose.
Since 2013, CivetWeb has seen many improvements from various authors
2017-01-02 18:48:39 +01:00
(Copyright (c) 2013-2017 the CivetWeb developers, MIT license).
2016-05-16 19:04:00 +02:00
A list of authors can be found in [CREDITS.md ](https://github.com/civetweb/civetweb/blob/master/CREDITS.md ).
2013-08-15 20:55:56 -04:00
2015-07-13 22:23:37 +02:00
Using the CivetWeb project ensures the MIT licenses terms are applied and
2016-12-29 17:57:02 +01:00
GPL cannot be imposed on any of this code, as long as it is sourced from
2014-07-15 23:01:43 +02:00
here. This code will remain free with the MIT license protection.
2017-08-08 00:19:57 +02:00