turn-server-1.0.1 is not a library.
Visit the last successful build:
turn-server-4.0.0-beta.4
A pure rust-implemented turn server, different from coturn, provides a more flexible external control API and provides the same performance and memory footprint.
Who uses it?
Table of contents
Features
- external controller api. (
http) - webhooks api. (
http) - only long-term authentication is supported.
- static identity in configuration file.
- only use udp protocol.
- virtual port support. (
allocate request does not allocate real udp ports)
Crates
stun, fast and zero-cost stun message decoder and encoder. (crate).turn, a library for handling turn sessions. (crate).turn-server, implementation of turn server based on turn library. (api)
Usage
Start with configuration file:
Please check the example configuration file for details: turn_server.toml
Building
Prerequisites
You need to install the Rust toolchain, if you have already installed it, you can skip it, Install Rust, then get the source code:
Build workspace
Compile the entire workspace in release mode:
After the compilation is complete, you can find the binary file in the "target/release" directory.
Benchmark
stun_decoder/channel_bind ...[time: 20.606 ns] ...[thrpt: 4.8812 GiB/s]
stun_decoder/binding_request ...[time: 20.862 ns] ...[thrpt: 4.2856 GiB/s]
License
GPL Copyright (c) 2022 Mr.Panda.