Android: Tor shared library vs exec binary?

Nathan Freitas nathan at
Fri Nov 26 15:18:20 UTC 2010

Any thoughts on running Tor as a shared library within Orbot/Android
versus the way we do it now (command line start/stop with control port)?

-------- Original Message --------
Subject: 	Re: Tor as a native JNI library
Date: 	Fri, 26 Nov 2010 15:58:46 +0100
From: 	Kristoffer Warming <heavyhenning at>
To: 	Nathan Freitas <nathan at>

In fact i meant to say that i've implemented it as a Android JNI
library, built with the NDK.
So far there's only a JNI API for starting and stopping tor, but i guess
one could replace the control port with a JNI solution?
The file as i've called it is 1,2 megs, i wonder if thats of
any relevance.
I don't know if the JNI approach will make things easier, but i've often
encountered bugs with Orbot, where it seems it has lost touch with the
tor binary, so it thinks tor is not running, even though it is. This
would be easier to control with a JNI-tor running on a controllable
thread i guess.


2010/11/26 Nathan Freitas <nathan at <mailto:nathan at>>

    Thanks for letting me know. Is this for Java 1.6 on the desktop/server?

    Have you looked at the Android NDK at all? It is basically JNI for
    Android, though a bit more limited I believe. This is the route we would
    use for incorporating your work into Orbot.

    Have you talked with any of the other core tor-dev folks about running
    Tor as a shared library, vs. interacting with it via the control port. I
    wonder if there are any increased security risks with the library

    +nathan (n8fr8)

    On 11/25/2010 03:45 PM, Kristoffer Warming wrote:
    > Hi Nathan,
    > I spoke to 'helix' on IRC, and he told me to contact you about this.
    > I've implemented Tor as a JNI shared library, and i wonder if it could
    > be of any interest to the Orbot project?
    > Regards,
    > Kristoffer (gr0gmint)

More information about the tor-dev mailing list