2016-06-28 18:53:10 +03:00
# Mongoose - Embedded Web Server / Embedded Networking Library
2012-08-25 22:48:14 +01:00
2015-09-08 13:49:03 +02:00
![](https://img.shields.io/badge/license-GPL_2-green.svg "License")
2014-04-09 18:10:49 +01:00
2015-12-21 12:13:48 +01:00
Mongoose is ideal for embedded environments. It has been designed
2016-04-12 17:06:29 +02:00
for connecting devices and bringing them online. On the market since 2004,
used by vast number of open source and
2016-10-19 15:33:08 +01:00
commercial products - it even runs on the International Space station!
2016-04-12 17:06:29 +02:00
Mongoose makes embedded network programming fast, robust, and easy.
2014-04-09 18:10:49 +01:00
2017-07-17 13:10:24 +01:00
- [Download Mongoose Source Code here ](https://www.cesanta.com/download.html )
2015-08-20 08:56:14 +01:00
2016-12-21 22:17:51 +02:00
Looking for a complete IoT firmware solution?
2017-02-17 14:37:18 +00:00
Check out [Mongoose OS ](https://mongoose-os.com ) - open source embedded operating system for low-power connected microcontrollers. Secure, designed for Internet of Things, complete environment for prototyping, development and managing.
2016-10-18 18:35:47 +07:00
# Support
2017-02-06 15:58:53 +02:00
- [Study mongoose example code ](https://github.com/cesanta/mongoose/tree/master/examples )
2018-01-29 23:05:14 +02:00
- [Read User Guide and API reference ](https://cesanta.com/docs/overview/intro.html )
2019-04-26 17:26:55 +01:00
- [Support Forum - ask your technical questions here ](https://community.mongoose-os.com/ )
2017-07-17 13:10:24 +01:00
- [Commercial licensing and support available ](https://www.cesanta.com/licensing.html )
- [Check our latest releases ](https://github.com/cesanta/mongoose/releases )
2013-01-01 23:05:09 +00:00
2015-09-08 13:49:03 +02:00
# Features
2015-12-22 09:46:05 +02:00
* Cross-platform: works on Linux/UNIX, MacOS, QNX, eCos, Windows, Android,
2015-12-22 09:40:55 +02:00
iPhone, FreeRTOS (TI CC3200, ESP8266), etc
2016-10-19 15:33:08 +01:00
* Supported hardware platforms: TI CC3200, TI MSP432, NRF52, STM32, PIC32, ESP8266, ESP32 and more
2015-09-08 13:49:03 +02:00
* Builtin protocols:
- plain TCP, plain UDP, SSL/TLS (over TCP, one-way or two-way)
- HTTP client, HTTP server
2016-03-04 16:08:19 +01:00
- WebSocket client, WebSocket server
2015-09-08 13:49:03 +02:00
- MQTT client, MQTT broker
- CoAP client, CoAP server
- DNS client, DNS server, async DNS resolver
2016-10-19 15:33:08 +01:00
* Single-threaded, asynchronous, non-blocking core with simple event-based API
* Native support for [PicoTCP embedded TCP/IP stack ](http://www.picotcp.com ),
[LWIP embedded TCP/IP stack ](https://en.wikipedia.org/wiki/LwIP )
2015-09-08 13:49:03 +02:00
* Tiny static and run-time footprint
* Source code is both ISO C and ISO C++ compliant
* Very easy to integrate: just copy
[mongoose.c ](https://raw.githubusercontent.com/cesanta/mongoose/master/mongoose.c ) and
[mongoose.h ](https://raw.githubusercontent.com/cesanta/mongoose/master/mongoose.h )
files to your build tree
2016-03-04 16:08:19 +01:00
# Licensing
2016-10-19 15:33:08 +01:00
Mongoose is released under Commercial and [GNU GPL v.2 ](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ) open source licenses.
2016-03-04 16:08:19 +01:00
2017-07-17 13:10:24 +01:00
Commercial Projects: [Contact us for commercial license. ](https://www.cesanta.com/contact.html )
2015-09-08 13:49:03 +02:00
2015-08-18 09:50:00 +01:00
# Dashboard Example
2014-03-11 16:59:17 +00:00
2015-09-21 17:16:16 +03:00
Mongoose is often used to implement device dashboards and real-time
data exchange over Websocket. Here is a dashboard example that illustrates
the functionality:
2017-07-17 13:10:24 +01:00
![](http://www.cesanta.com/images/dashboard.png)
2014-03-11 16:59:17 +00:00
2017-07-17 13:10:24 +01:00
[Developing a new product? Contact us today to discuss how Mongoose can help. ](https://www.cesanta.com/contact.html )
2014-03-11 16:59:17 +00:00
2016-03-01 10:41:24 +00:00
# Contributions
2020-02-13 10:20:05 +00:00
Contributions are welcome! Please follow the guidelines below:
- Sign [Cesanta CLA ](https://cesanta.com/cla.html ) and send GitHub pull request
- When making pull requests, please make sure that it has only one commit,
and imlements/fixes only one piece of functionality
2016-03-01 10:41:24 +00:00
2016-10-19 15:33:08 +01:00
# Looking for a pre-compiled Mongoose web server Windows or Mac binary?
2017-07-17 13:10:24 +01:00
- [Download pre-compiled Mongoose web server binary. ](https://www.cesanta.com/binary.html )