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
47 watching
171 forks
last commit: almost 2 years ago
Linked from 2 awesome lists

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

Awesome WebSockets / Tools per Language / Agnostic

Centrifugo8,485almost 2 years agoScalable real-time messaging in language-agnostic way
WebsocketdWebSockets the UNIX way - Full duplex messaging between web browsers and servers
NchanNchan is a scalable, flexible pub/sub server for the modern web, built as a module for the Nginx web server
Apache-websocket196over 10 years agoApache WebSocket module
MinnowServer322about 2 years agoA super small and fast embedded HTTP(S) WebSocket server
gwsocket757about 2 years agoFast, standalone, language-agnostic WebSocket server RFC6455 compliant

Awesome WebSockets / Tools per Language / Ballerina

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

Awesome WebSockets / Tools per Language / C

LibwebsocketsIt'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
Libwebsock222over 2 years agoC library for easy WebSockets server
Websocket203about 3 years agoWebsocket server written in C
facil.ioA server/framework library for web applications, including Websockets and native pub/sub
libuwsc289over 4 years agoA Lightweight and fully asynchronous WebSocket client C library based on libubox for Embedded Linux
mongoose11,234almost 2 years agoMongoose 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 C71over 3 years agoA minimal implementation for embedded applications
Wslay610about 4 years agoDesigned 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++

Websocketpp7,127about 2 years agoC++ Websocket client/server library
QtWebSocketsThe QtWebSockets module is an add-on for the Qt5 library
Beast4,392almost 2 years agoHTTP and WebSocket built on Boost.Asio in C++11
µWebSockets17,520almost 2 years agoHighly scalable WebSocket server library
Simple-WebSocket-Server802over 8 years agoA very simple, fast, multithreaded, platform independent WebSocket (WS) and WebSocket Secure (WSS) server and client library implemented using C++11, Boost.Asio and OpenSSL
UEWebsocketUnreal engine 4 websocket plugin for both c++ and blueprint developer
IXWebSocket557almost 2 years agoLightweight C++11 multi-threaded client library with TLS support
LAppS52over 5 years agoLAppS - Lua Application Server for micro-services with default communication over WebSockets
libhv6,880almost 2 years agoA network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server

Awesome WebSockets / Tools per Language / C#

ASP.NET SignalRIncredibly simple real-time web for .NET
WebSocketListenerLightweight and highly scalable asynchronous WebSocket server for .NET/Mono
websocket-rpc140almost 8 years agoWebSocket RPC library for .NET with auto JavaScript client code generation, supporting ASP.NET Core
NetGain929over 7 years agoA high performance websocket server library powering Stack Overflow
websocket-manager452over 5 years agoReal-Time library for ASP .NET Core
WebSockets355almost 8 years agoImplementation of the WebSocket protocol, along with client and server integration components
WebSockets support in ASP.NET CoreThis article explains how to get started with WebSockets in ASP.NET Core
unity-websocket-server70over 4 years agoA simple, zero-dependency WebSocket server for Unity
websocket-sharp5,759almost 2 years agoA C# implementation of the WebSocket protocol client and server

Awesome WebSockets / Tools per Language / Erlang

Sockjs-erlang265over 9 years agoWebSocket emulation - Erlang server
Cowboy7,321almost 2 years agoSmall, fast, modular HTTP server written in Erlang
n2o1,343about 2 years agoErlang web server on websockets
Kraken332almost 6 years agoDistributed Pubsub Server for Realtime Apps

Awesome WebSockets / Tools per Language / Go

Gorilla Websocket22,625about 2 years agoWebSocket implementation for Go
WebsocketPackage Websocket implements a client and server for the WebSocket protocol as specified in RFC 6455
Ws6,169over 2 years agoTiny WebSocket library for Go
1m-go-websockets5,866about 4 years agoHandling 1M websockets connections in Go
gotify/serverA simple server for sending and receiving messages in real-time per web socket
nhooyr/websocket4,017almost 2 years agoA minimal and idiomatic WebSocket library for Go
Centrifuge1,114almost 2 years agoReal-time messaging library for Go with scalability in mind

Awesome WebSockets / Tools per Language / Haskell

Websockets408almost 2 years agoA Haskell library for creating WebSocket-capable servers
n2o48over 4 years agoHaskell implementation of Erlang's n2o - web server on websockets

Awesome WebSockets / Tools per Language / Java VM

Sente1,742almost 2 years agoRealtime web comms for Clojure/Script
Chord439about 6 years agoLibrary designed to bridge the gap between the triad of CLJ/CLJS, web-sockets and core.async
LuminuswebLuminus is a Clojure micro-framework based on a set of lightweight libraries
Project TyrusJSR 356: Java API for WebSocket - Reference Implementation
Java-WebSocket10,557almost 2 years agoBarebones WebSocket client and server implementation written in 100% Java
Atmosphere3,700almost 2 years agoRealtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks
Webbit817almost 3 years agoJava event based WebSocket and HTTP server
nv-websocket-client2,031over 2 years agoHigh-quality WebSocket client implementation in Java which
Scarlet3,247about 4 years agoTinder's Retrofit inspired WebSocket client for Kotlin, Java, and Android
PlayThe high velocity web framework for Java and Scala
Finagle-websocket35almost 9 years agoFinagle Websocket clients and servers

Awesome WebSockets / Tools per Language / Julia

HTTP.jl645almost 2 years agoHTTP library for Julia with support on Websockets
WebSockets.jl158almost 4 years agoA WebSockets library for Julia

Awesome WebSockets / Tools per Language / Node.js

Socket.IOFeaturing the fastest and most reliable real-time engine
Nodejs-websocket737about 3 years agoNode.js module for websocket server and client
WebSocket-Node3,766over 2 years agoWebSocket Implementation for Node.JS (Draft -08 through the final RFC 6455)
Sockjs-node2,096almost 3 years agoWebSocket emulation - Node.js server
Ws21,839almost 2 years ago: The fastest cross platform RFC-6455 WebSocket implementation for Node.js
deepstream.ioOpen realtime server a fast, secure and scalable realtime server for mobile, web & iot
websocket-as-promised596about 2 years agoPromise-based W3C WebSocket wrapper: allows to use promises when connecting, disconnecting and messaging with WebSocket server
faye-websocket-node610about 3 years agoStandards-compliant WebSocket client and server
ws-wrapper76over 2 years agoLightweight WebSocket wrapper that provides a socket.io-like event-handler API along with Promise-based requests
ws-server-wrapper18over 2 years agoCompanion library for ws-wrapper for the server-side
wspromisifyMakes WebSockets async/await ready with a lot of yummies
uws8,171almost 2 years agoTiny WebSockets (access to the C++ library, µWebSockets, via Node.js)
netfluxJavaScript client and server side transport API based on WebRTC & WebSocket
Sockette2,457over 2 years agoWebSocket client that will automatically reconnect if the connection is lost
rpc-websockets595about 2 years agoJSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript
soketi5,009almost 2 years agoJust another simple, fast, and resilient open-source WebSockets server. Built on top of uWebSockets.js
ZilaWS ServerA very easy-to-use and fast WS implementation with async/await eventhandlers and extendable classes

Awesome WebSockets / Tools per Language / Perl

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

Awesome WebSockets / Tools per Language / PHP

RatchetRatchet is a loosely coupled PHP library providing developers with tools to create real time, bi-directional applications between clients and servers over WebSockets
Php-websocket580almost 4 years agoSimple PHP WebSocket implementation for PHP 5.3
Phpws347over 7 years agoPHP Web Socket server
SandstoneMicroframework to build a real time Rest API
Laravel Websockets5,087over 2 years agoA 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 ChannelsExtends 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
Ws4pyWebSocket package for Python
Autobahn.wsOpen-source real-time framework for Web, Mobile & Internet of Things
TornadoTornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed
WebSocket Benchmarker30over 7 years agoCLI tool for benchmarking WebSocket Servers
Starlette
Simple Http Server48over 2 years agoA simple HTTP server, including support of numerous websocket events like , etc. And even
PicowsUltra-fast WebSocket client and server library for asyncio

Awesome WebSockets / Tools per Language / R

httpuvProvides low-level socket and protocol support for WebSocket (and HTTP) servers in R. Built on top of the and C libraries
routrA simple router for WebSocket (and HTTP) requests in R
websocketProvides a WebSocket client interface for R

Awesome WebSockets / Tools per Language / Ruby

AnyCablePolyglot replacement for Ruby WebSocket servers with Action Cable protocol
Em-websocket1,690almost 5 years agoEventMachine based WebSocket server
Faye-websocket-ruby1,040about 3 years agoStandards-compliant WebSocket client and server
Iodine915almost 2 years agoWebSocket/HTTP server with integrated pub/sub and optional Redis support
Rage806almost 2 years agoFast WebSocket server compatible with Action Cable
Websocket-driver-ruby223about 2 years agoWebSocket protocol handler with pluggable I/O
Websocket-ruby447about 2 years agoUniversal Ruby library to handle WebSocket protocol
Scorched275over 3 years agoLight-weight web framework for Ruby
FirehoseBuild realtime Ruby web applications. Created by the fine folks at Poll Everywhere
Slanger1,695about 4 years agoOpen Pusher implementation compatible with Pusher libraries
render_sync1,401over 7 years agoReal-time Rails Partials
websocket-rails1,728over 2 years agoPlug and play websocket support for ruby on rails

Awesome WebSockets / Tools per Language / Rust

ActixA Rust web framework with support for the Websocket Protocol
Websocket Core13almost 7 years agoRust Websocket server for periodic message broadcast
Tungstenite1,952almost 2 years agoLightweight stream-based WebSocket implementation
Tokio-Tungstenite1,906almost 2 years agoTokio binding for Tungstenite, the Lightweight stream-based WebSocket implementation
Fastwebsockets888about 2 years agoA fast RFC6455 WebSocket server implementation
Ratchet41almost 2 years agoRatchet is a fast, lightweight and fully asynchronous implementation of the WebSocket protocol with support for extensions and Deflate
wtx228almost 2 years agoClient and server with encryption support

Awesome WebSockets / Tools per Language / Swift

VaporA high level web framework for Swift
WebsocketKit283almost 2 years agoA low level WebSocket client library built on SwiftNIO

Awesome WebSockets / Tools per Language / Protocols and APIs

RFC6455The WebSocket Protocol
The WebSocket APIWebSockets - Living Standard

Awesome WebSockets / GUI Testing Tools

CleoraA native macOS, iOS and iPadOS WebSocket client for testing and documenting APIs
FirecampFull-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 KingA browser based WebSocket testing client that supports multiple simultanious connections, logs of incoming and outgoing messages, custom protocols and multiple projects
Simple WebSocket ClientSimple WebSocket Client (Chrome Extension)

Awesome WebSockets / Browser libraries

WSGO3over 2 years agolike Axios.js, only for WebSocket, adds handy debugging tools
ZilaWS ClientA very easy-to-use and fast WS implementation with async/await eventhandlers

Awesome WebSockets / Visualization Tools

Foxglove ws-protocol103almost 2 years agoWebsocket protocol for visualization of multimodal data

Awesome WebSockets / Command-Line Interface (CLI) Tools

claws302over 3 years agoAwesome WebSocket Client - an interactive command line client for testing websocket servers
wscat2,277almost 2 years agoWebSocket cat
wsta632almost 8 years agoA CLI development tool for WebSocket APIs
ws427over 3 years agowebsocket command line tool
wssh270about 3 years agowssh ("wish") is a command-line utility/shell for WebSocket inspired by netcat
wsc51almost 9 years agoA tiny command line websocket client written in Go
ws-cli17almost 10 years agoWebSocket Command Line Client written in Go
ws-tool25about 5 years agoA Develop Tool to Test WebSocket, Socket.IO, Stomp, Bayeux, HTTP, TCP, UDP, WebRTC, DNS API
websocketd17,176over 2 years agoTurn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets
websocat7,234almost 2 years agoCommand-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions
iola154almost 3 years agoSocket 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
TaskadeReal-time collaborative task lists and outlines

Awesome WebSockets / Security

WebSockets - An IntroductionThe problems and some security implications of websockets - Cross-site WebSockets Scripting (XSWS)
Hacking with WebSocketsTalk on Blackhat USA 2012 Conference
Testing for WebSockets Security VulnerabilitiesInteractive vulnerable WebSocket demos that provide hands-on learning of WebSocket security risks
Testing WebSocketsThis article is part of the new OWASP Testing Guide v4
Websockets AuthJourney into WebSockets Authentication/Authorization
WebSocket SecurityThe 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 HijackingCross-Site WebSocket Hijacking (CSWSH) - Web Application Security Blog

Awesome WebSockets / Theory / Articles & Papers

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

Awesome WebSockets / Theory / Talks

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

Awesome WebSockets / Theory / Tutorials

Honeybadger.IOBuilding a simple websockets server from scratch in Ruby
EngineyardGetting Started with Ruby and WebSockets
David WalshWebSocket and Socket.IO
Implementing a WebSocket server with Node.js
LostmoaA collection of Django Channels WebSocket tutorials
GeniePyHow to set up WebSockets in Starlette

Awesome WebSockets / Theory / Books

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

Awesome WebSockets / Theory / Sites

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

Backlinks from these awesome lists:

More related projects: