Esempio n. 1
0
        static void Main5(string[] args)
        {
            // FireFox => SocksServer => RiverClient => Fiddler => RiverServer => Internet

            // Trace.Listeners.Add(new ConsoleTraceListener());
            new Socks4ClientStream();
            new Socks5ClientStream();

            new ShadowSocksClientStream();

            var server = new ShadowSocksServer
            {
                Chain =
                {
                    // "socks4://rhop2:1080",
                    // "socks5://10.7.1.1:1080",
                },
            };

            server.Run("ss://*****:*****@0.0.0.0:8338");

            // connect to this server and ask super secret web site behind 2 private lan

            /*
             * var cli = new Socks4ClientStream("127.0.0.1", 1080, "10.7.0.1", 80);
             *
             * var buf = new byte[16 * 1024];
             * void read()
             * {
             *      var c = cli.Read(buf, 0, buf.Length);
             *      if (c > 0)
             *      {
             *              var str = Encoding.UTF8.GetString(buf, 0, c);
             *              Console.WriteLine(str);
             *              Console.WriteLine("\r\n==========");
             *              Task.Run(delegate
             *              {
             *                      read();
             *              });
             *      }
             * }
             * Task.Run(delegate
             * {
             *      read();
             * });
             *
             * var req = Encoding.ASCII.GetBytes(@"GET / HTTP/1.1
             * Host: httpbin.org
             * Keep-Alive: true
             *
             * ");
             * cli.Write(req);
             */
            Console.ReadLine();
        }
Esempio n. 2
0
        public void Check_ss()
        {
            var port   = GetFreePort();
            var server = new ShadowSocksServer().Track(this);

            server.Run("ss://*****:*****@0.0.0.0:" + port);

            var cli = new ShadowSocksClientStream("chacha20", "123", "127.0.0.1", port, host, 80).Track(this);

            TestConnction(cli, host);
        }