WebRTC的源码中自带了一个turnserver,编译之后,会在out/Default下生成一个turnserver文件,可以充当STUN和TURN server。用法如下:
./turnserver int_addr ext_addr realm auth_file
int_addr指的是面对turnclient,接收turnclient数据的ip和端口,形式是host:port
,例如192.168.1.12:3478
。
ext_addr是公共IP(可能是公网IP,内网使用则可能是相对于NAT的公共IP),例如192.168.1.12
。
realm是类似example.com
之类的。
auth_file是认证需要的文本文件。内容是 username=<hash>
这样的数据,一行一个用户。(注意这里的格式和coturn不太一样)
hash值用这个命令生成:
echo -n "<username>:<realm>:<password>" | md5sum