Mongoose (web server)
|Original author(s)||Sergey Lyubka|
|Developer(s)||Cesanta Software |
|Stable release||6.2 / January 11, 2016|
|Operating system||Cross-platform |
|License||Dual license: GPLv2 and commercial license|
Mongoose and its forks are cross-platform embedded web servers. The small size of the software enables any Internet-connected device to function as a web server. After the original author changed the license from MIT to GPL v2, Mongoose got forked to keep a permissive licensed version available, the one with the most commits being CivetWeb. The different forks then slightly diverged when adding features. 
Mongoose is built on top of the Mongoose Embedded Library which can used for the implementation of RESTful services, to serve Web GUI on embedded devices, create RPC frameworks (e.g. JSON-RPC). Mongoose is a cross-platform application that can be used on Windows, Macintosh OS and Linux.
With just over 130 kB source code and an executable footprint of 40 kB on Linux 2.6 i386, Mongoose is one of the smallest web servers available. Via an application programming interface, (API) it can be also embedded into other programs.
Mongoose is used by several companies in various industries, including software companies, equipment companies, semiconductor companies and some Fortune 500 technology companies. In May 2016, Mongoose reached a mark of being downloaded over 1,000,000 times.
Functions of Mongoose include:
- Cross-platform, support for Unix/Linux, *BSD, eCos, Windows, OS X, QNX and more
- CGI, SSI, Digest (MD5) authorization, WebSocket, WebDAV support
- Resumed download, URL rewriting support, HTTP proxy support
- SSL support, both one-way and two-way SSL
- IP address-based ACL, Windows service, GET, POST, HEAD, PUT, DELETE methods
- Excluding files from serving by URI pattern
- HTTP client functionality
- MQTT client and broker functionality
- DNS client and server functionality
- Tiny static and run-time footprint
- Source code is both ISO C and ISO C++ compliant
- Single-threaded, asynchronous, non-blocking core with simple event-based API
- Native support for PicoTCP embedded TCP/IP stack, LWIP embedded TCP/IP stack
In August 2013 the author announced that he is changing the project license from the original MIT license to a dual GPLv2 / commercial licensing scheme.
A fork using the original MIT license exists at github
- Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- "Mongoose license".
- Hammel, Michael J. (April 1, 2010). "Mongoose: an Embeddable Web Server in C". Linux Journal. Retrieved July 1, 2016.
- Newenham, Pamela (March 21, 2013). "Irish start-up Cesanta to deliver keynote at CeBit conference". The Irish Times. Retrieved July 1, 2016.
- "Company Overview of Cesanta Software Limited". Bloomberg. Retrieved 30 June 2016.
- Mongoose project status and licensing change, mongoose-users mailing list, 2013-08-15.