// the find
ionorg/ion-sfu
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.