*µWebSockets.js™ (it's "[micro](https://en.wikipedia.org/wiki/Micro-)") is simple, secure*[[1]](https://github.com/uNetworking/uWebSockets/tree/master/fuzzing) *& standards compliant*[[2]](https://unetworking.github.io/uWebSockets.js/report.pdf) *web I/O for the most demanding*[[3]](https://github.com/uNetworking/uWebSockets/tree/master/benchmarks) *of applications.* • [For Python](https://github.com/uNetworking/uWebSockets.py) • [User manual](https://github.com/uNetworking/uWebSockets/blob/master/misc/READMORE.md) • [Docs](https://unetworking.github.io/uWebSockets.js/generated/) *© 2016-2019, >39,632,272 downloads*
#### In a nutshell. Think of it as a complete replacement to both Express.js and Socket.IO, written entirely in C/C++ for maximum performance and reliability. There are tons of [examples](examples) but here's the gist of it all: ```javascript /* Non-SSL is simply App() */ require('uWebSockets.js').SSLApp({ /* There are tons of SSL options */ key_file_name: 'misc/key.pem', cert_file_name: 'misc/cert.pem', }).ws('/*', { /* For brevity we skip the other events */ message: (ws, message, isBinary) => { let ok = ws.send(message, isBinary); } }).any('/*', (res, req) => { /* Let's deny all Http */ res.end('Nothing to see here!'); }).listen(9001, (listenSocket) => { if (listenSocket) { console.log('Listening to port 9001'); } }); ``` #### Ready all thrusters. Install with `npm install uNetworking/uWebSockets.js#v17.3.0` or any such [release](https://github.com/uNetworking/uWebSockets.js/releases). No compiler needed. ![](misc/features_strip.png) Real-world tests over TLS 1.3 and Ethernet puts us **5x** as efficient as Socket.IO, **2x** as efficient as websockets/ws. #### Pay what you want. Commercially developed on a sponsored/consulting basis; BitMEX, Bitfinex and Coinbase are current or previous sponsors. Contact [me, the author](https://github.com/alexhultman) for support, feature development or consulting/contracting. ![](https://raw.githubusercontent.com/uNetworking/uWebSockets/master/misc/2018.png) #### Know thy legal matters. *µWebSockets.js is intellectual property licensed Apache 2.0 with limitations on trademark use. Forks must be clearly labelled as such and must not be confused with the original.*