finds.dev← search

// the find

ionorg/ion-sfu

★ 1,096 · Go · MIT · updated Jul 2023

Pure Go WebRTC SFU

ion-sfu is a WebRTC Selective Forwarding Unit written in Go, built on the Pion WebRTC stack. It forwards audio, video, and data channels between peers without transcoding, with gRPC and JSON-RPC signaling options. It's aimed at developers who want to embed SFU functionality into a Go service rather than deploy a batteries-included platform.

The pub/sub peer connection model keeps port usage at O(n) instead of O(n²), which matters at scale. Congestion control is properly implemented — TWCC, REMB, and RR/SR are all there, not just stubbed. The signaling layer is intentionally thin and pluggable, so you can bring your own without fighting the architecture. Test coverage on the buffer and sequencer packages is solid, which are exactly the components that will bite you if they're wrong.

The project is effectively archived — last commit was July 2023 and the README itself points you toward LiveKit as the production-ready alternative. The relay functionality has a README that says 'WIP' and the feature is not complete. There's no authentication or authorization layer anywhere in the signaling path, which means you're bolting that on yourself from scratch. Horizontal scaling and multi-node SFU mesh are not addressed; if you need more than one instance, you're on your own.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →