1*1c60b9acSAndroid Build Coastguard Worker[](https://libwebsockets.org/git/libwebsockets) [](https://scan.coverity.com/projects/3576) [](https://bestpractices.coreinfrastructure.org/projects/2266) [](https://www.codacy.com/app/lws-team/libwebsockets?utm_source=github.com&utm_medium=referral&utm_content=warmcat/libwebsockets&utm_campaign=Badge_Grade) [](https://lgtm.com/projects/g/warmcat/libwebsockets/alerts/) [](https://lgtm.com/projects/g/warmcat/libwebsockets/context:cpp) [](https://lgtm.com/projects/g/warmcat/libwebsockets/context:javascript) 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard Worker# Libwebsockets 4*1c60b9acSAndroid Build Coastguard Worker 5*1c60b9acSAndroid Build Coastguard WorkerLibwebsockets is a simple-to-use, MIT-license, pure C library providing client and server 6*1c60b9acSAndroid Build Coastguard Workerfor **http/1**, **http/2**, **websockets**, **MQTT** and other protocols in a security-minded, 7*1c60b9acSAndroid Build Coastguard Workerlightweight, configurable, scalable and flexible way. It's easy to build and 8*1c60b9acSAndroid Build Coastguard Workercross-build via cmake and is suitable for tasks from embedded RTOS through mass 9*1c60b9acSAndroid Build Coastguard Workercloud serving. 10*1c60b9acSAndroid Build Coastguard Worker 11*1c60b9acSAndroid Build Coastguard WorkerIt supports a lot of lightweight ancilliary implementations for things like JSON, 12*1c60b9acSAndroid Build Coastguard WorkerCBOR, JOSE, COSE, and supports OpenSSL and MbedTLS v2 and v3 out of the box for everything. 13*1c60b9acSAndroid Build Coastguard WorkerIt's very gregarious when it comes to event loop sharing, supporting libuv, libevent, libev, 14*1c60b9acSAndroid Build Coastguard Workersdevent, glib and uloop, as well as custom event libs. 15*1c60b9acSAndroid Build Coastguard Worker 16*1c60b9acSAndroid Build Coastguard Worker[100+ independent minimal examples](https://libwebsockets.org/git/libwebsockets/tree/minimal-examples) for various scenarios, CC0-licensed 17*1c60b9acSAndroid Build Coastguard Worker(public domain) for cut-and-paste, allow you to get started quickly. 18*1c60b9acSAndroid Build Coastguard Worker 19*1c60b9acSAndroid Build Coastguard Worker[There are a lot of READMEs](https://libwebsockets.org/git/libwebsockets/tree/READMEs) on a variety of topics. 20*1c60b9acSAndroid Build Coastguard Worker 21*1c60b9acSAndroid Build Coastguard Worker[We do a huge amount of CI testing per push](https://libwebsockets.org/sai/), currently 582 builds on 30 platforms. 22*1c60b9acSAndroid Build Coastguard Worker[You can see the lws CI rack and read about how lws-based Sai is used to coordinate all the testing](https://warmcat.com/2021/08/21/Sai-CI.html). 23*1c60b9acSAndroid Build Coastguard Worker 24*1c60b9acSAndroid Build Coastguard Worker 25*1c60b9acSAndroid Build Coastguard Worker 26*1c60b9acSAndroid Build Coastguard WorkerNews 27*1c60b9acSAndroid Build Coastguard Worker---- 28*1c60b9acSAndroid Build Coastguard Worker 29*1c60b9acSAndroid Build Coastguard Worker## v4.3 is released 30*1c60b9acSAndroid Build Coastguard Worker 31*1c60b9acSAndroid Build Coastguard WorkerSee the [changelog](https://libwebsockets.org/git/libwebsockets/tree/changelog) 32*1c60b9acSAndroid Build Coastguard Worker 33*1c60b9acSAndroid Build Coastguard Worker 34*1c60b9acSAndroid Build Coastguard Worker## Lws work retrospective 35*1c60b9acSAndroid Build Coastguard Worker 36*1c60b9acSAndroid Build Coastguard WorkerThe initial commit for lws will have been 11 years ago come Oct 28 2021, it's been a lot of work. 37*1c60b9acSAndroid Build Coastguard WorkerThere are a total of 4.3K patches, touching 800KLOC cumulatively (this is not the size in the 38*1c60b9acSAndroid Build Coastguard Workerrepo, but over the years, how many source lines were changed by patches). 39*1c60b9acSAndroid Build Coastguard Worker 40*1c60b9acSAndroid Build Coastguard Worker 41*1c60b9acSAndroid Build Coastguard Worker 42*1c60b9acSAndroid Build Coastguard WorkerGratifyingly, it turns out over the years, ~15% of that was contributed by 404 contributors: that's not so bad. 43*1c60b9acSAndroid Build Coastguard WorkerThanks a lot to everyone who has provided patches. 44*1c60b9acSAndroid Build Coastguard Worker 45*1c60b9acSAndroid Build Coastguard WorkerToday at least tens of millions of devices and product features rely on lws to 46*1c60b9acSAndroid Build Coastguard Workerhandle their communications including several from FAANG; Google now include lws 47*1c60b9acSAndroid Build Coastguard Workeras part of Android sources. 48*1c60b9acSAndroid Build Coastguard Worker 49*1c60b9acSAndroid Build Coastguard Worker## Support 50*1c60b9acSAndroid Build Coastguard Worker 51*1c60b9acSAndroid Build Coastguard WorkerThis is the libwebsockets C library for lightweight websocket clients and 52*1c60b9acSAndroid Build Coastguard Workerservers. For support, visit 53*1c60b9acSAndroid Build Coastguard Worker 54*1c60b9acSAndroid Build Coastguard Worker https://libwebsockets.org 55*1c60b9acSAndroid Build Coastguard Worker 56*1c60b9acSAndroid Build Coastguard Workerand consider joining the project mailing list at 57*1c60b9acSAndroid Build Coastguard Worker 58*1c60b9acSAndroid Build Coastguard Worker https://libwebsockets.org/mailman/listinfo/libwebsockets 59*1c60b9acSAndroid Build Coastguard Worker 60*1c60b9acSAndroid Build Coastguard WorkerYou can get the latest version of the library from git: 61*1c60b9acSAndroid Build Coastguard Worker 62*1c60b9acSAndroid Build Coastguard Worker- https://libwebsockets.org/git 63*1c60b9acSAndroid Build Coastguard Worker 64*1c60b9acSAndroid Build Coastguard WorkerDoxygen API docs for development: https://libwebsockets.org/lws-api-doc-main/html/index.html 65*1c60b9acSAndroid Build Coastguard Worker 66