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 jonat...@leto.net http://leto.net _______________________________________________ tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev