Go Websockets

Open-source Go projects categorized as Websockets

Top 20 Go Websocket Projects

  • 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
  • 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.

  • 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.

  • sish

    HTTP(S)/WS(S)/TCP Tunnels to localhost using only SSH.

    Project mention: Tunnelmole, an ngrok alternative (open source) | news.ycombinator.com | 2024-03-21

    sish uses ssh tunneling that you can read about in their docs: https://ssi.sh/

  • live

    Live views and components for golang (by jfyne)

    Project mention: How to Fetch a Turbo Stream | news.ycombinator.com | 2023-10-23

    Looks like there are a couple of attempts but my google fu didn't really yield a winner.

    https://github.com/while1malloc0/hotwire-go-example

    https://github.com/jfyne/live

    if that's the case, there is definitely an opening on the market for such tech.

    As someone who's been writing web apps since DHTML days, Livewire/Turbo feels like we've finally reached the future.

  • anycable-go

    AnyCable real-time server

    Project mention: Deploy Anycable with MRSK | dev.to | 2023-08-03

    # Dockerfile # ... RUN curl -fsSL https://github.com/anycable/anycable-go/releases/download/v1.4.1/anycable-go-linux-amd64 -o anycable-go \ && chmod +x anycable-go && cp anycable-go /usr/local/bin/anycable-go # ...

  • Valkyrie

    A Fullstack Discord Clone using React and Go. (by sentrionic)

  • kago

    KaGo

  • 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.

  • goobs

    Go client library for OBS Studio

  • binance-proxy

    A websocket proxy written in GoLang, that caches the endpoints: klines, depth, ticker/24hr, and exchangeInfo. It resembles the Binance API behaviour. And has a primary usecase to eliminate ratelimits when querying the Binance API from a single IP.

  • canvas

    Draw on an HTML 2D canvas in a web browser from a server program using WebSockets. (by fzipp)

  • goomerang

    A small communications library based on protocol buffers over websockets

  • ksbus

    KSBus is a zero-configuration event bus written in Go, designed to facilitate real-time data sharing and synchronization between Go servers, JavaScript clients, and Python. It's particularly useful for building applications that require real-time communication, such as chat applications or live updates.

  • peasocket

    little websocket implementation

  • channelize

    A websocket framework to manage outbound streams. Allowing to have multiple channels per connection that includes public and private channels.

  • livegollection

    livegollection is a Golang library for live data synchronization between backend and frontend of a custom user-implemented collection. It's aimed for web applications since it works over websockets.

  • chat-websocket-gin

    Example of using gorilla websocket with gin (chat with rooms)

  • valente

    websocket for golang webapp

  • gws

    A WebSocket client and server for GraphQL (by Zaba505)

  • go-websockets

    I don't know .... learning golang and websockets ☠️

  • quadis-server

    Puzzle Arcade Game Clone / Authoritative Server

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

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-25.

Go Websockets related posts

Index

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

Project Stars
1 websocketd 17,072
2 Centrifugo 7,888
3 sish 3,763
4 live 612
5 anycable-go 348
6 Valkyrie 292
7 kago 186
8 goobs 110
9 binance-proxy 102
10 canvas 89
11 goomerang 40
12 ksbus 37
13 peasocket 34
14 channelize 26
15 livegollection 23
16 chat-websocket-gin 21
17 valente 16
18 gws 7
19 go-websockets 3
20 quadis-server 0
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com