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-04-12 14:32:25 +02:00
commercial products - it even runs on space stations!
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
2016-04-12 13:19:16 +02:00
If you're looking for a pre-compiled Windows or Mac binary,
- [Download pre-compiled Mongoose web server binary ](https://www.cesanta.com/products/binary )
Alternatively,
2016-04-01 09:48:31 +02:00
- [Download Mongoose Source Code here ](http://hubs.ly/H01bWvx0 )
2016-03-04 16:08:19 +01:00
- [Check our latest releases] (https://github.com/cesanta/mongoose/releases)
2016-04-12 14:32:25 +02:00
- [Read User Guide and API reference ](https://docs.cesanta.com/mongoose/dev )
2016-02-19 11:55:42 +00:00
- [Study mongoose example code ](https://github.com/cesanta/mongoose/tree/master/examples )
2015-08-20 08:56:14 +01:00
2016-09-26 21:15:16 +01:00
If you are looking for a complete solution with firmware and cloud components, check out [Mongoose IoT Platform ](https://github.com/cesanta/mongoose-iot ).
2016-03-04 16:08:19 +01:00
# Support
2016-04-26 13:23:45 +01:00
- [Support Forum - Ask your technical questions here] (http://forum.cesanta.com/index.php?p=/categories/mongoose)
2016-03-04 16:08:19 +01:00
- [Chat - Visit www.cesanta.com for our live chat] (http://www.cesanta.com)
- [Commercial one-to-one support - Available to all commercial license holders] (https://www.cesanta.com/services-support)
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
2015-09-08 13:49:03 +02:00
* Single-threaded, asynchronous, non-blocking core with simple event-based API
2016-02-19 11:55:42 +00:00
* Native support for [PicoTCP embedded TCP/IP stack ](http://www.picotcp.com ),
2015-12-22 09:40:55 +02:00
[LWIP embedded TCP/IP stack ](https://en.wikipedia.org/wiki/LwIP )
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
* 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
Mongoose is released under commercial and [GNU GPL v.2 ](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html ) open source licenses.
Commercial Projects:
2016-04-01 09:48:31 +02:00
Once your project becomes commercialised GPLv2 licensing dictates that you need to either open your source fully or purchase a commercial license. Cesanta offer full, royalty-free commercial licenses without any GPL restrictions. If your needs require a custom license, we’ d be happy to work on a solution with you. [Contact us for pricing.] (https://www.cesanta.com/contact)
2016-03-04 16:08:19 +01:00
Prototyping:
While your project is still in prototyping stage and not for sale, you can use Mongoose’ s open source code without license restrictions.
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:
2015-08-18 09:50:00 +01:00
![](http://www.cesanta.com/hubfs/www.cesanta.com/diagrams/dash_mongoose_diagram.png)
2014-03-11 16:59:17 +00:00
2015-08-18 09:50:00 +01:00
[Developing a new product? Contact us today to discuss how Mongoose can help
2016-04-01 09:48:31 +02:00
](https://www.cesanta.com/contact)
2014-03-11 16:59:17 +00:00
2016-03-01 10:41:24 +00:00
# Contributions
2016-06-10 14:28:57 +02:00
To submit contributions, sign
[Cesanta CLA ](https://docs.cesanta.com/contributors_la.shtml )
and send GitHub pull request. You retain the copyright on your contributions.
2016-03-01 10:41:24 +00:00
2016-09-27 17:29:13 +02:00
## Working with the Source Code
See [tools ](https://github.com/cesanta/mongoose/tree/master/tools ) directory.
2016-02-19 11:55:42 +00:00
[![Analytics ](https://ga-beacon.appspot.com/UA-42732794-5/project-page )](https://github.com/cesanta/mongoose)