A cross-platform embedded networking library for C/C++ with built-in TCP/IP stack, HTTP, WebSocket, and MQTT support.
Mongoose is an embedded networking library for C/C++ that provides event-driven, non-blocking APIs for TCP, UDP, HTTP, WebSocket, MQTT, and other protocols. It solves the problem of connecting devices to the internet by offering a lightweight, portable solution that works across a wide range of hardware, from microcontrollers to servers. The library includes its own TCP/IP stack for bare-metal systems and supports external stacks like lwIP, making it versatile for embedded and IoT applications.
Embedded software engineers and firmware developers working on IoT devices, industrial automation, consumer electronics, or any C/C++ project requiring network connectivity on resource-constrained hardware.
Developers choose Mongoose for its exceptional portability, minimal footprint, and comprehensive protocol support, which simplifies embedded network programming. Its built-in TCP/IP stack reduces dependencies, while proven reliability in production environments (including space missions) and strong security practices make it a trusted choice for commercial products.
Embedded web server, with TCP/IP network stack, MQTT and Websocket
Works on Linux, Windows, MacOS, Android, and embedded chips like STM32 and ESP32 with a single codebase, enabling unified network code across diverse hardware.
Supports TCP, UDP, HTTP, WebSocket, MQTT, and SNTP out of the box, reducing dependency on additional libraries for common IoT and embedded use cases.
Requires only two source files (mongoose.c and .h) and offers a tiny static and runtime footprint, making it ideal for memory-constrained embedded devices.
Includes a lightweight built-in stack for bare-metal or RTOS systems, eliminating external dependencies like lwIP and simplifying deployment on supported MCUs.
Used since 2004 in commercial products and even on the International Space Station, with strong security practices and continuous fuzzing integration.
Uses GPLv2 or commercial licensing, which can be restrictive for proprietary projects without a paid license, adding overhead for some teams.
Exclusively for C and C++ projects, not suitable for developers using other programming languages like Rust or Go for embedded systems.
The built-in TCP/IP stack supports specific hardware drivers (e.g., STM32, NXP), so unsupported platforms require external stacks, adding integration complexity.
Lacks higher-level abstractions common in desktop/server libraries, such as built-in authentication or database connectors, requiring manual implementation.
Simple, secure & standards compliant web server for the most demanding of applications
:zap: KCP - A Fast and Reliable ARQ Protocol
A C++ header-only HTTP/HTTPS server and client library
Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.