I study the Tor source code in There should be only one connection between OR to OR because of the cells in Tor. I want to make Tor become multiple connection between OR to OR.

After I trace some Tor source code, I find out that there is only one channel for every circuit in Onion Proxy (local process in client). I am not really sure that adding channel to create multiple connections is correct or not. Should I achieve my goal by adding more channel or establish more circuit in OP?

2 Answers 2


You can't change this locally for anything but your connection to your guard, to implement this you'd need to run your own onion routing network all of them running the patched version of Tor.

You'd also have problems that each of your relays is now also going to run into problems with exhausted file descriptors. Each relay would have a single connection between A and B for every circuit it had open, it would have two file descriptors per circuit, one from the relay connecting in and one for the outbound connection.

Do you have any kind of rationale for wanting to make this change?


more circuits will be better : because with one-OR-OR-connection policy Tor can try to achive a "garlic routing" concept like it is described in I2P. This will allow any data that must be passed from one OR to another OR be transferred in one garlic-like message. It will disarm any traffic corellation deanonymizing techniques

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .