예제 #1
0
        private void LoadTor(object sender, WaitWindowEventArgs e)
        {
            Thread.Sleep(5000); //give a chance for the tor process to load

            ClientRemoteParams remoteParams = new ClientRemoteParams();

            remoteParams.Address         = "127.0.0.1";
            remoteParams.ControlPassword = "";
            remoteParams.ControlPort     = 9050;

            Client client = Client.CreateForRemote(remoteParams);

            client.Status.BandwidthChanged += Status_BandwidthChanged;
        }
예제 #2
0
파일: Tor.cs 프로젝트: injekt666/Tor4NET
        public Client InitializeClient(bool killExistingTor = false)
        {
            Client client;

            if (!killExistingTor && IsTorRunning())
            {
                var createParams = new ClientRemoteParams("127.0.0.1", ControlPort, controlPassword);
                client = Client.CreateForRemote(createParams);
            }
            else
            {
                KillTorProcesses();

                var createParams = new ClientCreateParams(torExecutable, ControlPort, controlPassword);
                client = Client.Create(createParams);
            }

            client.Configuration.ClientUseIPv6        = true;
            client.Configuration.HardwareAcceleration = true;
            client.Configuration.SocksPort            = SocksPort;
            client.Configuration.Save();

            return(client);
        }
예제 #3
0
        private IWebProxy[] GetProxies()
        {
            RestClient       proxyScraper = new RestClient("https://free-proxy-list.net");
            List <IWebProxy> proxies      = new List <IWebProxy>();
            var doc = new HtmlDocument();

            void AddProxies(HtmlNodeCollection nodes)
            {
                foreach (var node in nodes)
                {
                    proxies.Add(new WebProxy(node.FirstChild.InnerText, Convert.ToInt32(node.ChildNodes[1].InnerText)));
                }
            }

            doc.LoadHtml(
                proxyScraper.Execute(
                    new RestRequest(
                        "/anonymous-proxy.html",
                        Method.GET
                        )
                    ).Content
                );
            AddProxies(doc.DocumentNode.SelectNodes("/html/body/section/div/div[2]/table/tbody/tr"));

            doc.LoadHtml(
                proxyScraper.Execute(
                    new RestRequest(
                        "/",
                        Method.GET
                        )
                    ).Content
                );
            AddProxies(doc.DocumentNode.SelectNodes("/html/body/section/div/div[2]/table/tbody/tr"));

            proxyScraper = new RestClient("https://socks-proxy.net");
            doc.LoadHtml(
                proxyScraper.Execute(
                    new RestRequest(
                        "/",
                        Method.GET
                        )
                    ).Content
                );
            AddProxies(doc.DocumentNode.SelectNodes("/html/body/section/div/div[2]/table/tbody/tr"));
            proxyScraper = new RestClient("https://sslproxies.org");
            doc.LoadHtml(
                proxyScraper.Execute(
                    new RestRequest(
                        "/",
                        Method.GET
                        )
                    ).Content
                );
            AddProxies(doc.DocumentNode.SelectNodes("/html/body/section/div/div[2]/table/tbody/tr"));

            /*var createParams = new ClientCreateParams(
             *  @"C:\Users\ZACH-GAMING\Documents\TEMP\Tor Browser\Browser\TorBrowser\Tor\tor.exe",
             *  9051,
             *  ""
             * );
             * TorClient = Client.Create(createParams);*/
            var createParams = new ClientRemoteParams("127.0.0.1", 9051);

            TorClient = Client.CreateForRemote(createParams);
            //TorClient.Proxy.Port = 7777;
            SpinWait.SpinUntil(() => TorClient.Proxy.IsRunning, 1000);
            proxies.Insert(0, TorClient.Proxy.WebProxy);

            return(proxies.ToArray());
        }