QuickProxyNet 5.0.0

dotnet add package QuickProxyNet --version 5.0.0
                    
NuGet\Install-Package QuickProxyNet -Version 5.0.0
                    
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="QuickProxyNet" Version="5.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="QuickProxyNet" Version="5.0.0" />
                    
Directory.Packages.props
<PackageReference Include="QuickProxyNet" />
                    
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 QuickProxyNet --version 5.0.0
                    
#r "nuget: QuickProxyNet, 5.0.0"
                    
#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 QuickProxyNet@5.0.0
                    
#: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=QuickProxyNet&version=5.0.0
                    
Install as a Cake Addin
#tool nuget:?package=QuickProxyNet&version=5.0.0
                    
Install as a Cake Tool

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, Trojan and Shadowsocks. 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/ss links
await using var stream = await Proxy.ConnectAsync(
    "socks5://user:pass@127.0.0.1:1080",
    "example.com", 443,
    TimeSpan.FromSeconds(5));

Features

  • Zero runtime dependencies (BCL only)
  • Zero-alloc protocol logic (ArrayPool, stackalloc, Utf8Formatter, ValueTask)
  • VLESS REALITY and xtls-rprx-vision in-process, no Xray binary
  • Structured errors: ProxyProtocolException with ProxyErrorCode enum
  • Per-connection timeouts with ProxyErrorCode.Timeout
  • Static API (Proxy.ConnectAsync) and factory API (Proxy.Create(link))
  • Proxy.TryCreate(link, out client, out error) for subscriptions: it never throws and tells why a link was refused
  • Target as a DnsEndPoint or IPEndPoint, so SocketsHttpHandler.ConnectCallback can send an HttpClient through any supported proxy

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net11.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • net9.0

    • No dependencies.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on QuickProxyNet:

Package Downloads
McProtoNet.Core

Ядро McProtoNet

McProtoNet

High-performance library for working with the minecraft protocol

McProtoNet.Abstractions

Abstractions for McProtoNet

McProtoNet.Protocol

A library that supports multiversion

Umpk.Protocol.Java

Minecraft Java protocol framing, codecs, packet registration, login, encryption, status, and chat signing.

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
5.0.0 36 9/30/2026
4.0.0 220 8/22/2026
3.0.0 490 3/8/2026
2.0.0 981 11/4/2024
2.0.0-preview.1.1.4.2 205 2/6/2024
2.0.0-preview.1.1.4 402 1/11/2024
2.0.0-preview.1.1 180 12/27/2023
0.1.4 520 10/25/2023
0.1.3 248 10/25/2023
0.1.1 279 10/25/2023

5.0.0 removes Uri and the read and write timeouts from the public API. ProxyClientFactory is gone: its Create methods are now static on Proxy. Removed: IProxyClient.ProxyUri, IProxyClient.ReadTimeout and WriteTimeout, the Proxy.ConnectAsync(Uri, ...) overloads and ProxyUriExtensions. New: Shadowsocks AEAD over tcp, a connect target as an EndPoint (for SocketsHttpHandler.ConnectCallback), Proxy.TryCreate for bulk link parsing, IProxyClient.SourceLink and ProxyErrorCode.TlsHandshakeFailed. Fixed: IPv6 proxy addresses, the HTTPS proxy certificate check, escaped credentials in links, and header injection through a target host or a ws path. Migration guide and full notes: https://github.com/Titlehhhh/QuickProxyNet/releases/tag/v5.0.0