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" />
                    
Directory.Packages.props
<PackageReference Include="Uniform.Turn" />
                    
Project file
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
                    
#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
                    
Install as a Cake Addin
#tool nuget:?package=Uniform.Turn&version=0.1.24
                    
Install as a Cake Tool

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 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.

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