Hello there. 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. 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}} 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. thanks in advance.
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
sarpedon montecarlo sarpedon000@gmail.com writes:
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.
Can you elaborate on what problems you ran into? Both Stem and txtorcon should work fine doing their own circuit building + stream attachment.
Hello there. the event handlers i register, streams and circuits events, freeze and stops working. this is not happening from the beginning but when some streams show up, it seems like some stack somewhere that i am not aware of, stock at processing the queue.
First i must appreciate from teor@reseup.net for the kind and very helpful answer. Second: if i want to build the project, is there any up to date approach? i used the dependency libraries provided at jenkins, the problem is that using nmake goes wrong, and the last update of the build-manual in the code belongs to 2014. Thanks in advance.
Hi,
On 19 Jan 2019, at 21:21, sarpedon montecarlo sarpedon000@gmail.com wrote:
the event handlers i register, streams and circuits events, freeze and stops working. this is not happening from the beginning but when some streams show up, it seems like some stack somewhere that i am not aware of, stock at processing the queue.
It's hard to fix bugs like this, unless we can see them on our machines.
Can you please tell us * what code you are using * what tor configuration (torrc) you are using * the commands you use to launch your code and tor * the notice-level log messages that tor logs before it stops working
Please copy exactly what you're doing into a pastebin like https://paste.debian.net
Second: if i want to build the project, is there any up to date approach? i used the dependency libraries provided at jenkins, the problem is that using nmake goes wrong, and the last update of the build-manual in the code belongs to 2014.
If you're on Linux, macOS, or BSD, these instructions should work: https://gitweb.torproject.org/tor.git/tree/INSTALL Then: https://www.torproject.org/docs/tor-doc-unix
If you're on Windows, just let us know. Some other developers on this list are more familiar with Windows, and they can point you to the latest instructions for Windows.
Again, if you're having trouble, please copy exactly what you're doing, and the output you see, into a pastebin.
T