If yes, is it default behaviour or some configuration parameter should be set?

If not, how can one determine and resolve this? Obvious way is to write a script, that simply checks availability of some page and sends NEWNYM signal on error.

Maybe there is simpler solution?

1 Answer 1


Short answer: Yes, the Tor Browser client will select a new circuit (path) until it finds one that works.

Tor begins building circuits as soon as it has enough directory
information to do so (see section 5 of dir-spec.txt).  

When a client application creates a new stream (by opening a SOCKS
connection or launching a resolve request), we attach it to an appropriate
open circuit if one exists, or wait if an appropriate circuit is
in-progress. We launch a new circuit only if no current circuit can handle the request.  
We rotate circuits over time to avoid some profiling attacks.

To build a circuit, we choose all the nodes we want to use, and then
construct the circuit.

Note, We launch a new circuit only if no current circuit can handle the request. However, "For efficiency, the Tor software uses the same circuit for connections that happen within the same ten minutes or so. Later requests are given a new circuit, to keep people from linking your earlier actions to the new ones."

The Tor Browser Bundle is thus accustomed to building, using, and switching circuits at least every ten minutes. More to the point, "Prematurely closed circuits are not probed, and are counted as usage failures." ...

If an attempt to extend a circuit fails (either because the first create
failed or a subsequent extend failed) then the circuit is torn down and is
no longer pending.  (XXXX really?)  Requests that might have been
supported by the pending circuit thus become unsupported, and a new
circuit needs to be constructed."

I assume, perhaps incorrectly, that the above holds during both "construction" and "usage" failures.

You must log in to answer this question.

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