turn
gon2n
DISCONTINUED
Our great sponsors
turn | gon2n | |
---|---|---|
3 | 1 | |
1,666 | 73 | |
2.8% | - | |
7.2 | 0.0 | |
12 days ago | about 1 year ago | |
Go | Go | |
MIT License | GNU Affero General Public License v3.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
turn
-
Using WebTransport
> dedicated signalling
For my small projects I run my HTTP + WebRTC in the same server. My signaling is one POST. Maybe I am missing the complexity, but I don't feel any additional pain compared to running any network service?
> STUN Karate
Mind explaining more? I use https://github.com/pion/turn and run my STUN server embedded in my HTTP server. I do do anything but point my `PeerConnection` at `my-service.com`
-
Show HN: Weron – A Peer-to-Peer VPN Based on WebRTC Written in Go
There is a very neat implementation of a TURN from Pion
-
How do I deploy a TURN server for WebRTC apps on heroku?
I've tried node-turn in a node.js server, tried to execute pion/turn binaries directly so far but with no luck. `node-turn` works if I run locally and test it with my public ip address but the same doesn't work on heroku.
gon2n
-
Show HN: Weron – A Peer-to-Peer VPN Based on WebRTC Written in Go
Hi! n2n was a huge inspiration for the project, in fact I wrote Go bindings for n2n before starting it: https://github.com/pojntfx/gon2n
Weron also allows tunneling - just specify a TURN server on `--ice` and enable `--force-relay`, in which case it will probably scale to well over 100 nodes ^^ The signaling servers are fully horizontally scalable, so that you can benefit from a faster backbone on a global scale scenario - Redis coordinates messages, kicks etc. between them and a Postgres database maintains central state, such as credentials for persistent communities and client counts.
In terms of key rotation & encryption - weron heavily depends on DTLS as provided by Pion/WebRTC and thus inherits similar security properties. It is not possible to disable encryption of WebRTC, but tbf the performance benefits of using plain SCTP don't seem to be worth it as the RTT latency and resulting decrease in throughput[1] is the dominant performance bottleneck.
[1] https://tuhat.helsinki.fi/ws/portalfiles/portal/167373638/Es...
What are some alternatives?
livekit-server - Scalable, high-performance WebRTC SFU. SDKs in JavaScript, React, React Native, Flutter, Swift, Kotlin, Unity/C#, Go, Ruby and Node. [Moved to: https://github.com/livekit/livekit]
Pion WebRTC - Pure Go implementation of the WebRTC API
n2n - Peer-to-peer VPN
go-stun - A go implementation of the STUN client (RFC 3489 and RFC 5389)
stun - Fast RFC 5389 STUN implementation in go
node-turn - Node-turn is a STUN/TURN server for Node.JS
netbird - Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
weron - Overlay networks based on WebRTC.
ice - A Go implementation of ICE
awesome-pion - A curated list of awesome things related to Pion
stfs - Simple Tape File System (STFS), a file system for tapes and tar files.