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. Learn more →
Top 23 WebSocket Open-Source Projects
-
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.
-
mitmproxy
An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
-
libcurl
A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features
-
Iris
The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket:
-
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.
-
Workerman
An asynchronous event driven PHP socket framework. Supports HTTP, Websocket, SSL and other custom protocols.
-
http-proxy-middleware
:zap: The one-liner node.js http-proxy middleware for connect, express, next.js and more
-
Laverna
Laverna is a JavaScript note taking application with Markdown editor and encryption support. Consider it like open source alternative to Evernote.
-
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.
-
browserless
Deploy headless browsers in Docker. Run on our cloud or bring your own. Free for non-commercial uses.
-
artillery
Load testing at cloud-scale. Serverless & distributed out-of-the-box. Load test with Playwright. Load test HTTP APIs, GraphQL, WebSocket, and more. Use any Node.js module. Never fail to scale with Artillery!
-
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.
Project mention: Mastering Microservices: A Hands-On Tutorial with Node.js, RabbitMQ, Nginx, and Docker | dev.to | 2024-02-08Before diving into this tutorial, if you find microservices mysterious, check out my previous article for a detailed explanation. In this hands-on tutorial, we'll build a real-time chat server using Node.js, Socket.io, RabbitMQ, and Docker. Get ready for a practical journey into the world of microservices! Let's begin.
Project mention: Bypass CORS errors while testing your APIs using Hoppscotch 🔧 | dev.to | 2024-04-17How can Hoppscotch help you intercept the API calls? 👽
Uptime Kuma can also monitor certificate expiration; you can also enable it to show you how many days are left until it expires.
https://github.com/louislam/uptime-kuma
Then, in another terminal window, we use curl to hit the endpoint:
Echo - web framework for Go
Iris is a fast and lightweight web framework for Go that offers a rich set of features and a high-performance engine. PostgreSQL is a powerful and reliable relational database system that supports advanced data types and functions. Together, they can form a solid foundation for building modern web applications.
Before setting up a WebSocket server in Node.js, we need to install the necessary dependencies. Fortunately, Node.js has a vibrant ecosystem with various WebSocket libraries available. In this article, we will focus on using the popular ws library, which provides a simple and efficient WebSocket implementation for Node.js.
Swoole
Project mention: Scaling to ~15K requests per second with Java – Part 1 | news.ycombinator.com | 2023-07-14I remember a consulting gig where they were pushing 50k requests per second with PHP in a 2018 laptop by using this framework https://github.com/walkor/workerman
In a real application, with database connection pooling and auth sessions, it went down to 15k requests/s.
And that was PHP7. PHP8 introduced JIT so it's probably significantly faster these days and hopefully fully typed.
I've found myself at this webpage multiple times while trying to minimize the complexity of APIs in my C projects.
My conclusion for now is that C coroutines are something to be left to the implementer. For example: Mongoose (https://github.com/cesanta/mongoose) uses event callbacks to deal with asynchronousness. It is much more pleasant to wrap a library like this in whatever thread/task primitives your system has rather than try to integrate the mythical cross-platform c couroutine.
Then we translate each rule. webpack-dev-server uses http-proxy-middleware under the hood, and here's how to translate each field.
Project mention: Dockge: Clean Self-Hosted Docker Compose Manager by the Creator of Uptime Kuma | news.ycombinator.com | 2024-01-14
Project mention: WebSockets and Node.js - testing WS and SockJS by building a web app | dev.to | 2023-12-18SockJS is a library that mimics the native WebSockets API. Additionally, it will fall back to HTTP whenever a WebSocket fails to connect, or if the browser being used doesn’t support WebSockets. Like WS, SockJS requires a server counterpart; its maintainers provide both a JavaScript client library and a Node.js server library.
Project mention: WalletConnect Auth: how to connect a crypto wallet to iOS Swift DApp | dev.to | 2024-01-04The 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)
Project mention: WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport | news.ycombinator.com | 2024-03-20Hello, 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.
Project mention: How and why we ripped our Open Source product apart for a full rebuild | dev.to | 2024-02-28The core product is managed, cloud hosted browsers. We run thousands at a time using AWS and DigitalOcean, for people to use with Puppeteer and Playwright scripts. Our container is also available to self deploy under an open-source license.
Usually, I would let organic users be my load test. However, I am working on a project that has an anticipated load on a new-to-my-team stack, so I'm looking into ways to load test.
I've seen tools like k6 (https://k6.io/), Artillery (https://www.artillery.io), and JMeter (https://jmeter.apache.org/).
I've been using Artillery, but it's hard to visualize the results.
What do you use?
WebSocket related posts
- Bypass CORS errors while testing your APIs using Hoppscotch 🔧
- Setting up a WebSocket server in Node.js
- WebSockets vs. Server-Sent-Events vs. Long-Polling vs. WebRTC vs. WebTransport
- Coroutines in C
- Stream Updates to Your Users with LiteCable for Ruby on Rails
- BCHS stack: BSD, C, httpd, SQLite
- WebSockets and Node.js - testing WS and SockJS by building a web app
-
A note from our sponsor - SurveyJS
surveyjs.io | 25 Apr 2024
Index
What are some of the best open-source WebSocket projects? This list will help you:
Project | Stars | |
---|---|---|
1 | Socket.io | 60,129 |
2 | Postwoman | 59,976 |
3 | uptime-kuma | 49,253 |
4 | mitmproxy | 34,347 |
5 | libcurl | 34,102 |
6 | Echo | 28,466 |
7 | Iris | 24,857 |
8 | ws | 21,036 |
9 | gotty | 18,434 |
10 | Swoole | 18,213 |
11 | Workerman | 10,937 |
12 | Mongoose | 10,554 |
13 | socket.io-client | 10,536 |
14 | http-proxy-middleware | 10,483 |
15 | Xray_onekey | 9,194 |
16 | Laverna | 9,135 |
17 | SignalR | 9,080 |
18 | dockge | 9,044 |
19 | sockjs-client | 8,357 |
20 | Starscream | 8,125 |
21 | Centrifugo | 7,914 |
22 | browserless | 7,842 |
23 | artillery | 7,477 |
Sponsored