HTTP/3 (QUIC)
HTTP/3 is an opt-in experimental feature on System.Net.Quic / MsQuic.
csharp
#pragma warning disable TWP001
proxyServer.EnableHttp3 = true;
#pragma warning restore TWP001Prerequisites
- .NET 10+
- MsQuic:
- Windows: in-box with the .NET runtime (Windows 11 / Server 2022+)
- Linux: install
libmsquicfrom packages.microsoft.com - macOS: not bundled; see the wiki for bundling notes
System.Net.Quic.QuicListener.IsSupported == truebefore enabling- Inbound endpoint:
TransparentQuicProxyEndPointorTransparentProxyEndPointwithEnableHttp3 = true
Dual-listen reverse (TCP + UDP)
Same IP:port speaks TLS H1/H2 over TCP and H3 over UDP, and can inject Alt-Svc:
csharp
#pragma warning disable TWP001
var proxy = new ProxyServer { EnableHttp3 = true, EnableHttp2 = true };
if (QuicListener.IsSupported)
{
var reverse = new TransparentProxyEndPoint(IPAddress.Any, 443, decryptSsl: true)
{
EnableHttp3 = true,
};
proxy.AddEndPoint(reverse);
}
#pragma warning restore TWP001CLI
yaml
listeners:
- host: "0.0.0.0"
port: 443
decryptSsl: true
enableHttp3: trueFull guide
Setup, macOS notes, Alt-Svc, bridges, and gap list: HTTP/3 wiki.