private void proxy_connected(object sender, CreateConnectionAsyncCompletedEventArgs e) { if (e.Error != null) { if (InputProxyMessage != null) { InputProxyMessage.Invoke("Connection Error!"); } if (InputProxyMessage != null) { InputProxyMessage.Invoke(e.Error.Message); } return; } else if (e.Error == null) { if (InputProxyMessage != null) { InputProxyMessage.Invoke("Connected to Tor!"); } this.proxy_connection.client = e.ProxyConnection; if (InputProxyMessage != null) { InputProxyMessage.Invoke("Proxy referenced."); } } }
public TorProxy(string target_host, int target_port, string proxy_host, int proxy_port, ProxyType type) { if (InputProxyMessage != null) { InputProxyMessage.Invoke("Socket allocated."); } proxy_connection = new connection(); proxy_connection.proxy_config(target_host, target_port, proxy_host, proxy_port, type); ProxyClientFactory factory = new ProxyClientFactory(); proxy_connection.Proxy = factory.CreateProxyClient(type, proxy_host, proxy_port); proxy_connection.Proxy.CreateConnectionAsyncCompleted += new EventHandler <CreateConnectionAsyncCompletedEventArgs>(proxy_connected); }
public string receive() { byte[] bytes = new byte[proxy_connection.client.ReceiveBufferSize]; NetworkStream netStream = proxy_connection.client.GetStream(); Thread.Sleep(1000); if (InputProxyMessage != null) { InputProxyMessage.Invoke("Finalizing Data 50%.."); } netStream.Read(bytes, 0, (int)proxy_connection.client.ReceiveBufferSize); Thread.Sleep(1000); if (InputProxyMessage != null) { InputProxyMessage.Invoke("Finalizing Data 100%.."); } return(Encoding.UTF8.GetString(bytes)); }