private static void RequestWith3Ip() { var requestUri = "http://icanhazip.com/"; // 1. Get real IP using (var httpClient = new HttpClient()) { var content = httpClient.GetAsync(requestUri).Result.Content.ReadAsStringAsync().Result; Console.WriteLine($"Your real IP: \t\t{content}"); } // 2. Get TOR IP using (var socksPortClient = new SocksPort.Client()) { var handler = socksPortClient.GetHandlerFromDomain("icanhazip.com"); using (var httpClient = new HttpClient(handler)) { var content = httpClient.GetAsync(requestUri).Result.Content.ReadAsStringAsync().Result; Console.WriteLine($"Your TOR IP: \t\t{ content}"); } // 3. Change TOR IP var controlPortClient = new ControlPort.Client(password: "******"); controlPortClient.ChangeCircuit(); // 4. Get changed TOR IP handler = socksPortClient.GetHandlerFromRequestUri(requestUri); using (var httpClient = new HttpClient(handler)) { var content = httpClient.GetAsync(requestUri).Result.Content.ReadAsStringAsync().Result; Console.WriteLine($"Your other TOR IP: \t{content}"); } } }
private static async Task CanChangeCircuitWithinSameHttpClientAsync() { var requestUri = "https://api.ipify.org/"; IPAddress torIp; IPAddress changedIp; // 1. Get TOR IP var handler = new SocksPortHandler(Shared.HostAddress, Shared.SocksPort); using (var httpClient = new HttpClient(handler)) { var content = await(await httpClient.GetAsync(requestUri).ConfigureAwait(false)).Content.ReadAsStringAsync() .ConfigureAwait(false); var gotIp = IPAddress.TryParse(content.Replace("\n", ""), out torIp); Assert.True(gotIp); // 2. Change TOR IP var controlPortClient = new ControlPort.Client(Shared.HostAddress, Shared.ControlPort, Shared.ControlPortPassword); await controlPortClient.ChangeCircuitAsync().ConfigureAwait(false); // 3. Get changed TOR IP content = await(await httpClient.GetAsync(requestUri).ConfigureAwait(false)).Content.ReadAsStringAsync() .ConfigureAwait(false); gotIp = IPAddress.TryParse(content.Replace("\n", ""), out changedIp); Assert.True(gotIp); } Assert.NotEqual(changedIp, torIp); }
private static void RequestWith3Ip() { var requestUri = "http://icanhazip.com/"; // 1. Get real IP using (var httpClient = new HttpClient()) { var message = httpClient.GetAsync(requestUri).Result; var content = message.Content.ReadAsStringAsync().Result; Console.WriteLine($"Your real IP: \t\t{content}"); } // 2. Get TOR IP using (var httpClient = new HttpClient(new SocksPortHandler("127.0.0.1", socksPort: 9050))) { var message = httpClient.GetAsync(requestUri).Result; var content = message.Content.ReadAsStringAsync().Result; Console.WriteLine($"Your TOR IP: \t\t{content}"); // 3. Change TOR IP var controlPortClient = new ControlPort.Client("127.0.0.1", controlPort: 9051, password: "******"); controlPortClient.ChangeCircuitAsync().Wait(); // 4. Get changed TOR IP message = httpClient.GetAsync(requestUri).Result; content = message.Content.ReadAsStringAsync().Result; Console.WriteLine($"Your other TOR IP: \t{content}"); } }
private static async Task IsCircuitEstabilishedAsync() { var controlPortClient = new ControlPort.Client(Shared.HostAddress, Shared.ControlPort, Shared.ControlPortPassword); var yes = await controlPortClient.IsCircuitEstabilishedAsync().ConfigureAwait(false); Assert.True(yes); }
private static void CanChangeCircuit() { var requestUri = "http://icanhazip.com/"; IPAddress torIp; IPAddress changedIp; // 1. Get TOR IP using (var socksPortClient = new SocksPort.Client(HostAddress, SocksPort)) { var handler = socksPortClient.GetHandlerFromDomain("icanhazip.com"); using (var httpClient = new HttpClient(handler)) { var content = httpClient.GetAsync(requestUri).Result.Content.ReadAsStringAsync().Result; var gotIp = IPAddress.TryParse(content.Replace("\n", ""), out torIp); Assert.True(gotIp); } // 2. Change TOR IP var controlPortClient = new ControlPort.Client(HostAddress, ControlPort, ControlPortPassword); controlPortClient.ChangeCircuit(); // 3. Get changed TOR IP handler = socksPortClient.GetHandlerFromRequestUri(requestUri); using (var httpClient = new HttpClient(handler)) { var content = httpClient.GetAsync(requestUri).Result.Content.ReadAsStringAsync().Result; var gotIp = IPAddress.TryParse(content.Replace("\n", ""), out changedIp); Assert.True(gotIp); } } Assert.NotEqual(changedIp, torIp); }
private static async Task CanSendCustomCommandAsync() { var controlPortClient = new ControlPort.Client(Shared.HostAddress, Shared.ControlPort, Shared.ControlPortPassword); var res = await controlPortClient.SendCommandAsync("GETCONF SOCKSPORT").ConfigureAwait(false); Assert.StartsWith("250 SocksPort", res); }
private static async Task RequestWith3IpAsync() { var requestUri = "https://api.ipify.org/"; // 1. Get real IP using (var httpClient = new HttpClient()) { var message = await httpClient.GetAsync(requestUri); var content = await message.Content.ReadAsStringAsync(); Console.WriteLine($"Your real IP: \t\t{content}"); } // 2. Get TOR IP using (var httpClient = new HttpClient(new SocksPortHandler("127.0.0.1", socksPort: 9050))) { var message = await httpClient.GetAsync(requestUri); var content = await message.Content.ReadAsStringAsync(); Console.WriteLine($"Your TOR IP: \t\t{content}"); // 3. Change TOR IP var controlPortClient = new ControlPort.Client("127.0.0.1", controlPort: 9051, password: "******"); await controlPortClient.ChangeCircuitAsync(); // 4. Get changed TOR IP message = await httpClient.GetAsync(requestUri); content = await message.Content.ReadAsStringAsync(); Console.WriteLine($"Your other TOR IP: \t{content}"); } }
private static async Task CanChangeCircuitMultipleTimesAsync() { var requestUri = "https://api.ipify.org/"; // 1. Get TOR IP IPAddress currIp = await GetTorIpAsync(requestUri).ConfigureAwait(false); var controlPortClient = new ControlPort.Client(Shared.HostAddress, Shared.ControlPort, Shared.ControlPortPassword); for (int i = 0; i < 5; i++) { IPAddress prevIp = currIp; // Change TOR IP await controlPortClient.ChangeCircuitAsync().ConfigureAwait(false); // Get changed TOR IP currIp = await GetTorIpAsync(requestUri).ConfigureAwait(false); Assert.NotEqual(prevIp, currIp); } }