µWebSockets.js™ (it's "micro") is simple, secure[1] & standards compliant web I/O for the most demanding[2] of applications.
In a nutshell.
µWebSockets.js is the Google V8 bindings to µWebSockets, one of the most efficient web servers available for C++ programming[2]. Bypassing the entire I/O stack of Node.js allows for unprecedented efficiency in back-end JavaScript - what you build stands on nothing but the best of C and C++. Scales to millions of active WebSockets using half a GB of user space memory[3].
npm install uNetworking/uWebSockets.js#v15.8.0
, or any such tag (see releases).
Simple.
There are tons of examples but here's the gist of it all:
const uWS = require('uWebSockets.js');
/* Non-SSL is simply uWS.App() */
uWS.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');
}
});Pay what you want.
Commercially developed on a sponsored/consulting basis; BitMEX, Bitfinex and Coinbase are current or previous sponsors. Contact me, the author for support, feature development or consulting/contracting.
µ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.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

