Hi!
I am supposed to implement, a python application that runs tor in background.
The running tor is under direct control of the python app via control port.
This running tor, is the proxy for the Tor Browser; By this I mean, when the Tor Browser starts, it will connect to this process, instead of the bundled tor provided by itself.
The controlling features I am into, are as below:
A) I want to attach streams coming from each tabs of the Tor Browser, attached to a separate circuit; By this I mean each tab of the browser, use a separate circuit, and do not share circuits with each other.(just like the way ordinary TBB does that)
for this I am aware that Tor Button plugin does something with the streams to separate streams of a specific tab from other streams.
Then by using IsolateSocksStream option on the tor side, tor will successfully isolate each tabs streams.
My problem here, is that I am handling the routing and stream attaching all by myself and I can not use the provided IsolateSocksStream option because I am handling the circuit generation by myself because of the specific policies I am using for generating circuits, and their related paths.
So if I am facing a bunch of streams, and I have a bunch of circuits myself, How am I going to detect that Stream A is from tab A of TBB and Stream B is from tab B of TBB, so I attach stream A to circuit A, and attach stream B to circuit B.
Thanks in advance.