GeekTools.Socks5Proxy
1.0.0
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Standard 2.0
This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
dotnet add package GeekTools.Socks5Proxy --version 1.0.0
NuGet\Install-Package GeekTools.Socks5Proxy -Version 1.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="GeekTools.Socks5Proxy" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add GeekTools.Socks5Proxy --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: GeekTools.Socks5Proxy, 1.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.
// Install GeekTools.Socks5Proxy as a Cake Addin #addin nuget:?package=GeekTools.Socks5Proxy&version=1.0.0 // Install GeekTools.Socks5Proxy as a Cake Tool #tool nuget:?package=GeekTools.Socks5Proxy&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
GeekTools.Socks5Proxy
GeekTools.Socks5Proxy 是一个高性能的 SOCKS5 代理实现库,专门为 .NET 平台设计。它支持连接池、异步操作和身份验证,可以轻松地与 HttpClient 集成使用。
特性
- ✨ 支持 SOCKS5 代理协议
- 🚀 异步操作支持
- 🔐 用户名/密码认证
- 📦 连接池支持
- ⌛ 连接超时控制
- 🔄 自动重试机制
- 📱 跨平台支持
安装
通过 NuGet 包管理器安装:
dotnet add package GeekTools.Socks5Proxy
使用方法
基本用法
// 创建代理实例
var proxy = new Socks5Proxy(
proxyHost: "proxy.example.com",
proxyPort: 1080,
username: "user", // 可选
password: "pass" // 可选
);
// 配置 HttpClient
var handler = new SocketsHttpHandler
{
Proxy = proxy
};
var client = new HttpClient(handler);
使用连接池
var proxy = new Socks5Proxy(
proxyHost: "proxy.example.com",
proxyPort: 1080,
useConnectionPooling: true,
maxPoolSize: 100
);
自定义超时设置
var proxy = new Socks5Proxy(
proxyHost: "proxy.example.com",
proxyPort: 1080,
connectionTimeout: 5000 // 5秒超时
);
异常处理
库定义了以下异常类型:
ProxyProtocolException
: 代理协议相关错误ProxyAuthenticationRequiredException
: 需要认证ProxyAuthenticationFailedException
: 认证失败ProxyConnectionException
: 连接错误
try
{
// 使用代理的代码
}
catch (ProxyAuthenticationFailedException ex)
{
// 处理认证失败
}
catch (ProxyConnectionException ex)
{
// 处理连接错误
}
性能优化建议
- 启用连接池以重用连接
- 适当设置最大连接池大小
- 合理配置连接超时时间
许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
贡献
欢迎提交 Issue 和 Pull Request!
更新日志
1.0.0
- 初始发布
- 实现基本的 SOCKS5 代理功能
- 支持连接池
- 支持用户名密码认证
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
-
.NETStandard 2.1
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 55 | 11/18/2024 |