【问题标题】:Make Socks 5 requires username / password authentication? Titanium web proxyMake Socks 5 需要用户名/密码认证吗?钛网络代理
【发布时间】:2021-04-15 15:27:15
【问题描述】:

用户如何连接SocksProxyEndPoint必须验证用户名和密码。

我在最新版本的 Titanium 网络代理中读到了这一点,它允许在创建 SocksProxyEndPoint 时启用用户名密码验证。但是我不知道如何编写该代码,也找不到说明性示例,有人可以帮我这样做

【问题讨论】:

    标签: c# titanium-web-proxy


    【解决方案1】:

    对于基本身份验证,只需在 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 中是可以接受的,但如果您允许公开访问您的代理,请使用不同的身份验证方案 (ProxySchemeAuthenticateFunc) 或通过隧道传输流量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-02
      • 1970-01-01
      相关资源
      最近更新 更多