Hi,
On 17 Jan 2019, at 23:39, sarpedon montecarlo sarpedon000@gmail.com wrote:
I recently started to do some modifications on tor path selection by using stem, torflow/op-addon and txtorconn. but as long as i enable __LeaveStreamsUnattached option, tor will not function properly.
__LeaveStreamsUnattached means that the controller needs to attach all of Tor's streams. How does Tor fail when you set it?
We know that __DisablePredictedCircuits causes Tor to stop bootstrapping. https://trac.torproject.org/projects/tor/ticket/17359
so i decided to hack the source for this feature i seek: custom country for each position: entry:{{entry country-code}} middle:{{middle country-code}} exit:{{country-code}}
Restricting your path probably won't do what you want:
Changing Tor's path selection makes your Tor client look different, so you will be easier to track.
GeoIP is inaccurate: it's based on the physical location of the machine, or the location of the owner of the IP address, or some other location they chose. Relays are usually in data centres, so there's no commercial incentive to keep their locations up to date for targeted advertising.
Also, different GeoIP databases have different locations for the same IP address.
And GeoIP locations often don't correspond to legal jurisdictions.
i really appreciate you guys give me some hint, that which part of the source i must start to hack? i have dived into circuitbuild.c and some other core/or modules but i am confused where to start.
You could start by using the existing EntryNodes and ExitNodes options: https://www.torproject.org/docs/tor-manual.html.en
You may also want the StrictNodes option.
Tor 0.4.0.1-alpha will add a MiddleNodes option, it should be out in the next few days. If you can't wait, the code is here: https://github.com/torproject/tor/commit/8ad497bb578b13c66489843905764a60545...
T