私はC#を使用してMonoTorrentでbittorrentアプリケーションを作成しています。アプリケーションはやや成熟していますが、SOCKSv5プロキシサポートを追加しています。プロキシ部分を処理するStarksoft.Net.Proxyを見つけました。しかし、私はいくつかの問題を抱えています。
でテストするためのBTGuardアカウントを取得しました。接続すると(ユーザー名やパスワードなどを指定して)、次のエラーが発生します。
Starksoft.Net.Proxy.ProxyException: Connection to proxy host 63.142.161.35 on port 1025 failed. ---> Starksoft.Net.Proxy.ProxyException: The the connection is not allowed by proxy destination rule set concerning destination host 195.122.253.23 port number 11523. The destination reported the host as 0.0.0.0 port -16676.
at Starksoft.Net.Proxy.Socks5ProxyClient.HandleProxyCommandError(Byte[] response, String destinationHost, Int32 destinationPort)
at Starksoft.Net.Proxy.Socks5ProxyClient.SendCommand(Byte command, String destinationHost, Int32 destinationPort)
at Starksoft.Net.Proxy.Socks5ProxyClient.CreateConnection(String destinationHost, Int32 destinationPort)
--- End of inner exception stack trace ---
at Starksoft.Net.Proxy.Socks5ProxyClient.CreateConnection(String destinationHost, Int32 destinationPort)
at Starksoft.Net.Proxy.Socks5ProxyClient.CreateConnectionAsync_DoWork(Object sender, DoWorkEventArgs e)
これは奇妙です。何が原因なのかわかりません。Starksoftのコードを読みましたが、SOCKSRFCとかなり一致しているようです。
Starksoft.Net.Proxyを介してプロキシに接続するために使用しているコードは次のとおりです。上記のスタックトレースは、133行目のe.Errorからのものです。