Uniform.Turn
0.1.24
dotnet add package Uniform.Turn --version 0.1.24
NuGet\Install-Package Uniform.Turn -Version 0.1.24
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Uniform.Turn" Version="0.1.24" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Uniform.Turn" Version="0.1.24" />
<PackageReference Include="Uniform.Turn" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Uniform.Turn --version 0.1.24
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Uniform.Turn, 0.1.24"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Uniform.Turn@0.1.24
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Uniform.Turn&version=0.1.24
#tool nuget:?package=Uniform.Turn&version=0.1.24
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Uniform.Turn
A STUN and TURN server in pure C#, following RFC 8489 and RFC 8656:
- Answers STUN Binding requests, so clients learn their public address.
- Relays UDP for clients that reach it over UDP, TCP or TLS: allocations, permissions, channels, Send and Data indications, refreshes.
- Long-term credentials with stateless nonces: time-limited credentials from shared secrets, as Matrix homeservers hand out (
SharedSecretAuthenticator), or fixed users (StaticUserAuthenticator). - Refuses to relay to private, loopback and other non-public addresses by default, limits allocations per user and in total, and ends what is not refreshed.
- Relays between two allocations of the same server directly, so clients behind the same router as the server need no NAT hairpinning.
TurnServerOptions options = new() { Realm = "example.org", ExternalAddress = IPAddress.Parse("203.0.113.5") };
await using TurnServer server = new(options, new SharedSecretAuthenticator([secret], TimeProvider.System), logger);
await server.StartAsync();
Uniform.Stun.Hosting runs it in a .NET host with settings.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Uniform.Stun.Protocol (>= 0.1.24)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Uniform.Turn:
| Package | Downloads |
|---|---|
|
Uniform.Stun.Hosting
Runs the Uniform.Turn STUN and TURN server in a .NET host: settings in section Turn, credentials from shared secrets, fixed users or the host, TLS certificates from PEM files that renew without a restart. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.24 | 0 | 11/10/2026 |
| 0.1.23 | 0 | 11/10/2026 |
| 0.1.22 | 0 | 11/10/2026 |
| 0.1.21 | 0 | 11/10/2026 |
| 0.1.19 | 9 | 11/9/2026 |
| 0.1.18 | 35 | 11/9/2026 |
| 0.1.17 | 29 | 11/9/2026 |
| 0.1.16 | 38 | 11/9/2026 |
| 0.1.15 | 37 | 11/9/2026 |
| 0.1.14-rc5 | 37 | 11/9/2026 |
| 0.1.14-rc4 | 39 | 11/9/2026 |
| 0.1.14-rc2 | 43 | 11/9/2026 |