Hello all,
I am a PhD student, and am working on some measurements in Tor.
I am stuck at a point where i need to send multiple applications(streams) traffic through a single circuit.
I am currently using torsocks/torify to send traffic of these multiple applications through Tor.
The
main problem is that, despite trying many different ways to achieve the
same (sending multiple streams through a single circuit), i am not
successful.
Things i have tried :
1.)
Force Tor process to create only a single circuit at a time preventing
any new circuit creation, so that any new stream would be attached to
this only available circuit. To acheive this i have set the following
Tor options :
set __DisablePredictedCircuits to 1
set MaxClientCircuitsPending to 1
set newcircuitperiod to 999999999
set maxcircuitdirtiness to 999999999
The
problem with the above method is that it seems to work sometimes
randomly. But most of the times for some reason, a new circuit is still
created.
2.) Next, i assumed that maybe running
torify multiple times for each application is the culprit, as it may
try to create new circuit for each run. So i created a new bidirectional
stream using socat, which listens on a local TCP port, and forwards the
data to the Tor SOCKS port assuming that it will lead to a singe
connection to local SOCKS.
Even this did not work and still new circuits were created randomly.
It would be great, if someone
could tell a simple way to achieve the same, or would point me to any
mistakes that can be improved in the above methodologies to make them
work.