Titan AI LogoTitan AI

mongoose

12,284
2,856
C

Project Description

Embedded web server, with TCP/IP network stack, MQTT and Websocket

mongoose: Embedded web server, with TCP/IP network stack, MQTT and Websocket

Project Title

mongoose — A Comprehensive Embedded Web Server and Network Library for C/C++

Overview

Mongoose is a robust, event-driven, non-blocking network library for C/C++ that supports TCP, UDP, HTTP, WebSocket, MQTT, and other protocols. It is designed for connecting devices and bringing them online, with a focus on ease of use, cross-platform compatibility, and minimal footprint. Mongoose has been on the market since 2004 and is used in a vast number of open-source and commercial products, including applications on the International Space Station.

Key Features

  • Cross-platform compatibility: Works on Linux/UNIX, MacOS, Windows, Android, and various embedded chips.
  • Built-in protocols: Supports plain TCP/UDP, SNTP, HTTP, MQTT, WebSocket, and more.
  • Asynchronous DNS resolver and tiny static and run-time footprint.
  • ISO C and ISO C++ compliant source code.
  • Easy integration: Simply copy mongoose.c and mongoose.h files to your source tree.
  • Built-in TCP/IP stack with drivers for bare metal or RTOS systems.
  • Can run on top of an existing TCP/IP stack with BSD API.
  • Built-in TLS 1.3 ECC stack and support for external TLS libraries.
  • Does not depend on any other software to implement networking.
  • Built-in firmware updates for STM32 H5, STM32 H7.

Use Cases

  • Connecting IoT devices to the internet and enabling them to communicate with each other.
  • Implementing a lightweight web server for embedded systems.
  • Developing firmware updates for embedded devices.
  • Creating a unified network infrastructure code across different platforms and devices.

Advantages

  • Long-standing reputation and proven reliability in various applications.
  • Comprehensive support for a wide range of protocols and platforms.
  • Small footprint and high performance, making it ideal for resource-constrained environments.
  • Active development and maintenance by the community.

Limitations / Considerations

  • The project's license is currently unknown, which may affect its suitability for certain use cases.
  • While it supports a wide range of platforms, there may be specific hardware or software environments where it is not compatible or requires additional configuration.

Similar / Related Projects

  • lwIP: A lightweight TCP/IP stack that can be used in conjunction with Mongoose for network functionality. It differs in that it is primarily a TCP/IP stack, whereas Mongoose offers a broader range of network functionalities.
  • Zephyr: An open-source real-time operating system that can be used with Mongoose for embedded systems. Zephyr focuses on RTOS capabilities, while Mongoose provides the network stack and protocols.
  • mbedTLS: A popular open-source library for TLS/SSL that can be used as an external TLS library with Mongoose. MbedTLS is specialized in security, whereas Mongoose offers a broader network solution.

Basic Information


📊 Project Information

  • Project Name: mongoose
  • GitHub URL: https://github.com/cesanta/mongoose
  • Programming Language: C
  • ⭐ Stars: 12,157
  • 🍴 Forks: 2,834
  • 📅 Created: 2012-08-14
  • 🔄 Last Updated: 2025-09-17

🏷️ Project Topics

Topics: [, ", e, m, b, e, d, d, e, d, ", ,, , ", h, t, t, p, ", ,, , ", i, o, t, ", ,, , ", m, q, t, t, ", ,, , ", t, c, p, ", ,, , ", t, c, p, i, p, ", ,, , ", t, l, s, 1, 3, ", ,, , ", u, d, p, ", ,, , ", w, e, b, -, s, e, r, v, e, r, ", ,, , ", w, e, b, s, e, r, v, e, r, ", ,, , ", w, e, b, s, o, c, k, e, t, ", ]



This article is automatically generated by AI based on GitHub project information and README content analysis

Titan AI Explorehttps://www.titanaiexplore.com/projects/mongoose-5414488en-USTechnology

Project Information

Created on 8/14/2012
Updated on 11/2/2025