Repolode
cesanta

cesanta/mongoose

Сетевая библиотека для встроенных систем на C из двух файлов: стек TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT и OTA-обновления прошивки для микроконтроллеров.

Звёзды
13,105
Форки
2,955
Открытые issues
3
Последний коммит
позавчера

Что это?

Mongoose — сетевая библиотека для встроенных проектов на C/C++. В двух исходных файлах, mongoose.c и mongoose.h, без внешних зависимостей собраны стек TCP/IP с драйверами, TLS 1.3, HTTP, WebSocket, MQTT и поддержка OTA-обновлений прошивки. Библиотека работает как на bare metal, так и под управлением RTOS, а также может использовать существующий стек, например lwIP или Zephyr.

Библиотека предназначена для микроконтроллеров семейств STM32, NXP i.MX RT, MCX и RW612, а также ESP32, Raspberry Pi RP2040/RP2350, Renesas RA и микроконтроллеров TI. Кроме того, она поддерживает Linux, macOS и Windows. API построен на событийной модели с единым циклом event manager и обработчиком для каждого соединения. Среди встроенных протоколов также есть обычные TCP/UDP, SNTP, асинхронный DNS и Modbus-TCP.

Проект распространяется по двойной лицензии: GPLv2 или коммерческой. Для коммерческих пользователей поставщик предлагает платную поддержку и обновления безопасности.

Ключевые возможности

  • 01Встроенный стек TCP/IP с драйверами для множества Ethernet- и Wi-Fi-чипов для MCU
  • 02Встроенный TLS 1.3 или внешние mbedTLS и OpenSSL
  • 03Поддержка HTTP-сервера и клиента, WebSocket и MQTT
  • 04OTA-обновления прошивки для ряда платформ STM32, RP2040/2350, ESP32 и NXP
  • 05Исходный код на чистом ISO C и C++ без внешних зависимостей

Сценарии использования

  • Добавление панели веб-настройки в устройство на базе микроконтроллера
  • Отправка телеметрии с IoT-устройства на MQTT-брокер
  • Доставка OTA-обновлений прошивки на встроенное оборудование
  • Запуск небольшого REST API на плате с ограниченными ресурсами

Быстрый старт

  1. 1

    Скопируйте mongoose.c и mongoose.h в проект

  2. 2

    Создайте main.c, который подключает mongoose.h и настраивает цикл обработки событий

  3. 3

    Соберите программу с помощью компилятора C

    cc main.c mongoose.c

Что важно знать

  • Проект распространяется по двойной лицензии — GPLv2 или коммерческой. Поэтому для продуктов с закрытым исходным кодом требуется платная коммерческая лицензия.
  • Коммерческая поддержка и раннее получение исправлений безопасности доступны только по платной лицензии.

В подборках

Темы

Частые вопросы

Что такое mongoose?
Сетевая библиотека для встроенных систем на C из двух файлов: стек TCP/IP, TLS 1.3, HTTP, WebSocket, MQTT и OTA-обновления прошивки для микроконтроллеров. Mongoose — сетевая библиотека для встроенных проектов на C/C++. В двух исходных файлах, mongoose.c и mongoose.h, без внешних зависимостей собраны стек TCP/IP с драйверами, TLS 1.3, HTTP, WebSocket, MQTT и поддержка OTA-обновлений прошивки. Библиотека работает как на bare metal, так и под управлением RTOS, а также может использовать существующий стек, например lwIP или Zephyr.
mongoose можно использовать бесплатно? Какая у него лицензия?
mongoose распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
mongoose всё ещё поддерживается?
Активно поддерживается. Последний коммит в mongoose — 23 окт. 2026 г..
Для чего можно использовать mongoose?
Добавление панели веб-настройки в устройство на базе микроконтроллера Отправка телеметрии с IoT-устройства на MQTT-брокер Доставка OTA-обновлений прошивки на встроенное оборудование Запуск небольшого REST API на плате с ограниченными ресурсами
Как установить mongoose?
Скопируйте mongoose.c и mongoose.h в проект Создайте main.c, который подключает mongoose.h и настраивает цикл обработки событий Соберите программу с помощью компилятора C: cc main.c mongoose.c
Где скачать mongoose?
Исходный код и инструкции по установке — на GitHub: https://github.com/cesanta/mongoose

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Система на основе конфигураций, которая превращает микроконтроллеры ESP32, ESP8266, BK72xx и RP2040 в умные устройства для управления через Home Assistant и другие системы автоматизации дома.

11,9 тыс.+2 за неделю5,7 тыс.C++OtherОбновлён 15 часов назад