Websockets

Top 23 Websocket Open-Source Projects

  • supabase

    The open source Firebase alternative.

    Project mention: Building a Fast, Efficient Web App: The Technology Stack of PromptSmithy Explained | dev.to | 2024-03-26

    Here the thing that accelerated my development the most: Supabase. Thanks to its Database, Authentication, and Edge Functions, we were able to rapidly develop the app. Their JS library made development super seamless, and their local development stack made testing a breeze.

  • Nest

    A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

    Project mention: Containerize your multi-services app with docker compose | dev.to | 2024-03-27

    Back: a graphQL server built with Nestjs

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

  • insomnia

    The open-source, cross-platform API client for GraphQL, REST, WebSockets, SSE and gRPC. With Cloud, Local and Git storage.

    Project mention: Make your Azure OpenAI apps compliant with RBAC | dev.to | 2024-03-25

    We will be performing all of the authentication requests manually, however for testing purposes, you might want to use an API testing tool such as Postman or Insomnia.

  • actix-web

    Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.

    Project mention: Ntex: Powerful, pragmatic, fast framework for composable networking services | news.ycombinator.com | 2024-03-23

    I can't speak to the "is it any good" part, but (after a bit of research) I can share what I've found. I'll try to represent things as best as I understand, but I may have some finer details mixed up.

    ntex is written by the same person that started actix-web, Nikolay Kim (fafhrd91 on GitHub). There was a bunch of drama a while back due to actix-web using (what many reasoned to be) avoidable unsafe code, which was later found to be buggy. Nikolay was pilloried online, resulting in him transferring leadership of actix-web to someone else. ntex is, as I understand it, essentially Nikolay picking back up on his ideals for what could have been actix-web, if people hadn't pushed him out of his own project.

    How ntex compares to the pre-/post-leadership change of actix-web, I don't know.

    Here are some jumping points if you want more of the backstory.

    https://www.theregister.com/2020/01/21/rust_actix_web_framew...

    https://steveklabnik.com/writing/a-sad-day-for-rust

    https://github.com/actix/actix-web/issues/1289

  • websocketd

    Turn any program that uses STDIN/STDOUT into a WebSocket server. Like inetd, but for WebSockets.

    Project mention: Ask HN: Tips to get started on my own server | news.ycombinator.com | 2024-03-25
  • µWebSockets

    Simple, secure & standards compliant web server for the most demanding of applications

    Project mention: I'm open-sourcing my game engine | news.ycombinator.com | 2023-12-19

    They use (uWebSockets)[https://github.com/uNetworking/uWebSockets], which was written in C++, but has an interface to use in NodeJS. It's been really performant for me in my simple tests compared to other popular websocket libs that slow down fairly quickly.

  • Thingsboard

    Open-source IoT Platform - Device management, data collection, processing and visualization.

    Project mention: ThingsBoard Microservices Installation Update Problem | /r/ThingsBoard | 2023-11-29

    Until recently I was still using TB v3.2.1, now I've set about updating the installation to the latest version. I proceeded as described at https://github.com/thingsboard/thingsboard/tree/master/docker:

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • nodeBB

    Node.js based forum software built for the modern web

    Project mention: Don't Use Discord as a Forum | news.ycombinator.com | 2023-09-13

    > I'm a big fan of https://nodebb.org/

    TIL to what shit Netgate moved pfSense forums to. I'm glad you are fine with it, but not only my FullHD monitor is not a smartphone, so I don't need 400% fonts on everything (and post dates on the faaaaar right clearly shows nobody ever even used the forum) and most importantly - search doesn't work. It's not like the previous forum had a good search, but at least it worked.

    Bonus point: try to Ctrl+mousewheel on any NodeBB (including the official one).

  • noVNC

    VNC client web application

    Project mention: Remote connect tool | /r/selfhosted | 2023-04-16

    I setup tigervnc server on both my linux and windows machinces , then use websockify and noVNC to access them whenever i want through my web browser. you can follow readme of novnc here. If other pcs are on a seperate network or behind a NAT i suggest using frp hosted on a vps (That is what i did) .

  • gdbgui

    Browser-based frontend to gdb (gnu debugger). Add breakpoints, view the stack, visualize data structures, and more in C, C++, Go, Rust, and Fortran. Run gdbgui from the terminal and a new tab will open in your browser.

  • starlette

    The little ASGI framework that shines. 🌟

    Project mention: Ask HN: What is your go-to stack for the web? | news.ycombinator.com | 2024-02-09
  • Starscream

    Websockets in swift for iOS and OSX

    Project mention: WalletConnect Auth: how to connect a crypto wallet to iOS Swift DApp | dev.to | 2024-01-04

    The easiest way is to use Starscream SDK of 3.1.2 version which completley complies with their WebSocketConnecting protocol. (yep, it’s not new and may have some issues but it works)

  • Centrifugo

    Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.

    Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20

    Hello, I am author of https://github.com/centrifugal/centrifugo. Our users can choose from WebSocket, EventSource, WebTransport (experimental stabilize in the future). WebRTC is out of scope as the main purpose is central server based real-time json/binary messaging, and WebRTC makes things much more complex since it shines for peer-to-peer and rich media communications.

    What I'd like to add is that Centrifugo also supports HTTP-streaming – not mentioned by the OP – but this is a transport which has advantages over Eventsource - like possibility to send POST body on initial request from web browser (with SSE you can not), it supports binary, and with Readable Streams browser API it's widely supported by modern browsers.

    Another thing I'd like to mention about Centrifugo - it supports bidirectional WebSocket fallbacks with EventSource and HTTP-streaming, and does this without sticky sessions requirement. I guess nobody else have this at this point. See https://centrifugal.dev/blog/2022/07/19/centrifugo-v4-releas.... Which solves one more practical concern. Sticky sessions is an optimization in Centrifugo case, not a requirement.

    If you are interested in topic, we also have a post about WebSocket scalability - https://centrifugal.dev/blog/2020/11/12/scaling-websocket - it covers some design decisions made in Centrifugo.

  • C++ REST SDK

    The C++ REST SDK is a Microsoft project for cloud-based client-server communication in native code using a modern asynchronous C++ API design. This project aims to help C++ developers connect to and interact with services.

    Project mention: What is the industry standard today in C++ to deploy REST microservices in Kubernetes? | /r/cpp | 2023-09-06

    My favourite was Microsoft's cpprestsdk, but for some reason now is in maintenance mode, I don't know why, so it's hard to suggest it for new projects. A nice alternative is restc-cpp, that's has a good high-level interface, if this is what you want.

  • ttyd

    Share your terminal over the web

    Project mention: Any fun/interesting custom scripts or services being ran on your setup? | /r/homelab | 2023-05-16

    I do everything through a web browser -- I run an Arch VM with a modified version of ttyd running as a systemd service.

  • uWebSockets.js

    μWebSockets for Node.js back-ends :metal:

    Project mention: Building Real-Time Next.js Apps with WebSockets and Soketi | dev.to | 2023-12-10

    If you have never heard of Soketi, to give you a brief overview, it is a WebSocket server that was built on top of uWebSockets.js and has great compatibility with Pusher Protocol.

  • cowboy

    Small, fast, modern HTTP server for Erlang/OTP.

  • websocat

    Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions

    Project mention: Show HN: ScaleSocket – Turn any script into a multiplayer WebSocket server | news.ycombinator.com | 2023-09-20

    It's similar to running netcat in server mode, wrapping a script. It's even closer to doing that using websocat [1], whereby one does not have to do the websocket header juggling.

    The main difference is that while netcat or websocat will spawn a new process for each connecting client, ScaleSocket has a concept of rooms (channels). For a room, a process is spawned once only. All clients connecting to the same room are routed to the same process. This is not straight forward to do using the forementioned tools.

    There's a small comparison page [2] where I have mentioned some alternative tools.

    [1] https://github.com/vi/websocat

  • Ratchet

    Asynchronous WebSocket server (by ratchetphp)

    Project mention: Connecting to PHP using Apache's mod_proxy_wstunnel without using 3rd Party APIs | /r/codehunter | 2023-06-07

    1) Do we must need to use some 3rd Party APIs or Libraries like Ratchet, PHP-Push-WebSocket or PHP WebSocket to enable PHP to communicate over WebSocket protocol?

  • SocketCluster

    Highly scalable realtime pub/sub and RPC framework

    Project mention: Is it a good practice to store web sockets connections on redis? | /r/node | 2023-06-24

    If redis doesn't satisfy your requirements or you're unable to make it work using adaptor, SocketCluster is a great package for this https://socketcluster.io/

  • python-binance

    Binance Exchange API python implementation for automated trading

  • colyseus

    ⚔ Multiplayer Framework for Node.js

    Project mention: Need advice on what to learn in order to develop a multiplayer web-based game. | /r/webdev | 2023-07-06

    If you don't want to dive deep into backend then https://colyseus.io/ might also be an option.

  • websockets

    Library for building WebSocket servers and clients in Python

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-27.

Websockets related posts

Index

What are some of the best open-source Websocket projects? This list will help you:

Project Stars
1 supabase 64,560
2 Nest 63,607
3 insomnia 32,834
4 actix-web 20,056
5 websocketd 17,055
6 µWebSockets 16,637
7 Thingsboard 15,409
8 nodeBB 13,847
9 noVNC 10,835
10 gdbgui 9,657
11 starlette 9,319
12 Starscream 8,096
13 Centrifugo 7,815
14 C++ REST SDK 7,778
15 ttyd 7,202
16 uWebSockets.js 7,138
17 cowboy 7,136
18 websocat 6,410
19 Ratchet 6,142
20 SocketCluster 6,109
21 python-binance 5,730
22 colyseus 5,438
23 websockets 4,938
Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com