Hi all, I want to execute an experiment on Tor in which i need to fix the ip address of entry,relay and exit onion router. For that i need to determine the IPs and keys of ORs in OP permanently. Is there any idea of what function of Tor's code should be replace?! Thanks a lot
On Mon, Jun 16, 2014 at 11:38 AM, mahdi mahdi.it2010@gmail.com wrote:
Hi all, I want to execute an experiment on Tor in which i need to fix the ip address of entry,relay and exit onion router. For that i need to determine the IPs and keys of ORs in OP permanently. Is there any idea of what function of Tor's code should be replace?!
You can do this using a custom controller; you don't need to modify the Tor program itself. There's a library for writing controllers here: https://stem.torproject.org/
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 16/06/14 17:47, Zack Weinberg wrote:
On Mon, Jun 16, 2014 at 11:38 AM, mahdi mahdi.it2010@gmail.com wrote:
Hi all, I want to execute an experiment on Tor in which i need to fix the ip address of entry,relay and exit onion router. For that i need to determine the IPs and keys of ORs in OP permanently. Is there any idea of what function of Tor's code should be replace?!
You can do this using a custom controller; you don't need to modify the Tor program itself. There's a library for writing controllers here: https://stem.torproject.org/
A related question: is it possible to build introduction/rendezvous circuits via the controller protocol?
Cheers, Michael
On Mon, 2014-06-16 at 20:08 +0430, mahdi wrote:
Hi all, I want to execute an experiment on Tor in which i need to fix the ip address of entry,relay and exit onion router. For that i need to determine the IPs and keys of ORs in OP permanently. Is there any idea of what function of Tor's code should be replace?!
To fix the entry and exit nodes you can just use the EntryNodes (or Bridges), ExitNodes, and StrictNodes configuration options.
To fix the middle relay you need to change some code (I think). The relevant functions should be circuitbuild.c:circuit_establish_circuit() and the functions it calls, especially circuitbuild.c:choose_good_middle_server().
--ll