Mongoose (web server)
Original author(s) | Sergey Lyubka |
---|---|
Developer(s) | Cesanta Software [1] |
Stable release | 6.10
/ October 31, 2017 |
Repository | |
Written in | C |
Operating system | Cross-platform [2] |
Type | Web server |
License | Dual license: GPLv2 and commercial license[3] |
Website | www |
Mongoose is a cross-platform embedded web server and networking library with functions including TCP, HTTP client and server, WebSocket client and server, MQTT client and broker and much more.
The small size of the software enables any Internet-connected device to function as a web server.[4] Mongoose is available under GPL v2 and commercial licenses.
Mongoose is developed by Cesanta Software.
Mongoose web server is being used by NASA on International Space Station.
Overview
Mongoose is built on top of the Mongoose Embedded Library which can be 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, Linux, QNX, eCOS, Free RTOS, Android and iOS.[2]
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.[citation needed] Via an application programming interface, (API) it can also be embedded into other programs.[5] Mongoose is written in C.
In July 2015 Cesanta has introduced Mongoose OS a complete IoT firmware solution.[citation needed]
Mongoose OS is an embedded operating system for low-power connected microcontrollers. Secure,[citation needed] complete[citation needed] environment for prototyping, development, and managing of connected devices.
Mongoose OS is Designed for Internet of Things and provides:
- secure connectivity;
- best runtime performance;[citation needed]
- complete environment for prototyping, development, and managing;[citation needed]
- available for ESP8266, ESP 32, TI CC3200, STM32, NRF52 and other hardware platforms.
Users
Mongoose is used by several companies in various industries, including software companies, equipment companies, semiconductor companies and some Fortune 500 technology companies.[1] In January 2017, Mongoose reached a mark of being downloaded over 2,000,000 times.[6]
Functions
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
- WebSocket 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[7]
- Single-threaded, asynchronous, non-blocking core with simple event-based API
- Native support for PicoTCP embedded TCP/IP stack, LWIP embedded TCP/IP stack
License change
In August 2013 the license was changed from MIT license to a dual GPLv2 / commercial licensing scheme. After the license change, Mongoose was forked, the different forks then significantly diverged when adding features.
References
- ^ a b Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- ^ a b Oehlman, D.; Blanc, S. (2011). Pro Android Web Apps: Develop for Android using HTML5, CSS3 & JavaScript. Apresspod Series. Apress. pp. 9–11. ISBN 978-1-4302-3276-6.
- ^ "Mongoose license".
- ^ Newenham, Pamela (March 21, 2013). "Conditions ripe in Ireland for growth of internet of things". The Irish Times. Retrieved July 1, 2016.
- ^ 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.