Orbot: An Anonymous Proxy for Android using Tor
http://openideals.com/2009/10/22/orbot-proxy/ Orbot: An Anonymous Proxy for Android using Tor Posted in Announcing..., Emerging Tech, Guardian, Mobile Mobile - Comments - October 22, 2009 Tags: android, guardianphone, proxies, tor Ibd like to make this post without much fanfare. Just looking to share information on the work Ibve been doing with the fantastically radical team over at the Tor Project, as part of my work on the Guardian Project. We have successfully ported the native C Tor app to Android and built an Android application bundle that installs, runs and provides the glue needed to make it useful to end usersb&. secure, anonymous access to the web via Tor on Android is now a reality. (Update: Tor doesnbt magically encrypt all of your Internet activities, though. You should understand what Tor does and does not do for you.) However, there is still much work to be doneb& read on! 1) Tor 0.2.2.5-alpha release contains all the necessary code for building the Tor binary exe using the Android C SDK. I utilized http://github.com/tmurakam/droid-wrapper toolchain wrapper scripts to make life easier. This will produce the output Tor exe that can run on Android w/o needing root. Update: Thanks to Jake, you can now read the updated Orbot BUILD doc for the step by step build how to. (thanks to ioerror for the pic) At this point, we are pretty convinced that the performance and efficiency of the C binary is quite significantly better than the Java-based ports of Tor running within Dalvikb& this translate to a better experience for the user, with no noticeable increase in battery drain or lag on the rest of the device while Tor is running in the background. 2) Orbot b this is the new Android app which bundles the Tor binary, handles its proper installation on the device and then provides a gui for starting/stopping, view the log and torrc, etc. It also provides a built-in HTTP Proxy and is licensed under the Tor license. home.jpgtor-on.jpglog.jpg Just to be clear b we arenbt using the NDK or a shared libraryb& we are actually extracting a binary and managing it via Runtime.getRuntime().exec() calls. This is 100% supported b who knew?! More info on how to do this here The first code is up hereb& all is working, but def needs much polish: https://svn.torproject.org/svn/projects/android/trunk/Orbot/ This post is in part a call for developers to contribute to the continued development of Orbot, so we can get it to a 1.0 state. The other big task is to modify the open-source, privacy focused Shadow browser, from the University of Cambridge DTG group, in order to make it work with our HTTP proxy. That would be a really great step forward, as right now, we have to ask users to set their global APN (read: https://svn.torproject.org/svn/projects/android/trunk/Orbot/INSTALL) Thanks for everyonebs help and support to get here. Ibd like to keep pushing on to a public release via the App Market very soon. Let me know if youbd like to contribute in any way b code, screen designs, icons, testingb&. Domo arigato, Mr. Orbot-o!!
Eugen Leitl wrote:
http://openideals.com/2009/10/22/orbot-proxy/
Orbot: An Anonymous Proxy for Android using Tor
Thanks Eugen, I wrote a nice BUILD document and sent it to or-dev last night. Here's a copy of the mail for those not on or-dev: -------- Original Message -------- Subject: Tor on Android - Progress! (Orbot) Date: Sun, 25 Oct 2009 00:22:48 -0700 From: Jacob Appelbaum <jacob@appelbaum.net> To: or-dev@freehaven.net Hello *, Nathan and I have been working on making a viable, secure and usable port of Tor to the Android platform. There have been a few attempts at getting Tor or Tor like software (onion coffee, etc) to run on Android. The most notable was probably Adam Langley's initial attempts. For quite sometime, Nathan and I tried a few different approaches. Finally, we stumbled upon a method for calling arbitrary binaries that are stored as assets in a package. Nathan wrote a little about this method here: http://openideals.com/2009/10/22/orbot-proxy/ We spent most of today working on an Orbot build document: https://tor-svn.freehaven.net/svn/projects/android/trunk/Orbot/BUILD The BUILD document starts a user off without any Android tools on their system. By the end of the tutorial, you'll have a working, signed Orbot package. We will endevor to keep this document up to date. Orbot provides a simple way to run the C reference implementation of Tor. This means that we can have hidden services and all of the rest of the Tor client/server/bridge functionality on Android. I expect that hidden services will become popular if someone ports TorChat to Android. Tor itself exposes the usual SOCKS proxy and Orbot extends this by also offering an HTTP proxy. Part of the code that powers the HTTP proxy is a powered by a fork of jsocks. We've named it asocks (Android SOCKS) and put it in subversion: https://tor-svn.freehaven.net/svn/projects/android/trunk/asocks/ The UI for Orbot really needs a lot of work. It will require a lot of polish. Currently, it does do very basic controlling of Tor; it's mostly by brute force and doesn't use anything fancy with the control port. The next step will be to create a second application that actually uses Tor. It will likely be a web browser that specifically utilizes Tor for everything. This will be similar in scope to what Conell did for TorProxy with his Shadow browser: http://www.cl.cam.ac.uk/research/dtg/android/tor/ It is likely that we'll replace TorProxy in the market after we're pretty sure that we're on the right path. If you'd like to try a build of Orbot, I've put up an early alpha build: http://freehaven.net/~ioerror/Orbot-signed-alpha-24-10-2009.apk If you have an android phone, you can scan this QR code to download and install the package: http://freehaven.net/~ioerror/orbot.png This is our first alpha release and we'd love some feedback... Best, Jacob [demime 1.01d removed an attachment of type application/pgp-signature which had a name of signature.asc]
participants (2)
-
Eugen Leitl
-
Jacob Appelbaum