#turn #web-rtc #stun #control-api #config-file

app turn-server

一个纯Rust实现的TURN服务器

6个版本 (稳定)

1.2.0 2023年6月24日
1.0.3 2023年4月3日
1.0.2 2023年1月22日
0.2.0 2023年1月1日

#1582网络编程

每月 39次下载

GPL-2.0-or-later

285KB
3K SLoC

TURN-RS


由 ❤️ Rust 实现的TURN服务器


一个纯Rust实现的TURN服务器,与coturn不同,提供更灵活的外部控制API,并提供相同的表现力和内存占用,该项目最兼容在webrtc中使用stun/turn服务器的情况。

谁在使用它?

目录

功能

  • UDP和TCP传输。
  • Webhooks API。 (hooks-api)
  • 外部控制器API。 (controller-api)
  • 配置文件中的静态身份。
  • 仅支持长期认证。
  • 虚拟端口支持。 (分配请求不分配真实的UDP端口)

Crates

  • stun,快速且无成本的STUN消息解码器和编码器。 (crate).
  • turn,处理TURN会话的库。 (crate).
  • turn-server,基于TURN库的TURN服务器实现。

使用

cargo install turn-server

使用配置文件启动

turn-server --config=/etc/turn_server/config.toml

请查看示例配置文件以获取详细信息: turn_server.toml

Docker

docker pull quasipaa/turn-server

通过 --v 覆盖镜像内 /etc/turn-server/config.toml 路径的定制配置文件。

Linux服务

./install-service.sh

此操作将编译项目并安装及启动服务。

构建

先决条件

您需要安装Rust工具链,如果您已经安装了它,可以跳过此步骤,安装Rust,然后获取源代码

git clone https://github.com/mycrl/turn-rs

构建工作空间

以发布模式编译整个工作空间

cd turn-rs
cargo build --release

编译完成后,您可以在“target/release”目录中找到二进制文件。

许可证

MIT 版权 (c) 2022 Mr.Panda。

依赖项

~13–29MB
~433K SLoC