mirror von https://github.com/civetweb/civetweb.git

bel2125 8e24345696 Fix coverity issues for release 1.13 4 yıl önce
.github 443a153040 Create codeql-analysis.yml 4 yıl önce
Qt 8dcad3dff1 Lua data exchange between different Lua states 7 yıl önce
VisualStudio 4f30388e75 Fix warnings/issues from CI/CT 4 yıl önce
ci 0911ddd6f3 Fixed a lot of misspellings in source code and documentation 7 yıl önce
cmake bdcc5623a6 Fix cmake when CMAKE_SIZEOF_VOID_P udnefined 5 yıl önce
conan e14dff167a Merge branches to 'master' 5 yıl önce
contrib ded3226f0c Update version number in contrib/buildroot/civetweb.mk 6 yıl önce
distribution 25e7595b8f Update repository link: bel2125/civetweb --> civetweb/civetweb 10 yıl önce
docs 8e24345696 Fix coverity issues for release 1.13 4 yıl önce
examples dc9afd1865 Comment meaning of 'state' variable (#896) 4 yıl önce
fuzztest 27a37c075a Fuzz test: Linux EOL and more make options 5 yıl önce
include 65441a2c94 Allow to use mg_response_header_* functions from Lua 4 yıl önce
resources 8e24345696 Fix coverity issues for release 1.13 4 yıl önce
src 8e24345696 Fix coverity issues for release 1.13 4 yıl önce
test 65441a2c94 Allow to use mg_response_header_* functions from Lua 4 yıl önce
unittest 1f1dedb200 Fix memory leak 4 yıl önce
zephyr 67cdc2b9be Add Zephyr RTOS support 6 yıl önce
.clang-format f166b4f143 Revert format and update .clang-format file 6 yıl önce
.gitattributes 8f28f092d4 Add fuzz test for client 5 yıl önce
.gitignore 293c8c3da7 Add build scripts for fuzz test 5 yıl önce
.travis.yml ba06e8a1ae Try to fix TravisCI issues 4 yıl önce
CMakeLists.txt a25fd04248 Use OpenSSL 1.1 API as default (instead of OpenSSL 1.0 API) 4 yıl önce
CREDITS.md 99be48379c Update CREDITS, RELEASE_NOTES and remove debugging define 4 yıl önce
LICENSE.md 6d87359d6c Update LuaXML 5 yıl önce
Makefile 7dc4261acb Merge branch 'master' into http2 4 yıl önce
Makefile.osx 9ba511faed Change OS X package from dmg to zip file to fix hdiutil errors in Travis 9 yıl önce
README.md 6d87359d6c Update LuaXML 5 yıl önce
RELEASE_NOTES.md 99be48379c Update CREDITS, RELEASE_NOTES and remove debugging define 4 yıl önce
SECURITY.md 08e22ccf41 Create SECURITY.md 4 yıl önce
_config.yml 3265044de0 Set theme jekyll-theme-tactile 8 yıl önce
appveyor.yml a25fd04248 Use OpenSSL 1.1 API as default (instead of OpenSSL 1.0 API) 4 yıl önce
build adb5b12a54 fix build type in build script 6 yıl önce
build.cmd 1a04ebe805 Fix up log_append in MinGW download script 10 yıl önce
conanfile.py 3b6923b486 #712 Add new package flag info 6 yıl önce
format.bat e9b6e36ef3 Merge branch 'master' into HTTP2 4 yıl önce
mingw.cmd 668cd8a5a9 Add powershell output to MinGW script log 10 yıl önce

README.md

CivetWeb CivetWeb

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

License GitHub contributors

Continuous integration for Linux and macOS (Travis CI):

Travis Build Status

Continuous integration for Windows (AppVeyor):

Appveyor Build Status

Test coverage check (coveralls, codecov) (using different tools/settings):

[Coveralls]() Coverage Status

codecov

Static source code analysis (Coverity):

Coverity Scan Build Status

Project Mission

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

Announcements are at Google Groups https://groups.google.com/d/forum/civetweb. Some older support and discussion threads are there as well. However, recently support questions and discussions are usually 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

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 enhancements 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 (CGI, SQLite database, Lua Server Pages, Server side Lua scripts, Server side JavaScript). This provides a ready to go, powerful web development platform in a one single-click executable with no dependencies.
  • 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

Lua

Sqlite3

LuaFileSystem

LuaSQLite3

LuaXML

Duktape

Support

This project is very easy to install and use. Please read the documentation and have a look at the examples.

Some information may be found on the mailing list, However, since questions and discussions moved to GitHub issues, information there may be out of date.

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

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.

Authors

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-2020 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.