mirror of
https://github.com/cesanta/mongoose.git
synced 2026-11-06 15:51:25 +00:00
Merge dev branch code named Fossa as next stable Mongoose
This commit is contained in:
1 parent
28eb251ccd
commit
8927c9d22b
126 files changed
+162049
-8502
No files matched your search
@@ -2,20 +2,23 @@
|
||||
|
||||
[](https://gitter.im/cesanta/mongoose?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
Mongoose is an embedded HTTP and WebSocket library that can turn anything
|
||||
into a web server in 5 minutes by adding a few lines of C/C++ code.
|
||||
On the market since 2004 with over 1 million cumulative downloads,
|
||||
it's simplicity and flexibility has made it the top choice for
|
||||
embedded software engineers.
|
||||

|
||||
|
||||
Mongoose Binary is built on top of Mongoose Library which is used to serve Web
|
||||
GUI on embedded devices, implement RESTful services, RPC frameworks (e.g.
|
||||
JSON-RPC), handle telemetry data exchange and perform many other tasks. You'll find
|
||||
it used across various industries including aerospace, manufacturing, finance,
|
||||
research, automotive, gaming, IT and many more.
|
||||
[Mongoose](https://www.cesanta.com/mongoose) is a
|
||||
multi-protocol networking library written in C.
|
||||
It provides easy to use event-driven interface that allows to implement
|
||||
network protocols or scalable network applications with little effort.
|
||||
Mongoose helps developers to manage the complexity of network programming
|
||||
and let them concentrate on the logic, saving time and money.
|
||||
|
||||
> "Nothing overdone. Nothing less. So unbelievably easy to use. Just how good
|
||||
> software should be!" - Pritin Tyagaraj, SAP
|
||||
Mongoose has built-in support for several protocols, like
|
||||
HTTP, Websocket, MQTT, mDNS. Example applications include
|
||||
Websocket-based chat server, JSON-RPC server,
|
||||
database server with RESTful API, MQTT broker, netcat with SSL and hexdump,
|
||||
Raspberry PI camera video feed + led control, and more.
|
||||
|
||||
Mongoose is ideal for the embedded environments, it has been designed as
|
||||
an open source platform for connecting devices and bringing them online.
|
||||
|
||||
[Download Mongoose Source Code here](http://hubs.ly/H0150FK0)
|
||||
|
||||
@@ -23,21 +26,31 @@ Are you an embedded developer? Working on an embedded task?
|
||||
Check out our [embedded development products](http://hubs.ly/H0150sY0)
|
||||
to make the right choice for your project.
|
||||
|
||||
# Technical Specification
|
||||
# Features
|
||||
|
||||
- Works on Windows, Mac, UNIX/Linux, iPhone, Android eCos, QNX
|
||||
and many other platforms
|
||||
- CGI, SSI, SSL, Digest auth, Websocket, WEbDAV, Resumed download,
|
||||
URL rewrite, file blacklist
|
||||
- Custom error pages, Virtual hosts, IP-based ACL, Windows service,
|
||||
HTTP/HTTPS client
|
||||
- Simple and clean
|
||||
[embedding API](https://github.com/cesanta/mongoose/blob/master/mongoose.h).
|
||||
The source is in single
|
||||
[mongoose.c](https://github.com/cesanta/mongoose/blob/master/mongoose.c) file
|
||||
to make embedding easy
|
||||
- Extremely lightweight, has a core of under 40kB and tiny runtime footprint
|
||||
- Asynchronous, non-blocking core supporting single- or multi-threaded usage
|
||||
* Cross-platform: works on Linux/UNIX, QNX, eCos, Windows, Android, iPhone, etc
|
||||
* Single-threaded, asynchronous, non-blocking core with simple event-based API
|
||||
* Builtin protocols:
|
||||
- plain TCP, plain UDP, SSL/TLS (over TCP, one-way or two-way)
|
||||
- HTTP client, HTTP server
|
||||
- Websocket client, Websocket server
|
||||
- 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
|
||||
* Extensively tested and production-ready, trusted by many blue chip businesses
|
||||
|
||||
# Examples & Documentation
|
||||
|
||||
- [User Guide](https://docs.cesanta.com/mongoose) - Detailed User Guide and API reference
|
||||
- [examples](examples) - Collection of well-commented examples. To build any example,
|
||||
go into respective directory and type `make`
|
||||
|
||||
# Dashboard Example
|
||||
|
||||
@@ -47,43 +60,17 @@ and many other platforms
|
||||
](https://www.cesanta.com/contact)
|
||||
|
||||
|
||||
# Contributions
|
||||
|
||||
# Licensing
|
||||
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.
|
||||
|
||||
Cesanta made Mongoose open source under GPLv2 for a reason. We are all
|
||||
developers here and appreciate easy access to code and therefore seamless
|
||||
integration. It's great to be able to play around with the software before
|
||||
committing to it.
|
||||
# License
|
||||
|
||||
However, the GPLv2 open source license does not permit incorporating the
|
||||
software into non-open source programs. In order to comply with GPLv2 licensing
|
||||
you need to open the source code of your end product fully or alternatively
|
||||
purchase a commercial license.
|
||||
|
||||
[Enquire about commercial licensing here](https://www.cesanta.com/contact)
|
||||
|
||||
# Documentation
|
||||
|
||||
- [Embedding Guide](https://github.com/cesanta/mongoose/blob/master/docs/Embed.md)
|
||||
- [Config Options Reference](https://github.com/cesanta/mongoose/blob/master/docs/Options.md)
|
||||
- [API Reference](https://github.com/cesanta/mongoose/blob/master/docs/API.md)
|
||||
- [Android Build Tutorial](https://docs.cesanta.com/AndroidBuild.shtml)
|
||||
- [Release Notes](https://github.com/cesanta/mongoose/blob/master/docs/ReleaseNotes.md)
|
||||
|
||||
# Mongoose Binary
|
||||
|
||||
This is our easy to use web server for web developers (PHP, Ruby, Python, etc)
|
||||
and web designers. Available in three editions to suit your needs: free, pro
|
||||
(USD 5) and dev edition (from USD 8). To install, simply download, double-click
|
||||
to start and run browser - that's all!
|
||||
|
||||
[Download Mongoose Binary here](https://www.cesanta.com/mongoose)
|
||||
|
||||
# Other products by Cesanta
|
||||
|
||||
- [Smart.js](https://github.com/cesanta/smart.js) - Generic, hardware independent, full-stack IoT software platform
|
||||
- [Fossa](http://github.com/cesanta/fossa) - Multi-protocol networking library
|
||||
- [V7](https://github.com/cesanta/v7) - Embedded JavaScript engine
|
||||
- [Frozen](https://github.com/cesanta/frozen) - JSON parser and generator
|
||||
- [SLRE](https://github.com/cesanta/slre) - Super Light Regular Expression
|
||||
library
|
||||
Mongoose is released under
|
||||
[GNU GPL v.2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html).
|
||||
Businesses have an option to get non-restrictive, royalty-free commercial
|
||||
license and professional support from [Cesanta](https://www.cesanta.com).
|
||||
Reference in new issue
Block a user