diff --git a/.classpath b/.classpath index 20af842e..44abe8e8 100644 --- a/.classpath +++ b/.classpath @@ -3,7 +3,6 @@ - diff --git a/AUTHORS b/AUTHORS index c83c25dc..3312de92 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,12 +1,11 @@ This file lists the authors for Orbot, a free software project to provide anonymity on the Internet on Android smartphones. -For more information about Orbot, see http://guardianproject.info/ +For more information about Orbot, see https://guardianproject.info/apps/orbot If you got this file as a part of a larger bundle, there are probably other authors that you should be aware of. - Main Authors: ------------- Nathan Freitas developed the primary Android @@ -17,11 +16,18 @@ in the rear to get this done. He has also provided extensive guidance and review. Most recently he has been promoted to Chief Application Resource Editor. +Derek Halliday has designed and implemented +new user interface components and layouts since the 1.0.4 release. + Contributors: ------------- Nick Mathewson wrote some of the patch code to support the compiling of Tor and Libevent on Android, and generally provided guidance in the entire effort. -Adam Langley <> made the original valiant effort to port Tor to Android. +Adam Langley made the original valiant effort to port Tor to Android. +Sathyanarayanan created a patch for the wizard +which updated the icon and link for the secure chat app info to point +to Gibberbot, and hopefully will continue to contribute useful patches. + diff --git a/BUILD b/BUILD index d0d7e75e..6c24112a 100644 --- a/BUILD +++ b/BUILD @@ -1,4 +1,8 @@ -nThis document explains how to properly build an Android package of Orbot from + +// 2011/04/15 this document is a bit out of date. We will be updating to use +// the standalone cross-compiler that is offered by the Android NDK soon + +This document explains how to properly build an Android package of Orbot from source. It covers building on Debian Lenny (5.0.3). Please install the following prerequisites (instructions for each follows): diff --git a/CHANGELOG b/CHANGELOG index d547b807..14e36262 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,12 @@ NOTE: Specific #s below correspond to Trac tickets logged and maintained at http 1.0.5 - Removed unused Socks client code from android.net package +- Updated wizard to show link to Gibberbot (formerly OTRchat) chat app +- Bundled iptables 1.4.7 for ARM instead of relying on installed version +- Fixed various issues related to iptables, transproxying for CyanogenMod7/Android 2.3.* +- Changed how settings changed are processed through the control port (batched instead of one by one) +- Stopped app by app flushing of iptables rules, in favor of complete flush of 'nat' and 'filter' type +- removed useless log screen (logs can be viewed/retrieved using 'alogcat' 3rd party app) 1.0.4 - Added Russian, Persian, Arabic and other .po translations (see res/values-* folders) diff --git a/INSTALL b/INSTALL index dd97b93c..e1a78980 100644 --- a/INSTALL +++ b/INSTALL @@ -18,12 +18,13 @@ an HTTP or SOCKS Proxy. Once you start Tor using Orbot, you can then point your application to HTTP port 8118 or SOCKS port 9050 on localhost IP 127.0.0.1. -You can also set the Android system-wide HTTP proxy using the Mobile -Network APN: -Settings->Mobile networks->Access Point Names->(select your Carrier APN): +If you have root access, and a version of Android with iptables that +supports the netfilter owner module, then Orbot can setup transparent +proxying for any application. -Proxy: 127.0.0.1 -Port:8118 +Finally, Firefox on Android is available, and we have released an +add-on named ProxyMob for configuring SOCKS proxy settings for use +with the local Tor socks proxy. ** A Few Notes ** @@ -35,5 +36,5 @@ Tor. Check the message log to ensure you are "100% Bootstrapped". *********************************************** -/* Copyright (c) 2009-2010, Nathan Freitas, The Guardian Project +/* Copyright (c) 2009,2010,2011, Nathan Freitas, The Guardian Project * http://guardianproject.info/ */ diff --git a/TODO b/TODO index 141009d3..ba269567 100644 --- a/TODO +++ b/TODO @@ -1,14 +1,8 @@ -See http://bugs.noreply.org/flyspray/index.php?tasks=all&project=8 -for the latest active bug and enhancment tickets. +Current tracked tickets for Orbot can be found here: +https://trac.torproject.org/projects/tor/query?status=accepted&status=assigned&status=new&status=reopened&group=component&component=Orbot&order=priority -In addition, here are some other big areas that need work: - -- Android Java UI work: Improved home screen to show better statistics about data transferred (up/down), number of circuits connected, quality of connection and so on. The "Tether Wifi" Android application is a good model to follow in how it shows a realtime count of bytes transferred as well as notifications when wifi client connect. In addition, better display/handling of Tor system/error messages would also be very helpful. Finally, the addition of a wizard or tutorial walkthrough for novice users to explain to them exactly what or what is not anonymized or protected would greatly improve the likelihood they will use Orbot correctly. - -- Android Java OS/Core app work: Better system-wide indicator either via the notification bar, "Toast" pop-up dialogs or some other indicator that an application's traffic is indeed moving through Orbot/Tor. For instance, right now you need to first go to a torcheck web service to ensure your browser is routing via Tor. Orbot should be able to notify you that circuits are being opened, used, etc. The aforementioned data transfer tracker might provide this type of awareness as well. - -- Android Java Library/Community Outreach work: We need to package a simple library for use with third-party application to easily enable them to support "Torification" on non-root devices (aka w/o transparent proxying). This library should include a wrapper for the Apache HTTPClient library, a utility class for detecting the state of Orbot connectivity, and other relevant/useful things an Android app might need to anonymize itself. This work would include the creation of the library, documentation, and sample code. Outreach or effort to implement the library within other open-source apps would follow. - -- Android OS/C/Linux work: The port of Tor to Android is basically a straight cross-compile to Linux ARM. There has been no work done in looking the optimization of Tor within a mobile hardware environment, on the ARM processor or other Android hardware, or on mobile networks. It should be noted, that even without optimization, Tor is handling the mobile network environment very well, automatically detecting change in IP addresses, reconnecting circuits, etc across switching from 2G to 3G to Wifi, and so forth. +If you would like to join the project, we have some ideas for volunteering here: +http://www.torproject.org/getinvolved/volunteer.html.en#project-orbot +You can find us in IRC on FREENODE or OFTC in the #guardianproject and #tor-dev channels \ No newline at end of file diff --git a/assets/privoxy.config b/assets/privoxy.config deleted file mode 100644 index 525b58a6..00000000 --- a/assets/privoxy.config +++ /dev/null @@ -1,27 +0,0 @@ -# Generally, this file goes in /etc/privoxy/config -# -# Tor listens as a SOCKS4a proxy here: -forward-socks4a / 127.0.0.1:9050 . -confdir /data/data/org.torproject.android -logdir /data/data/org.torproject.android -# actionsfile standard # Internal purpose, recommended -#actionsfile default.action # Main actions file -#actionsfile user.action # User customizations -#filterfile default.filter - -# Don't log interesting things, only startup messages, warnings and errors -#logfile logfile -#jarfile jarfile -#debug 1 -#debug 0 # show each GET/POST/CONNECT request -#debug 4096 # Startup banner and warnings -#debug 8192 # Errors - *we highly recommended enabling this* - -#user-manual /usr/share/doc/privoxy/user-manual -listen-address 127.0.0.1:8118 -toggle 1 -accept-intercepted-requests 1 -enable-remote-toggle 0 -enable-edit-actions 0 -enable-remote-http-toggle 0 -buffer-limit 4096 \ No newline at end of file diff --git a/assets/torrc b/assets/torrc deleted file mode 100644 index 5f067b24..00000000 --- a/assets/torrc +++ /dev/null @@ -1,13 +0,0 @@ -SocksPort 9050 -TestSocks 1 -WarnUnsafeSocks 1 -Log notice stdout -DataDirectory /data/data/org.torproject.android/data -ControlPort 9051 -CookieAuthentication 1 -RelayBandwidthRate 20 KBytes -RelayBandwidthBurst 20 KBytes -UseBridges 0 -AutomapHostsOnResolve 1 -TransPort 9040 -DNSPort 5400 diff --git a/default.properties b/default.properties index c5d5335e..08ad68f1 100644 --- a/default.properties +++ b/default.properties @@ -10,5 +10,5 @@ # Indicates whether an apk should be generated for each density. split.density=false # Project target. -target=android-8 +target=android-4 apk-configurations=