diff --git a/README.md b/README.md index e6d3fe02..47936386 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,10 @@ [![Code Coverage](https://codecov.io/gh/cesanta/mongoose/branch/master/graph/badge.svg)](https://codecov.io/gh/cesanta/mongoose) [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/mongoose.svg)](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:mongoose) -Mongoose is a network library for C/C++. -It implements event-driven -non-blocking APIs for TCP, UDP, HTTP, WebSocket, MQTT. It is designed for -connecting devices and bringing them online. On the market since 2004, used by -vast number of open source and commercial products - it even runs on the +Mongoose is a network library for C/C++. It provides event-driven non-blocking +APIs for TCP, UDP, HTTP, WebSocket, MQTT, and other protocols. It is designed +for connecting devices and bringing them online. On the market since 2004, used +by vast number of open source and commercial products - it even runs on the International Space Station! Mongoose makes embedded network programming fast, robust, and easy. Features include: @@ -18,22 +17,21 @@ robust, and easy. Features include: - works on STM32, NXP, ESP32, NRF52, TI, Microchip, and other - write code once - and it'll work everywhere - ideal for the unification of the network infrastructure code across company -- Built-in protocols: plain TCP/UDP, SNTP, HTTP, MQTT, Websocket -- SSL/TLS support for mbedTLS and OpenSSL +- Built-in protocols: plain TCP/UDP, SNTP, HTTP, MQTT, Websocket, and other - Asynchronous 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` and `mongoose.h` files to your source tree. See +- Easy to integrate: just copy `mongoose.c` and `mongoose.h` files to your source tree. See [exact steps](https://mongoose.ws/documentation/#2-minute-integration-guide) -- Works in any environment with socket API, like LwIP, Zephyr, Azure - Built-in TCP/IP stack with drivers for bare metal or RTOS systems - Available drivers: STM32F, STM32H; NXP RT1xxx; TI TM4C; Microchip SAME54; Wiznet W5500 - A complete Web device dashboard on bare metal [Nucleo-F429ZI](examples/stm32/nucleo-f429zi-baremetal) is only 6 files - For comparison, a CubeIDE generated HTTP example is 400+ files -- Built-in TLS 1.3 server-side support +- Can run on top of an existing TCP/IP stack with BSD API, e.g. lwIP, Zephyr, Azure, etc +- Built-in TLS 1.3 stack. Aslo can use external TLS libraries - mbedTLS, OpenSSL, or other - Does not depend on any other software to implement networking -- Built-in firmware updates for STM32H5, STM32H7, and more coming +- Built-in firmware updates for STM32 H5, STM32 H7 - Detailed [user guide, API reference and tons of tutorials](https://mongoose.ws/documentation/) ## Usage