new Open Source TURN server (pion-TURN)

381 views
Skip to first unread message

se...@pion.ly

unread,
May 22, 2018, 10:03:55 AM5/22/18
to discuss-webrtc
I wrote a new TURN server, and wanted to share it with the list. It supports Chrome+FireFox and has some features I hope that people will enjoy. I wrote it to solve problems I was having.
I don't need developer help, as much as I need users! If you have a unique use case, or just looking to switch I would love if you could try it out. If you have a feature you would like I would also love to implement it.
A couple people are in the golang slack in the #pion channel and would love to chat if you have any questions, or need support.

It is written in Golang, and has a really easy deploy. Here are the reasons I wrote it/features that you might find useful.



# Easy Setup, and works everywhere Go is supported (Windows/Linux/Mac/FreeBSD....)
The example cmd (simple-turn) is a statically built TURN server, configured by environment variables.
The entire install setup is 5 commands, on any platform! The goal is that anyone should be able to run a TURN server on any platform.

# Designed to be extended
Everyone has a different use case, so instead of having pion-TURN support a lot of different integration (redis, MySQL, Mongo....) it is designed so you can inherit and add what ever authentication you want.
You could easily put a REST API on top of it to create temporary tokens (there was an RFC around this) and other cool things. There are no limitations to what you can do

# Embeddable You can add this to an existing service. This means all your config files stay homogeneous instead of having the mismatch that makes it harder to manage your services. For small setups it is usually an overkill to deploy dedicated TURN servers, this makes it easier to solve the problems you care about. ## Readable All network interaction is commented with a link to the spec. This makes learning and debugging easier, the TURN server was written to also serve as a guide for others. ## Tested Every commit is tested via travis-ci Go provides fantastic facilities for testing, and more will be added as time goes on.
Currently the coverage is low, but will work on getting it higher once we have enough features to make using it worthwhile. ## Shared libraries Every pion product is built using shared libraries, allowing others to build things using existing tested STUN and TURN tools

Reply all
Reply to author
Forward
0 new messages