Make Socks 5 需要用户名/密码认证?钛网络代理
Make Socks 5 requires username / password authentication? Titanium web proxy
用户如何连接到 SocksProxyEndPoint 必须验证用户名和密码。
我在最新版本的 Titanium Web 代理中读到过,它允许在创建 SocksProxyEndPoint 时启用用户名密码身份验证。但是我不知道怎么写那个代码,也找不到说明性的例子,谁能帮我做这个
对于基本身份验证,只需在 ProxyServer
实例上设置 ProxyBasicAuthenticateFunc
属性。例如:
void Main()
{
var proxyServer = new ProxyServer();
proxyServer.OnClientConnectionCreate += OnConnect;
proxyServer.BeforeRequest += OnBeforeRequest;
var socksProxy = new SocksProxyEndPoint(IPAddress.Loopback, 1080, false);
proxyServer.ProxyBasicAuthenticateFunc = OnBasicAuth;
proxyServer.AddEndPoint(socksProxy);
proxyServer.Start();
...
}
public Task<bool> OnBasicAuth(SessionEventArgsBase ev, string u, string p) {
if (u == "test" && p == "pass") {
return Task.FromResult(true);
}
return Task.FromResult(false);
}
请注意,数据将以明文形式发送(未加密)。这在 Intranet 中是可以接受的,但是如果您允许 public 访问您的代理,请使用不同的身份验证方案 (ProxySchemeAuthenticateFunc) 或通过隧道传输流量。
用户如何连接到 SocksProxyEndPoint 必须验证用户名和密码。
我在最新版本的 Titanium Web 代理中读到过,它允许在创建 SocksProxyEndPoint 时启用用户名密码身份验证。但是我不知道怎么写那个代码,也找不到说明性的例子,谁能帮我做这个
对于基本身份验证,只需在 ProxyServer
实例上设置 ProxyBasicAuthenticateFunc
属性。例如:
void Main()
{
var proxyServer = new ProxyServer();
proxyServer.OnClientConnectionCreate += OnConnect;
proxyServer.BeforeRequest += OnBeforeRequest;
var socksProxy = new SocksProxyEndPoint(IPAddress.Loopback, 1080, false);
proxyServer.ProxyBasicAuthenticateFunc = OnBasicAuth;
proxyServer.AddEndPoint(socksProxy);
proxyServer.Start();
...
}
public Task<bool> OnBasicAuth(SessionEventArgsBase ev, string u, string p) {
if (u == "test" && p == "pass") {
return Task.FromResult(true);
}
return Task.FromResult(false);
}
请注意,数据将以明文形式发送(未加密)。这在 Intranet 中是可以接受的,但是如果您允许 public 访问您的代理,请使用不同的身份验证方案 (ProxySchemeAuthenticateFunc) 或通过隧道传输流量。