[tor-dev] Embedding Parrot in Tor as GSoC Project

Jonathan "Duke" Leto jonathan at leto.net
Thu Apr 7 21:03:49 UTC 2011


Howdy,

> There is a libtor, but it's just an internal library that contains some
> of the functions shared between the various Tor tools as they're built.
> It isn't designed for outside apps to link to, and it doesn't actually
> offer the API that you'd want.

Thanks for clarifying that.

> But you're in luck -- Tor has a controller interface that lets other
> applications interact with the Tor process over a local socket, using
> a simple smtp-style protocol:
> https://gitweb.torproject.org/torspec.git/blob/HEAD:/control-spec.txt
>
> So that means you can write your controller application in whatever
> language you like. Vidalia uses C++, but it hasn't really broken out
> its controller support into a reusable library. The best we've got is
> a Python library:
> https://gitweb.torproject.org/pytorctl.git
> that is used by a variety of applications, ranging from a curses-based
> Tor UI:
> http://www.atagar.com/arm/
> to a set of back-end scripts to build paths in nonstandard ways, measure
> bandwidth, and do other experiments:
> https://gitweb.torproject.org/torflow.git

I did not know about these things and they mostly seem to obviate the need
for the kind of embedding project I was thinking about. This is good :)

> A Parrot library that talks to Tor via the controller interface would
> be the right way to do it. The next question would be: if such a thing
> existed, would anybody use it? That one is harder to answer. It probably
> depends in part on how good it is. :)

Yes, that question *is* harder to answer. But, I don't think anybody can know
unless it is tried. From what I see, if Parrot wanted bindings to Tor, we can
start by seeing how the above-mentioned libraries work and go from there.

Thank you very much for your detailed and informative response.

Duke

-- 
Jonathan "Duke" Leto
jonathan at leto.net
http://leto.net


More information about the tor-dev mailing list