[tor-dev] Sending multiple streams throuh a single Tor circuit

Nick Mathewson nickm at alum.mit.edu
Wed Feb 20 02:09:46 UTC 2019


On Mon, Feb 18, 2019 at 1:04 PM Piyush Kumar Sharma <piyushs at iiitd.ac.in> wrote:
>
> 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.
>
> 3.) Next i tried to attach streams to circuits manually, using the stem library following the link : https://stem.torproject.org/tutorials/to_russia_with_love.html#custom-path-selection . This seemed to work initially, but then after every 4-5 runs, the streams seemed to detach automatically. Moreover, the original circuit crashed too.

The stem approach (#3) ought to work in general -- the information
here isn't enough to tell what the problem is, exactly. Is it possible
that the circuit you are constructing is failing for some reason?

-- 
Nick


More information about the tor-dev mailing list