constructing circuits using control port

Mike Perry mikeperry at
Wed Aug 15 03:14:41 UTC 2007

Thus spake Andrew (andrewmv at

> 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
> C 20070804034545: SETEVENTS STREAM CIRC
> S 20070804034545: 250 OK
> S 20070804034545: 650 CIRC 116 FAILED
> Is there anything wrong with my approach?

You should probably do SETEVENTS EXTENDED CIRC STREAM to get more info
on circuit failure reasons (most common reasons are timeouts and node
connections breaking down due to load balancing issues).

You should also look at TorFlow before you reinvent the wheel :)

or if you have SVN: 

svn co torflow

It has tons of useful python classes for building custom circuits and
augmenting path selection. The README is a little sparse, but the code
is well organized and legible.

Mike Perry
Mad Computer Scientist evil labs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <>

More information about the tor-dev mailing list