I'm using my TOR browser to connect to .onion
websites and download data using c#. What I wanted to do, was add a button that allowed the user to get a new identity, but nothing I tried have worked so far.
I've tried using telnet, sending a webrequest to the port 9151, running a vbs that was supposed to do this, but nothing worked.
I have tried using TorSharp, but while that worked that only worked Async and I couldN't use that properly. I'm currently using com.LandonKey.SocksWebProxy
.
How could I do this?
I'll add relevant code when I know what is needed, just ask.
EDIT:
@Ralph Wiggum
Sadly I can't remember every way I've tried creating a new Identity, as I've said, I tried running a VBS
using Diagnostic.Process.Start()
, but i doN'T have that script any more.
I also tried using WebRequest
but I'm not even sure how that should be done.
This is how that looked as i can remember:
com.LandonKey.SocksWebProxy.Proxy.ProxyConfig pc = new com.LandonKey.SocksWebProxy.Proxy.ProxyConfig();
pc.SocksAddress = IPAddress.Parse(tb_Location.Text);
pc.SocksPort = 9151;
SocksWebProxy sw = new SocksWebProxy(pc);
HttpWebRequest wreq = (HttpWebRequest)WebRequest.Create("http://127.0.0.1");
wreq.Headers.Add("SIGNAL", "AUTHENTICATE \"\"");
wreq.Headers.Add("SIGNAL", "NEWNYM");
using (var wres = wreq.GetResponse())
{
using (var s = new StreamReader(wres.GetResponseStream()))
{
MessageBox.Show(s.ReadToEnd());
}
}
I also tried using telnet (using PrimS.Telnet
), and that didn't work either. That looked something like this:
CancellationToken ct = new CancellationToken();
PrimS.Telnet.Client c = new PrimS.Telnet.Client("127.0.0.1", 9151, ct);
c.WriteLine("AUTHENTICATE \"\"\n");
c.WriteLine("SIGNAL NEWNYM");
@drew010
As I said, I did use TorSharp
but I stopped. It was incredibly easy to create a new identity there, but it ran entirely Async, and I couldn't manage to fix it to use it with the rest of my code.