2016-03-04 23:08:19 +08:00
# <img src="http://www.cesanta.com/hubfs/www.cesanta.com/Images/mongoose_library.png" width="64" height="64"> Mongoose - Embedded Web Server / Embedded Networking Library
2012-08-26 05:48:14 +08:00
2015-09-08 19:49:03 +08:00
![](https://img.shields.io/badge/license-GPL_2-green.svg "License")
2014-04-10 01:10:49 +08:00
2015-12-21 19:13:48 +08:00
Mongoose is ideal for embedded environments. It has been designed
2016-04-12 23:06:29 +08:00
for connecting devices and bringing them online. On the market since 2004,
used by vast number of open source and
2016-04-12 20:32:25 +08:00
commercial products - it even runs on space stations!
2016-04-12 23:06:29 +08:00
Mongoose makes embedded network programming fast, robust, and easy.
2014-04-10 01:10:49 +08:00
2016-04-12 19:19:16 +08: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 15:48:31 +08:00
- [Download Mongoose Source Code here ](http://hubs.ly/H01bWvx0 )
2016-03-04 23:08:19 +08:00
- [Check our latest releases] (https://github.com/cesanta/mongoose/releases)
2016-04-12 20:32:25 +08:00
- [Read User Guide and API reference ](https://docs.cesanta.com/mongoose/dev )
2016-02-19 19:55:42 +08:00
- [Study mongoose example code ](https://github.com/cesanta/mongoose/tree/master/examples )
2015-08-20 15:56:14 +08:00
2016-04-12 19:19:16 +08:00
If you are looking for a complete IoT platform with firmware and cloud compotent,
- [Check out Smart.js - a full stack IoT platform ](https://github.com/cesanta/smart.js )
2016-03-04 23:08:19 +08:00
# Support
2016-04-01 15:48:31 +08:00
- [Support Forum - Ask your technical questions here] (http://forum.cesanta.com/index.php?p=/categories/smart-js)
2016-03-04 23:08:19 +08: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-02 07:05:09 +08:00
2015-09-08 19:49:03 +08:00
# Features
2015-12-22 15:46:05 +08:00
* Cross-platform: works on Linux/UNIX, MacOS, QNX, eCos, Windows, Android,
2015-12-22 15:40:55 +08:00
iPhone, FreeRTOS (TI CC3200, ESP8266), etc
2015-09-08 19:49:03 +08:00
* Single-threaded, asynchronous, non-blocking core with simple event-based API
2016-02-19 19:55:42 +08:00
* Native support for [PicoTCP embedded TCP/IP stack ](http://www.picotcp.com ),
2015-12-22 15:40:55 +08:00
[LWIP embedded TCP/IP stack ](https://en.wikipedia.org/wiki/LwIP )
2015-09-08 19:49:03 +08:00
* Builtin protocols:
- plain TCP, plain UDP, SSL/TLS (over TCP, one-way or two-way)
- HTTP client, HTTP server
2016-03-04 23:08:19 +08:00
- WebSocket client, WebSocket server
2015-09-08 19:49:03 +08:00
- JSON-RPC client, JSON-RPC server
- 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 23:08:19 +08: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 15:48:31 +08: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 23:08:19 +08: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 19:49:03 +08:00
2015-08-18 16:50:00 +08:00
# Dashboard Example
2014-03-12 00:59:17 +08:00
2015-09-21 22:16:16 +08: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 16:50:00 +08:00
![](http://www.cesanta.com/hubfs/www.cesanta.com/diagrams/dash_mongoose_diagram.png)
2014-03-12 00:59:17 +08:00
2015-08-18 16:50:00 +08:00
[Developing a new product? Contact us today to discuss how Mongoose can help
2016-04-01 15:48:31 +08:00
](https://www.cesanta.com/contact)
2014-03-12 00:59:17 +08:00
2016-03-01 18:41:24 +08:00
# Contributions
2016-03-04 23:08:19 +08:00
People who have agreed to the [Cesanta CLA] (https://docs.cesanta.com/contributors_la.shtml) can make contributions. Note that the CLA isn't a copyright assigment but rather a copyright license. You retain the copyright on your contributions.
2016-03-01 18:41:24 +08:00
2016-02-19 19:55:42 +08:00
[![Analytics ](https://ga-beacon.appspot.com/UA-42732794-5/project-page )](https://github.com/cesanta/mongoose)