An open API service indexing awesome lists of open source software.

awesome-websockets

A curated list of Websocket libraries and resources.
https://github.com/facundofarias/awesome-websockets

Last synced: 16 days ago
JSON representation

  • Acknowledgments

  • Browser libraries

    • Protocols and APIs

      • ZilaWS Client - A very easy-to-use and fast WS implementation with async/await eventhandlers.
      • WSGO - like Axios.js, only for WebSocket, adds handy debugging tools
      • react-use-websocket - React hook for WebSocket connections with reconnection, message queueing, and shared connections.
  • Command-Line Interface (CLI) Tools

    • Protocols and APIs

      • claws - Awesome WebSocket Client - an interactive command line client for testing websocket servers.
      • wscat - WebSocket cat.
      • wsta - A CLI development tool for WebSocket APIs.
      • ws - websocket command line tool.
      • wssh - wssh ("wish") is a command-line utility/shell for WebSocket inspired by netcat.
      • wsc - A tiny command line websocket client written in Go.
      • ws-cli - WebSocket Command Line Client written in Go.
      • ws-tool - A Develop Tool to Test WebSocket, Socket.IO, Stomp, Bayeux, HTTP, TCP, UDP, WebRTC, DNS API.
      • websocketd - Turn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets.
      • websocat - Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions.
      • iola - Socket client with Rest API (WebSocket, Socket.IO, TCP, Unix socket).
  • GUI Testing Tools

    • Protocols and APIs

      • 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).
      • Cleora - A native macOS, iOS and iPadOS WebSocket client for testing and documenting APIs.
      • Simple WebSocket Client - Simple WebSocket Client (Chrome Extension).
      • Bruno - Open-source, offline-first API client with WebSocket support and git-friendly plain-text collections.
      • Hoppscotch Realtime - Free, open-source browser client for testing WebSocket, SSE, Socket.IO and MQTT connections.
      • Postman WebSocket - Send and inspect raw WebSocket and Socket.IO requests inside Postman, with saved history and collections.
      • WebSocket.in - Browser-based WebSocket tester plus free public echo and broadcast endpoints for quick checks.
      • Apidog - All-in-one API platform with a dedicated WebSocket debugging client for messages, params and auth.
      • Postman WebSocket - Send and inspect raw WebSocket and Socket.IO requests inside Postman, with saved history and collections.
      • Simple WebSocket Client - Simple WebSocket Client (Chrome Extension).
      • WebSocket.in - Browser-based WebSocket tester plus free public echo and broadcast endpoints for quick checks.
  • Managed / Hosted Services

    • Protocols and APIs

      • AWS API Gateway WebSocket APIs - Managed WebSocket APIs that route messages to Lambda and other AWS backends.
      • Cloudflare Durable Objects - Stateful serverless coordination primitive commonly used to build WebSocket rooms and realtime backends at the edge.
      • Cloudflare Workers WebSockets - Native WebSocket support in Cloudflare Workers, including hibernatable connections.
      • PartyKit - Open-source platform for building realtime multiplayer apps on Cloudflare with a batteries-included WebSocket server abstraction.
      • Supabase Realtime - Realtime engine broadcasting Postgres changes, presence, and messages to clients over WebSockets.
      • Liveblocks - Hosted realtime collaboration infrastructure providing presence, storage, and comments over WebSockets.
  • Real Life Stories

  • Security

  • Theory

  • Tools per Language

    • Agnostic

      • Websocketd - WebSockets the UNIX way - Full duplex messaging between web browsers and servers.
      • Centrifugo - Scalable real-time messaging in language-agnostic way.
      • Websocketd - WebSockets the UNIX way - Full duplex messaging between web browsers and servers.
      • Apache-websocket - Apache WebSocket module.
      • MinnowServer - A super small and fast embedded HTTP(S) WebSocket server.
      • gwsocket - Fast, standalone, language-agnostic WebSocket server RFC6455 compliant.
      • SocketCluster - Scalable pub/sub WebSocket framework with support for horizontal scaling across multiple hosts and processes.
    • Ballerina

      • Ballerina WebSocket Module - Tailored WebSocket client and server implementations in Ballerina, designed and optimized for seamless integration.
      • Ballerina WebSocket Module - Tailored WebSocket client and server implementations in Ballerina, designed and optimized for seamless integration.
    • 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.
      • facil.io - A server/framework library for web applications, including Websockets and native pub/sub.
      • Websocket - Websocket server written in C.
      • libuwsc - A Lightweight and fully asynchronous WebSocket client C library based on libubox for Embedded Linux.
      • mongoose - 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 - A minimal implementation for embedded applications.
      • Wslay - Designed to be embedded in other programs; freedom to choose your own network I/O. Event-based API, as well as synchronous frame-based.
      • Libwebsock - C library for easy WebSockets server.
      • civetweb - Embedded C/C++ web server with WebSocket client and server support, easy to integrate.
    • C++

      • QtWebSockets - The QtWebSockets module is an add-on for the Qt5 library.
      • UEWebsocket - Unreal engine 4 websocket plugin for both c++ and blueprint developer.
      • Websocketpp - C++ Websocket client/server library.
      • Beast - HTTP and WebSocket built on Boost.Asio in C++11.
      • µWebSockets - Highly scalable WebSocket server library.
      • Simple-WebSocket-Server - 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.
      • IXWebSocket - Lightweight C++11 multi-threaded client library with TLS support.
      • LAppS - LAppS - Lua Application Server for micro-services with default communication over WebSockets.
      • libhv - A network library for developing TCP/UDP/SSL/HTTP/WebSocket client/server.
      • Crow - Fast and easy-to-use C++ microframework for the web, with WebSocket support.
      • Drogon - Fast C++14/17/20 HTTP application framework with built-in WebSocket controllers.
      • Oat++ - Light and powerful C++ web framework with async WebSocket support and zero dependencies.
      • POCO - C++ libraries for network-centric applications, including HTTP and WebSocket classes.
    • C\#

      • ASP.NET SignalR - Incredibly simple real-time web for .NET.
      • WebSockets support in ASP.NET Core - This article explains how to get started with WebSockets in ASP.NET Core.
      • WebSocketListener - Lightweight and highly scalable asynchronous WebSocket server for .NET/Mono.
      • websocket-rpc - WebSocket RPC library for .NET with auto JavaScript client code generation, supporting ASP.NET Core.
      • NetGain - A high performance websocket server library powering Stack Overflow.
      • websocket-manager - Real-Time library for ASP .NET Core.
      • WebSockets - 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 - A simple, zero-dependency WebSocket server for Unity.
      • websocket-sharp - A C# implementation of the WebSocket protocol client and server.
      • WebSocketListener - Lightweight and highly scalable asynchronous WebSocket server for .NET/Mono.
      • WebSockets support in ASP.NET Core - This article explains how to get started with WebSockets in ASP.NET Core.
      • Fleck - Simple C# WebSocket server implementation with no dependencies.
      • Ninja.WebSockets - Standalone, high-performance C# WebSocket client and server implementation.
      • websocket-client - Reactive, reconnecting WebSocket client for .NET based on System.Net.WebSockets.
    • D

      • Arsd:CGI - Uniform server-side API for CGI, FastCGI, SCGI, and HTTP web applications. Offers both lower- and higher- level api options among other common (optional) things like websocket and event source serving support.
      • Handy - The simplest HTTP server for your D project.
      • Lighttp - Lightweight asynchronous HTTP and WebSocket server library for the D.
      • Serverino - Small and ready-to-go http server. Support for websockets included.
      • Vibe.d - High-performance asynchronous I/O, concurrency and web application toolkit written in D.
      • Websocketd - A websocket server in D.
    • Elixir

      • Bandit - Pure-Elixir HTTP and WebSocket server built for Plug and WebSock.
      • Phoenix - Productive Elixir web framework with Channels for realtime, scalable WebSocket communication.
      • Phoenix LiveView - Rich, realtime server-rendered UIs over WebSockets without writing JavaScript.
      • WebSockex - Elixir WebSocket client library built on top of GenServer.
    • Erlang

      • Sockjs-erlang - WebSocket emulation - Erlang server.
      • Cowboy - Small, fast, modular HTTP server written in Erlang.
      • n2o - Erlang web server on websockets.
      • Kraken - Distributed Pubsub Server for Realtime Apps.
      • Gun - Erlang HTTP/1.1, HTTP/2 and WebSocket client library.
    • Go

      • Websocket - Package Websocket implements a client and server for the WebSocket protocol as specified in RFC 6455.
      • gotify/server - A simple server for sending and receiving messages in real-time per web socket.
      • Gorilla Websocket - WebSocket implementation for Go.
      • Ws - Tiny WebSocket library for Go.
      • 1m-go-websockets - Handling 1M websockets connections in Go.
      • nhooyr/websocket - A minimal and idiomatic WebSocket library for Go.
      • Centrifuge - Real-time messaging library for Go with scalability in mind.
      • GWS - Simple, fast, reliable websocket server & client, supports running over tcp/kcp/unix domain socket.
      • Velaros - A lightweight framework with HTTP-style routing, bidirectional messaging, and middleware.
      • KubeStellar Console - AI-powered multi-cluster Kubernetes dashboard using WebSockets for real-time cluster communication and live observability streams.
      • coder/websocket - A minimal and idiomatic WebSocket library for Go (formerly nhooyr/websocket).
      • Fiber WebSocket - WebSocket middleware for the Fiber web framework, built on Fasthttp.
      • go-socket.io - Socket.IO library for Go, a realtime application framework.
      • greatws - Event-driven WebSocket server able to handle millions of connections with low memory.
      • Melody - Minimalist framework for dealing with WebSocket sessions, including broadcasting and message buffering.
      • nbio - Non-blocking, event-driven networking framework with high-performance WebSocket support and low memory usage.
    • Haskell

      • Websockets - A Haskell library for creating WebSocket-capable servers.
      • n2o - Haskell implementation of Erlang's n2o - web server on websockets.
    • Java VM

      • Play - The high velocity web framework for Java and Scala.
      • Project Tyrus - JSR 356: Java API for WebSocket - Reference Implementation.
      • Chord - Library designed to bridge the gap between the triad of CLJ/CLJS, web-sockets and core.async.
      • Java-WebSocket - Barebones WebSocket client and server implementation written in 100% Java.
      • Atmosphere - Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks.
      • Webbit - Java event based WebSocket and HTTP server.
      • nv-websocket-client - High-quality WebSocket client implementation in Java which.
      • Scarlet - Tinder's Retrofit inspired WebSocket client for Kotlin, Java, and Android
      • Finagle-websocket - Finagle Websocket clients and servers.
      • Sente - Realtime web comms for Clojure/Script.
      • http-kit - Minimalist, high-performance HTTP server and client with async WebSocket support.
      • Javalin - Lightweight web framework for Java and Kotlin with simple WebSocket handlers.
      • Jetty - Lightweight, embeddable Java web server and servlet container with Jakarta and native WebSocket support.
      • Netty - Asynchronous event-driven network framework with full WebSocket codec support.
      • Project Tyrus - JSR 356: Java API for WebSocket - Reference Implementation.
      • Spring WebSocket - WebSocket and STOMP messaging support built into the Spring Framework.
      • Undertow - High-performance web server (WildFly's core) with a dedicated WebSocket API.
      • Vert.x - Reactive, polyglot toolkit for the JVM with first-class WebSocket client and server APIs.
      • Ktor - JetBrains' Kotlin async framework with built-in WebSocket client and server support.
      • OkHttp - HTTP client for the JVM and Android with a robust WebSocket client.
      • Apache Pekko HTTP - Streaming WebSocket client and server directives; the Apache-licensed Akka HTTP fork.
      • http4s - Typeful, functional, streaming HTTP for Scala with WebSocket support.
      • ZIO HTTP - High-performance, functional Scala HTTP library with WebSocket support built on ZIO.
    • Julia

      • HTTP.jl - HTTP library for Julia with support on Websockets.
      • WebSockets.jl - A WebSockets library for Julia.
    • Node.js

      • deepstream.io - Open realtime server a fast, secure and scalable realtime server for mobile, web & iot.
      • wspromisify - Makes WebSockets async/await ready with a lot of yummies.
      • Nodejs-websocket - Node.js module for websocket server and client.
      • WebSocket-Node - WebSocket Implementation for Node.JS (Draft -08 through the final RFC 6455).
      • Sockjs-node - WebSocket emulation - Node.js server.
      • Ws - `ws`: The fastest cross platform RFC-6455 WebSocket implementation for Node.js.
      • websocket-as-promised - Promise-based W3C WebSocket wrapper: allows to use promises when connecting, disconnecting and messaging with WebSocket server.
      • faye-websocket-node - Standards-compliant WebSocket client and server.
      • ws-wrapper - Lightweight WebSocket wrapper that provides a socket.io-like event-handler API along with Promise-based requests.
      • ws-server-wrapper - Companion library for ws-wrapper for the server-side.