constructing circuits using control port

Andrew andrewmv at
Tue Aug 14 17:18:23 UTC 2007

I'm developing a tool that attempts to set up Tor circuits through
predetermined exit nodes via Tor's control port, but I've been having
only intermittent luck at getting the circuits to open.

The basic process that I'm using is to pick two or three nodes at
random from the list of ORs known to the client, checking to make sure
the would-be exit node has an acceptable policy, and then building the
appropriate circuit using the EXTENDCIRCUIT command and a list of
fingerprints.  Most (but not all) of the time, however, the circuit
fails immediately without explanation and without ever reaching the
BUILT state.

Here's an example of my control socket transcript:

C 20070804034544: AUTHENTICATE
S 20070804034544: 250 OK
C 20070804034544: EXTENDCIRCUIT 0 [fingerprintscrubbed],[fingerprintscrubbed]
S 20070804034545: 250 EXTENDED 116
S 20070804034545: 250 OK
S 20070804034545: 650 CIRC 116 FAILED

Is there anything wrong with my approach?

More information about the tor-dev mailing list