Re: Orbot: An Anonymous Proxy for Android using Tor

2009-10-26 Thread Jacob Appelbaum
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 
To: or-...@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



signature.asc
Description: OpenPGP digital signature


Orbot: An Anonymous Proxy for Android using Tor

2009-10-26 Thread Eugen Leitl

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

I’d like to make this post without much fanfare. Just looking to share
information on the work I’ve 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 users…. secure, anonymous access to the web via Tor on
Android is now a reality. (Update: Tor doesn’t 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 done… 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 Dalvik… 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 – 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 – we aren’t using the NDK or a shared library… we are
actually extracting a binary and managing it via Runtime.getRuntime().exec()
calls. This is 100% supported – who knew?! More info on how to do this here

The first code is up here… 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 everyone’s help and support to get here. I’d like to keep pushing
on to a public release via the App Market very soon. Let me know if you’d
like to contribute in any way – code, screen designs, icons, testing….

Domo arigato, Mr. Orbot-o!!


***
To unsubscribe, send an e-mail to majord...@torproject.org with
unsubscribe or-talkin the body. http://archives.seul.org/or/talk/