The official home of CivetWeb is https://github.com/civetweb/civetweb
Continuous integration for Linux and macOS (Travis CI):
Continuous integration for Windows (AppVeyor):
Test coverage check (coveralls, codecov) (using different tools/settings):
Static source code analysis (Coverity):
Project mission is to provide easy to use, powerful, C (C/C++) embeddable web server with optional CGI, SSL and Lua support. CivetWeb has a MIT license so you can innovate without restrictions.
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 running on a Windows or Linux PC. It is available as single executable, no installation is required.
Where to find the official version?
End users can download CivetWeb binaries / releases from SourceForge https://sourceforge.net/projects/civetweb/
Developers can contribute to CivetWeb via GitHub https://github.com/civetweb/civetweb
Due to a bug in Git for Windows V2.24 CivetWeb must be used with an earlier or later version (see also here).
Trouble tickets should be filed on GitHub https://github.com/civetweb/civetweb/issues
New releases are announced at Google Groups https://groups.google.com/d/forum/civetweb
Formerly some support question and discussion threads have been at Google groups. Recent questions and discussions use GitHub issues.
Source releases can be found on GitHub https://github.com/civetweb/civetweb/releases
A very brief overview can be found on GitHub Pages http://civetweb.github.io/civetweb/
Getting The Source
Download the source code by running the following code in your command prompt:
$ git clone https://github.com/civetweb/civetweb.git or simply grab a copy of the source code as a ZIP or TGZ file.
Quick start documentation
- docs/Installing.md - Install Guide (for end users using pre-built binaries)
- docs/UserManual.md - End User Guide
- docs/Building.md - Building the Server (quick start guide)
- docs/Embedding.md - Embedding (how to add HTTP support to an existing application)
- docs/OpenSSL.md - Adding HTTPS (SSL/TLS) support using OpenSSL.
- API documentation - Additional documentation on the civetweb application programming interface (civetweb.h).
- RELEASE_NOTES.md - Release Notes
- LICENSE.md - Copyright License
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 enhancements 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, SSI, HTTP digest (MD5) authorization, WebSocket, WebDAV.
- HTTPS (SSL/TLS) support using OpenSSL.
- Optional support for authentication using client side X.509 certificates.
- Resumed download, URL rewrite, file blacklist, IP-based ACL.
- May run as 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.
- Websocket client functionality available (WS/WSS).
Optionally included software
This project is very easy to install and use. Please read the documentation and have a look at the examples.
Recent questions and discussions usually use GitHub issues. Some old information may be found on the mailing list, but this information may be outdated.
Note: We do not take any liability or warranty for any linked contents. Visit these pages and try the community support suggestions at your own risk. Any link provided in this project (including source and documentation) is provided in the hope that this information will be helpful. However, we cannot accept any responsibility for any content on an external page.
Contributions are welcome provided all contributions carry the MIT license.
DO NOT APPLY fixes copied from Mongoose to this project to prevent GPL tainting. Since 2013, CivetWeb and Mongoose are developed independently. By now the code base differs, so patches cannot be safely transferred in either direction.
Some guidelines can be found in docs/Contribution.md.
CivetWeb has been forked from the last MIT version of Mongoose in 2013. Since then, CivetWeb has seen many improvements from various authors (Copyright (c) 2013-2021 the CivetWeb developers, MIT license).
A list of authors can be found in CREDITS.md.
CivetWeb is based on the Mongoose project. The original author of Mongoose was Sergey Lyubka (Copyright (c) 2004-2013 Sergey Lyubka, MIT license). However, on August 16, 2013, the license of Mongoose has been changed after writing and distributing the original code this project is based on. The license change and CivetWeb used to be mentioned on the Mongoose Wikipedia page as well, but it's getting deleted (and added again) there every now and then.
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.