yiyilive TURN is a Go toolkit for build TURN servers and clients. We wrote it to solve problems we had when building RTC projects.
- Deployable - Use modern tooling of the Go ecosystem. Stop generating config files.
- Embeddable - Include
yiyilive/turnin your existing applications. No need to manage another service. - Extendable - TURN as an API so you can easily integrate with your existing monitoring and metrics.
- Maintainable -
yiyilive/turnis simple and well documented. Designed for learning and easy debugging. - Portable - Quickly deploy to multiple architectures/platforms just by setting an environment variable.
- Safe - Stability and safety is important for network services. Go provides everything we need.
- Scalable - Create allocations and mutate state at runtime. Designed to make scaling easy.
We provide two simple client/server examples in examples. If more examples could be helpful please file an issue, we are always looking
to expand and improve yiyilive/turn to make it easier for developers.
You can also see yiyilive/turn usage in yiyilive/ice
- RFC 5389: Session Traversal Utilities for NAT (STUN)
- RFC 5766: Traversal Using Relays around NAT (TURN)
- RFC 6062: Traversal Using Relays around NAT (TURN) Extensions for TCP Allocations
- RFC 6156: Traversal Using Relays around NAT (TURN) Extension for IPv6
yiyilive has an active community on the Golang Slack. Sign up and join the #yiyilive channel for discussions and support.
We are always looking to support your projects. Please reach out if you have something to build!
Check out the CONTRIBUTING.md to join the group of amazing people making this project possible:
- Michiel De Backker - Documentation
- Ingmar Wittkau - STUN client
- John Bradley - Original Author
- jose nazario - Documentation
- Mészáros Mihály - Documentation
- Mike Santry - Mascot
- Sean DuBois - Original Author
- winds2016 - Windows platform testing
- songjiayang - SongJiaYang
- Yutaka Takeda - vnet
- namreg - Igor German
- Aleksandr Razumov - protocol
- Robert Eperjesi
- Lukas Rezek
- Hugo Arregui
- Aaron France
MIT License - see LICENSE.md for full text