QuickProxyNet 4.0.0
dotnet add package QuickProxyNet --version 4.0.0
NuGet\Install-Package QuickProxyNet -Version 4.0.0
<PackageReference Include="QuickProxyNet" Version="4.0.0" />
<PackageVersion Include="QuickProxyNet" Version="4.0.0" />
<PackageReference Include="QuickProxyNet" />
paket add QuickProxyNet --version 4.0.0
#r "nuget: QuickProxyNet, 4.0.0"
#:package QuickProxyNet@4.0.0
#addin nuget:?package=QuickProxyNet&version=4.0.0
#tool nuget:?package=QuickProxyNet&version=4.0.0
QuickProxyNet
High-performance, zero-dependency C# library for connecting through HTTP, HTTPS, SOCKS4, SOCKS4a and SOCKS5 proxies, and through the VPN-style protocols VLESS, VMess and Trojan. Returns a raw Stream for direct data access.
VLESS REALITY works in-process — the TLS 1.3 handshake it needs is implemented here (including the xtls-rprx-vision flow), so it costs no extra package and no external binary, and the zero-dependency promise still holds. Its ClientHello is not yet a browser fingerprint; see docs/reality-fingerprint-plan.md in the repository for what that means.
No companion package and no external binary are involved. The grpc and xhttp transports, Vision's TLS-in-TLS splice, and a genuine uTLS browser fingerprint are not implemented.
Targets: .NET 8 / .NET 9 / .NET 10 / .NET 11
Quick Start
Proxy.ConnectAsync takes the share link as a string and dispatches on the scheme itself — including vmess:// links, whose base64 payload System.Uri cannot parse.
// Works for http/https/socks4/socks4a/socks5/vless/trojan/vmess links
await using var stream = await Proxy.ConnectAsync(
"socks5://user:pass@127.0.0.1:1080",
"example.com", 443,
TimeSpan.FromSeconds(5));
Or via extension method:
await using var stream = await new Uri("http://proxy:8080")
.ConnectThroughProxyAsync("example.com", 443);
Features
- Zero runtime dependencies (BCL only)
- Zero-alloc protocol logic (
ArrayPool,stackalloc,Utf8Formatter,ValueTask) - VLESS REALITY and
xtls-rprx-visionin-process, no Xray binary - Structured errors:
ProxyProtocolExceptionwithProxyErrorCodeenum - Per-connection timeouts with
ProxyErrorCode.Timeout - Static API (
Proxy.ConnectAsync) and factory API (ProxyClientFactory.Instance.Create(link))
Error Handling
try
{
await using var stream = await Proxy.ConnectAsync(proxyLink, host, port,
TimeSpan.FromSeconds(5));
}
catch (ProxyProtocolException ex) when (ex.ErrorCode == ProxyErrorCode.Timeout)
{
// Timed out — ex.Message includes proxy and target host:port
}
catch (ProxyProtocolException ex) when (ex.ErrorCode == ProxyErrorCode.AuthFailed)
{
// Wrong credentials
}
See full documentation for all error codes, the support matrix, and configuration options.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. 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. net11.0 is compatible. |
-
net10.0
- No dependencies.
-
net11.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages (4)
Showing the top 4 NuGet packages that depend on QuickProxyNet:
| Package | Downloads |
|---|---|
|
McProtoNet.Core
Ядро McProtoNet |
|
|
McProtoNet
High-performance library for working with the minecraft protocol |
|
|
McProtoNet.Protocol
A library that supports multiversion |
|
|
McProtoNet.Abstractions
Abstractions for McProtoNet |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on QuickProxyNet:
| Repository | Stars |
|---|---|
|
Titlehhhh/Minecraft-Holy-Client
A high-performance platform for running Minecraft stress-test bots written in C#.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.0 | 75 | 8/22/2026 |
| 3.0.0 | 278 | 3/8/2026 |
| 2.0.0 | 946 | 11/4/2024 |
| 2.0.0-preview.1.1.4.2 | 202 | 2/6/2024 |
| 2.0.0-preview.1.1.4 | 397 | 1/11/2024 |
| 2.0.0-preview.1.1 | 175 | 12/27/2023 |
| 0.1.4 | 517 | 10/25/2023 |
| 0.1.3 | 246 | 10/25/2023 |
| 0.1.1 | 275 | 10/25/2023 |
4.0.0 adds VLESS, VMess and Trojan outbounds next to the HTTP/SOCKS clients. VLESS REALITY and the xtls-rprx-vision flow are implemented in managed code — no Xray or other external binary. ProxyClientFactory.Create(string) and Proxy.ConnectAsync(string, host, port) take a link of any supported scheme, including vmess:// links that System.Uri cannot represent. No public type or member from 3.0.0 was removed or changed; the major bump covers new ProxyType/ProxyErrorCode members and Create(Uri) now returning a client for vless/trojan/vmess instead of throwing. Not included: grpc and xhttp transports, Hysteria2, and a browser-grade ClientHello fingerprint for REALITY. Full notes: https://github.com/Titlehhhh/QuickProxyNet/releases/tag/v4.0.0