public void Check_socks_by_river5_client() { // default null var cli = new Socks5ClientStream("rt.xkip.ru", 11080, host, 80).Track(this); TestConnction(cli, host); // v5 force dns cli = new Socks5ClientStream("rt.xkip.ru", 11080, host, 80, proxyDns: true).Track(this); TestConnction(cli, host); // v5 force ip cli = new Socks5ClientStream("rt.xkip.ru", 11080, host, 80, proxyDns: false).Track(this); TestConnction(cli, host); // IPv4 - native support var ip = Dns.GetHostAddresses(host) .FirstOrDefault(x => x.AddressFamily == AddressFamily.InterNetwork); cli = new Socks5ClientStream("rt.xkip.ru", 11080, ip.ToString(), 80).Track(this); TestConnction(cli, host); cli = new Socks5ClientStream("rt.xkip.ru", 11080, ip.ToString(), 80, proxyDns: true).Track(this); TestConnction(cli, host); cli = new Socks5ClientStream("rt.xkip.ru", 11080, ip.ToString(), 80, proxyDns: false).Track(this); TestConnction(cli, host); }
public void Should_socks5_have_a_ctor_with_proxy_and_host() { var server = new DemoTcpServer(); var proxyPort = GetFreePort(); var proxy = new SocksServer("socks://0.0.0.0:" + proxyPort); var proxyClient = new Socks5ClientStream("127.0.0.1", proxyPort, "127.0.0.1", server.Port); var data = new byte[] { 1, 2, 3, 4 }; proxyClient.Write(data); var buf = new byte[16 * 1024]; var d = proxyClient.Read(buf, 0, buf.Length); Assert.AreEqual(4, d, "Should read 4 bytes in a single packet"); // demo server is XOR 37 CollectionAssert.AreEqual(data.Select(x => (byte)(x ^ 37)).ToArray(), buf.Take(d).ToArray()); server.Dispose(); proxy.Dispose(); proxyClient.Dispose(); }
public void Check_socks_by_river4_client() { Stream cli; var ip = new IPAddress(new byte[] { 127, 127, 127, 127 }); using (Scope("Socks4ClientStream - default null")) { cli = new Socks4ClientStream(_proxy, _proxyPort, _host, 80).Track(this); TestConnction(cli, _host); } using (Scope("Socks4ClientStream - v4a force dns")) { cli = new Socks4ClientStream(_proxy, _proxyPort, _host, 80, proxyDns: true).Track(this); TestConnction(cli, _host); } using (Scope("Socks4ClientStream - v4 force i")) { cli = new Socks4ClientStream(_proxy, _proxyPort, _host, 80, proxyDns: false).Track(this); TestConnction(cli, _host); } // IPv4 - native support using (Scope("Socks4ClientStream 4")) { cli = new Socks4ClientStream(_proxy, _proxyPort, ip.ToString(), 80).Track(this); TestConnction(cli, _host); } using (Scope("Socks4ClientStream 5")) { cli = new Socks4ClientStream(_proxy, _proxyPort, ip.ToString(), 80, proxyDns: true).Track(this); TestConnction(cli, _host); } using (Scope("Socks4ClientStream 6")) { cli = new Socks4ClientStream(_proxy, _proxyPort, ip.ToString(), 80, proxyDns: false).Track(this); TestConnction(cli, _host); } using (Scope("Socks5ClientStream")) { // default null cli = new Socks5ClientStream(_proxy, _proxyPort, _host, 80).Track(this); TestConnction(cli, _host); } using (Scope("Socks5ClientStream proxyDns: true")) { // v5 force dns cli = new Socks5ClientStream(_proxy, _proxyPort, _host, 80, proxyDns: true).Track(this); TestConnction(cli, _host); } using (Scope("Socks5ClientStream proxyDns: false - v5 force ip")) { cli = new Socks5ClientStream(_proxy, _proxyPort, _host, 80, proxyDns: false).Track(this); TestConnction(cli, _host); } using (Scope("Socks5ClientStream - IPv4 - native support")) { cli = new Socks5ClientStream(_proxy, _proxyPort, ip.ToString(), 80).Track(this); TestConnction(cli, _host); } using (Scope("Socks5ClientStream proxyDns true")) { cli = new Socks5ClientStream(_proxy, _proxyPort, ip.ToString(), 80, proxyDns: true).Track(this); TestConnction(cli, _host); } using (Scope("Socks5ClientStream proxyDns false")) { cli = new Socks5ClientStream(_proxy, _proxyPort, ip.ToString(), 80, proxyDns: false).Track(this); TestConnction(cli, _host); } }