awesome-websockets

WebSocket toolkit

A curated list of WebSockets technologies and resources for building real-time communication channels.

A curated list of Websocket libraries and resources.

GitHub

2k stars
46 watching
169 forks
last commit: 2 days ago
Linked from 2 awesome lists

html5-websocketsnode-websocketphp-websocketwebsocketwebsocket-apiwebsocket-chatwebsocket-clientwebsocket-librarywebsocket-nodewebsocket-protocolwebsocket-railswebsocket-serverwebsocketdwebsockets

Awesome WebSockets / Tools per Language / Agnostic

Centrifugo 8,415 6 days ago Scalable real-time messaging in language-agnostic way
Websocketd WebSockets the UNIX way - Full duplex messaging between web browsers and servers
Nchan Nchan is a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server
Apache-websocket 196 over 8 years ago Apache WebSocket module
MinnowServer 320 about 2 months ago A super small and fast embedded HTTP(S) WebSocket server
gwsocket 752 2 months ago Fast, standalone, language-agnostic WebSocket server RFC6455 compliant

Awesome WebSockets / Tools per Language / Ballerina

Ballerina WebSocket Module Tailored WebSocket client and server implementations in Ballerina, designed and optimized for seamless integration

Awesome WebSockets / Tools per Language / C

Libwebsockets It's a lightweight pure C library built to use minimal CPU and memory resources, and provide fast throughput in both directions as client or server
Libwebsock 220 10 months ago C library for easy WebSockets server
Websocket 200 about 1 year ago Websocket server written in C
facil.io A server/framework library for web applications, including Websockets and native pub/sub
libuwsc 289 almost 3 years ago A Lightweight and fully asynchronous WebSocket client C library based on libubox for Embedded Linux
mongoose 11,152 7 days ago Mongoose Embedded Web Server Library - Mongoose is more than an embedded webserver. It is a multi-protocol embedded networking library with functions including TCP, HTTP client and server, WebSocket client and server, MQTT client and broker and much more
WebSockets in C 70 over 1 year ago A minimal implementation for embedded applications
Wslay 608 about 2 years ago Designed to be embedded in other programs; freedom to choose your own network I/O. Event-based API, as well as synchronous frame-based

Awesome WebSockets / Tools per Language / C++

Websocketpp 7,056 3 months ago C++ Websocket client/server library
QtWebSockets The QtWebSockets module is an add-on for the Qt5 library
Beast 4,372 6 days ago HTTP and WebSocket built on Boost.Asio in C++11
µWebSockets 17,416 6 days ago Highly scalable WebSocket server library
Simple-WebSocket-Server 800 over 6 years ago A very simple, fast, multithreaded, platform independent WebSocket (WS) and WebSocket Secure (WSS) server and client library implemented using C++11, Boost.Asio and OpenSSL
UEWebsocket Unreal engine 4 websocket plugin for both c++ and blueprint developer
IXWebSocket 551 11 days ago Lightweight C++11 multi-threaded client library with TLS support
LAppS 52 almost 4 years ago LAppS - Lua Application Server for micro-services with default communication over WebSockets
libhv 6,831 15 days ago A network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server

Awesome WebSockets / Tools per Language / C#

ASP.NET SignalR Incredibly simple real-time web for .NET
WebSocketListener Lightweight and highly scalable asynchronous WebSocket server for .NET/Mono
websocket-rpc 140 about 6 years ago WebSocket RPC library for .NET with auto JavaScript client code generation, supporting ASP.NET Core
NetGain 928 almost 6 years ago A high performance websocket server library powering Stack Overflow
websocket-manager 452 almost 4 years ago Real-Time library for ASP .NET Core
WebSockets 355 about 6 years ago Implementation of the WebSocket protocol, along with client and server integration components
WebSockets support in ASP.NET Core This article explains how to get started with WebSockets in ASP.NET Core
unity-websocket-server 69 over 2 years ago A simple, zero-dependency WebSocket server for Unity
websocket-sharp 5,731 15 days ago A C# implementation of the WebSocket protocol client and server

Awesome WebSockets / Tools per Language / Erlang

Sockjs-erlang 266 over 7 years ago WebSocket emulation - Erlang server
Cowboy 7,307 6 days ago Small, fast, modular HTTP server written in Erlang
n2o 1,344 3 months ago Erlang web server on websockets
Kraken 333 almost 4 years ago Distributed Pubsub Server for Realtime Apps

Awesome WebSockets / Tools per Language / Go

Gorilla Websocket 22,445 3 months ago WebSocket implementation for Go
Websocket Package Websocket implements a client and server for the WebSocket protocol as specified in RFC 6455
Ws 6,143 5 months ago Tiny WebSocket library for Go
1m-go-websockets 5,816 over 2 years ago Handling 1M websockets connections in Go
gotify/server A simple server for sending and receiving messages in real-time per web socket
nhooyr/websocket 3,950 14 days ago A minimal and idiomatic WebSocket library for Go
Centrifuge 1,102 9 days ago Real-time messaging library for Go with scalability in mind

Awesome WebSockets / Tools per Language / Haskell

Websockets 407 19 days ago A Haskell library for creating WebSocket-capable servers
n2o 48 almost 3 years ago Haskell implementation of Erlang's n2o - web server on websockets

Awesome WebSockets / Tools per Language / Java VM

Sente 1,738 24 days ago Realtime web comms for Clojure/Script
Chord 439 over 4 years ago Library designed to bridge the gap between the triad of CLJ/CLJS, web-sockets and core.async
Luminusweb Luminus is a Clojure micro-framework based on a set of lightweight libraries
Project Tyrus JSR 356: Java API for WebSocket - Reference Implementation
Java-WebSocket 10,530 7 days ago Barebones WebSocket client and server implementation written in 100% Java
Atmosphere 3,693 14 days ago Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks
Webbit 817 11 months ago Java event based WebSocket and HTTP server
nv-websocket-client 2,028 10 months ago High-quality WebSocket client implementation in Java which
Scarlet 3,240 over 2 years ago Tinder's Retrofit inspired WebSocket client for Kotlin, Java, and Android
Play The high velocity web framework for Java and Scala
Finagle-websocket 35 almost 7 years ago Finagle Websocket clients and servers

Awesome WebSockets / Tools per Language / Julia

HTTP.jl 634 13 days ago HTTP library for Julia with support on Websockets
WebSockets.jl 158 almost 2 years ago A WebSockets library for Julia

Awesome WebSockets / Tools per Language / Node.js

Socket.IO Featuring the fastest and most reliable real-time engine
Nodejs-websocket 737 about 1 year ago Node.js module for websocket server and client
WebSocket-Node 3,757 6 months ago WebSocket Implementation for Node.JS (Draft -08 through the final RFC 6455)
Sockjs-node 2,095 about 1 year ago WebSocket emulation - Node.js server
Ws 21,752 26 days ago : The fastest cross platform RFC-6455 WebSocket implementation for Node.js
deepstream.io Open realtime server a fast, secure and scalable realtime server for mobile, web & iot
websocket-as-promised 595 about 2 months ago Promise-based W3C WebSocket wrapper: allows to use promises when connecting, disconnecting and messaging with WebSocket server
faye-websocket-node 611 about 1 year ago Standards-compliant WebSocket client and server
ws-wrapper 76 5 months ago Lightweight WebSocket wrapper that provides a socket.io-like event-handler API along with Promise-based requests
ws-server-wrapper 18 5 months ago Companion library for ws-wrapper for the server-side
wspromisify Makes WebSockets async/await ready with a lot of yummies
uws 8,095 6 days ago Tiny WebSockets (access to the C++ library, µWebSockets, via Node.js)
netflux JavaScript client and server side transport API based on WebRTC & WebSocket
Sockette 2,454 10 months ago WebSocket client that will automatically reconnect if the connection is lost
rpc-websockets 592 about 2 months ago JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript
soketi 4,968 4 months ago Just another simple, fast, and resilient open-source WebSockets server. Built on top of uWebSockets.js
ZilaWS Server A very easy-to-use and fast WS implementation with async/await eventhandlers and extendable classes

Awesome WebSockets / Tools per Language / Perl

Net::WebSocket::Server Straightforward Perl WebSocket server with minimal dependencies
AnyEvent::WebSocket::Server WebSocket server for AnyEvent
Mojolicious An amazing real-time web framework built on top of the powerful Mojo web development toolkit and comes with websockets built in
Dancer2::Plugin::WebSocket add a websocket interface to your Dancer2 app
Plack::App::WebSocket WebSocket server as a plack/PSGI application
Net::WebSocket Super-flexible, minimal client & server library

Awesome WebSockets / Tools per Language / PHP

Ratchet Ratchet is a loosely coupled PHP library providing developers with tools to create real time, bi-directional applications between clients and servers over WebSockets
Php-websocket 580 about 2 years ago Simple PHP WebSocket implementation for PHP 5.3
Phpws 348 over 5 years ago PHP Web Socket server
Sandstone Microframework to build a real time Rest API
Laravel Websockets 5,077 10 months ago A package for Laravel 5.7 and up that will get your application started with WebSockets in no-time!

Awesome WebSockets / Tools per Language / Python

Django Channels Extends with WebSocket, long-poll HTTP, task offloading and other async support
Websockets ( ) - Websockets is a library for developing WebSocket servers and clients in Python 3
Ws4py WebSocket package for Python
Autobahn.ws Open-source real-time framework for Web, Mobile & Internet of Things
Tornado Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed
WebSocket Benchmarker 30 over 5 years ago CLI tool for benchmarking WebSocket Servers
Starlette
Simple Http Server 49 7 months ago A simple HTTP server, including support of numerous websocket events like , etc. And even
Picows Ultra-fast WebSocket client and server library for asyncio

Awesome WebSockets / Tools per Language / R

httpuv Provides low-level socket and protocol support for WebSocket (and HTTP) servers in R. Built on top of the and C libraries
routr A simple router for WebSocket (and HTTP) requests in R
websocket Provides a WebSocket client interface for R

Awesome WebSockets / Tools per Language / Ruby

AnyCable Polyglot replacement for Ruby WebSocket servers with Action Cable protocol
Em-websocket 1,690 about 3 years ago EventMachine based WebSocket server
Faye-websocket-ruby 1,038 about 1 year ago Standards-compliant WebSocket client and server
Iodine 915 19 days ago WebSocket/HTTP server with integrated pub/sub and optional Redis support
Rage 801 about 2 months ago Fast WebSocket server compatible with Action Cable
Websocket-driver-ruby 223 4 months ago WebSocket protocol handler with pluggable I/O
Websocket-ruby 447 4 months ago Universal Ruby library to handle WebSocket protocol
Scorched 275 over 1 year ago Light-weight web framework for Ruby
Firehose Build realtime Ruby web applications. Created by the fine folks at Poll Everywhere
Slanger 1,695 over 2 years ago Open Pusher implementation compatible with Pusher libraries
render_sync 1,401 over 5 years ago Real-time Rails Partials
websocket-rails 1,728 9 months ago Plug and play websocket support for ruby on rails

Awesome WebSockets / Tools per Language / Rust

Actix A Rust web framework with support for the Websocket Protocol
Websocket Core 13 about 5 years ago Rust Websocket server for periodic message broadcast
Tungstenite 1,924 6 days ago Lightweight stream-based WebSocket implementation
Tokio-Tungstenite 1,875 17 days ago Tokio binding for Tungstenite, the Lightweight stream-based WebSocket implementation
Fastwebsockets 872 4 months ago A fast RFC6455 WebSocket server implementation
Ratchet 40 15 days ago Ratchet is a fast, lightweight and fully asynchronous implementation of the WebSocket protocol with support for extensions and Deflate
wtx 196 6 days ago Client and server with encryption support

Awesome WebSockets / Tools per Language / Swift

Vapor A high level web framework for Swift
WebsocketKit 278 about 2 months ago A low level WebSocket client library built on SwiftNIO

Awesome WebSockets / Tools per Language / Protocols and APIs

RFC6455 The WebSocket Protocol
The WebSocket API WebSockets - Living Standard

Awesome WebSockets / GUI Testing Tools

Cleora A native macOS, iOS and iPadOS WebSocket client for testing and documenting APIs
Firecamp Full-featured GUI WebSocket testing client which helps Dev team to test WebSocket events visually. Test APIs, save them in the project and share it with your team
WebSocket King A browser based WebSocket testing client that supports multiple simultanious connections, logs of incoming and outgoing messages, custom protocols and multiple projects
Simple WebSocket Client Simple WebSocket Client (Chrome Extension)

Awesome WebSockets / Browser libraries

WSGO 3 5 months ago like Axios.js, only for WebSocket, adds handy debugging tools
ZilaWS Client A very easy-to-use and fast WS implementation with async/await eventhandlers

Awesome WebSockets / Visualization Tools

Foxglove ws-protocol 99 6 days ago Websocket protocol for visualization of multimodal data

Awesome WebSockets / Command-Line Interface (CLI) Tools

claws 302 almost 2 years ago Awesome WebSocket Client - an interactive command line client for testing websocket servers
wscat 2,247 about 1 month ago WebSocket cat
wsta 632 about 6 years ago A CLI development tool for WebSocket APIs
ws 426 over 1 year ago websocket command line tool
wssh 268 about 1 year ago wssh ("wish") is a command-line utility/shell for WebSocket inspired by netcat
wsc 51 about 7 years ago A tiny command line websocket client written in Go
ws-cli 17 about 8 years ago WebSocket Command Line Client written in Go
ws-tool 25 about 3 years ago A Develop Tool to Test WebSocket, Socket.IO, Stomp, Bayeux, HTTP, TCP, UDP, WebRTC, DNS API
websocketd 17,160 5 months ago Turn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets
websocat 7,144 8 days ago Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
iola 153 about 1 year ago Socket client with Rest API (WebSocket, Socket.IO, TCP, Unix socket)

Awesome WebSockets / Real Life Stories

The top 10 realtime web apps
Super sync sports
Firepad
JabbR
Kaazing
Taskade Real-time collaborative task lists and outlines

Awesome WebSockets / Security

WebSockets - An Introduction The problems and some security implications of websockets - Cross-site WebSockets Scripting (XSWS)
Hacking with WebSockets Talk on Blackhat USA 2012 Conference
Testing for WebSockets Security Vulnerabilities Interactive vulnerable WebSocket demos that provide hands-on learning of WebSocket security risks
Testing WebSockets This article is part of the new OWASP Testing Guide v4
Websockets Auth Journey into WebSockets Authentication/Authorization
WebSocket Security The WebSocket protocol is a young technology, and brings with it some risks. Decades of experience have taught the web community some best practices around HTTP security, but the security best practices in the WebSocket world aren’t firmly established, and continue to evolve. Nevertheless, some themes have emerged and they are described in this article
Cross-Site WebSocket Hijacking Cross-Site WebSocket Hijacking (CSWSH) - Web Application Security Blog

Awesome WebSockets / Theory / Articles & Papers

An introduction to Websockets Brief History of Real-Time Web Applications
Introducing WebSockets: Bringing Sockets to the Web The Problem: Low Latency Client-Server and Server-Client Connections
About HTML5 WebSocket About HTML5 WebSocket
Node.js WebSocket Finding the right Node.js WebSocket implementation
Websockets 101 Armin Ronacher's Thoughts and Writings (creator of Flask)
Real-time Apps Building Real-time Apps with Websockets & Server-Sent Events
Real-Time Web by Paul Banks The State of Real-Time Web in 2016
Are WebSockets the future? WebSockets, caution required!
MSDN Microsoft Blog The Dangers of HTML5: WebSockets and Stable Standards
Webpush Internet-Draft Generic Event Delivery Using HTTP Push
Full Stack Python WebSockets on Python
Do you really need WebSockets? WebSockets explanation
Be lazy and test your WebSocket APIs with Firecamp How to test Websocket in a team

Awesome WebSockets / Theory / Talks

Initial Steps to Use Websocket-rails This is the very initial steps to use websocket-rails

Awesome WebSockets / Theory / Tutorials

Honeybadger.IO Building a simple websockets server from scratch in Ruby
Engineyard Getting Started with Ruby and WebSockets
David Walsh WebSocket and Socket.IO
Implementing a WebSocket server with Node.js
Lostmoa A collection of Django Channels WebSocket tutorials
GeniePy How to set up WebSockets in Starlette

Awesome WebSockets / Theory / Books

WebSocket Lightweight Client-Server Communications. Andrew Lombardi
The Definitive Guide to HTML5 WebSocket Build Real-Time Applications with HTML5. By Vanessa Wang, Frank Salim, and Peter Moskovits. Source Code
High Performance Browser Networking High Performance Browser Networking: WebSocket

Awesome WebSockets / Theory / Sites

WebSocket ORG The one-stop-shop for all your websocket needs
WebSockets MDN WebSockets Mozilla Developer Network (MDN)

Backlinks from these awesome lists:

More related projects: