Categories:Security,Internet License:NewBSD Web Site:http://www.torproject.org/docs/android.html.en Source Code:https://gitweb.torproject.org/orbot.git Issue Tracker:https://dev.guardianproject.info/projects/orbot/issues Donate:https://www.torproject.org/donate/donate.html.en FlattrID:5649 Auto Name:Orbot Summary:Tor (anonymity) client Description: Tor is both software and an open network that helps you defend against network surveillance that threatens personal freedom and privacy, confidential business activities and relationships. Orbot allows access to Tor by accessing a local SOCKS or HTTP proxy. On a rooted device, the proxying can be completely transparent i.e. the app that accesses the network need not be aware of the proxy's existence; you can choose which apps go via the proxy in the settings. If you don't have root access, there are some apps that are designed to work closely with tor or allow proxied connections: [[info.guardianproject.otr.app.im]], [[info.guardianproject.browser]] and [[org.mariotaku.twidere]]. There is also a proxy configurator addon for [[org.mozilla.firefox]] called [https://github.com/guardianproject/ProxyMob/downloads ProxyMob] (not yet available from the Mozilla addon site). This app will use root access if you have it, but it is not required. Root access is used to transparently proxy apps, which allows you to force any app to use Tor. Currently there are two build falvors available, PIE and noPIE. "Position independent executable" is a technique that got introduced somewhere in the Android 4.x cycle and the PIE builds should be default for Android 5+. For technical details see [https://en.wikipedia.org/wiki/Position-independent_code Wikipedia]. Basically you should use PIE builds when they are available for your device. . Requires Root:Yes Repo Type:git Repo:https://git.torproject.org/orbot.git Build:0.2.3.23-rc-1.0.11-RC5-test2,51 commit=ff38bf4e5 submodules=yes srclibs=ActionBarSherlock@4.1.0 prebuild=sed -i 's@\(android.library.reference.1=\).*@\1$$ActionBarSherlock$$@' project.properties && \ export NDK_BASE=$$NDK$$ && \ export PATH=$PATH:$$NDK$$/toolchain/bin && \ sed -i 's/ndk-build/\$(NDK_BASE)\/ndk-build/g' external/Makefile && \ make -C external Build:13.0.5,70 commit=13.0.5 submodules=yes patch=buildfixes.patch rm=libs build=NDK_BASE=$$NDK$$ make -C external Build:13.0.6-RC-1,79 commit=13.0.6-RC-1 submodules=yes rm=libs,external/superuser-commands/RootCommands-Demo/libs prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ mkdir libs build=NDK_BASE=$$NDK$$ make -C external Build:13.0.6-RC-2,80 commit=13.0.6-RC-2 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo/libs prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:13.0.7,86 commit=13.0.7 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo/libs,res/raw/tor.mp3,res/raw/obfsproxy.mp3,res/raw/privoxy.mp3,res/raw/xtables.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.0,100 commit=14.0.0 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo/libs,res/raw/tor.mp3,res/raw/obfsproxy.mp3,res/raw/privoxy.mp3,res/raw/xtables.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.1,101 commit=14.0.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.3.1,105 commit=14.0.3.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.4,106 commit=14.0.4 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.4.1,107 commit=14.0.4.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.4.3,109 commit=14.0.4.3 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.5,113 commit=14.0.5 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.5.1,114 commit=14.0.5.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.5.2,115 commit=14.0.5.2 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.5.3,116 commit=14.0.5.3 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.6,118 commit=14.0.6 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.7.1,120 commit=14.0.7.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.7.2,121 commit=14.0.7.2 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.8,123 commit=14.0.8 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.0.8.1,124 commit=14.0.8.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.1.1,128 disable=build changed commit=14.1.1 submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.1.3-PIE,130 disable=no tag commit=14.1.3-PIE submodules=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external Build:14.1.4-noPIE,132 commit=v14.1.4 submodules=yes init=git cherry-pick -n 7ee0622a5eaafba284dac81fe58aeb15a478c9c2 && \ git submodule update --init rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=mv AndroidManifest.KITKAT_AND_LOWER.xml AndroidManifest.xml && \ echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external buildjni=no Build:14.1.4-PIE,133 commit=v14.1.4 submodules=yes init=git cherry-pick -n 7ee0622a5eaafba284dac81fe58aeb15a478c9c2 && \ git submodule update --init forcevercode=yes rm=libs/jtorctl.jar,external/superuser-commands/RootCommands-Demo prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties build=NDK_BASE=$$NDK$$ make -C external PIEFLAGS="-fPIE -pie" buildjni=no Build:15.0.1-RC-1-noPIE,15012101 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff forceversion=yes forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= armeabi armeabi-v7a/' jni/Application.mk && \ sed -i -e 's#uses-sdk.*#uses-sdk android:minSdkVersion="9" android:maxSdkVersion="15" android:targetSdkVersion="15"/>#' AndroidManifest.xml build=NDK_BASE=$$NDK$$ make -C external APP_ABI=armeabi PIEFLAGS="" buildjni=yes ndk=r10e Build:15.0.1-RC-1-noPIE,15012102 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff forceversion=yes forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= x86/' jni/Application.mk && \ sed -i -e 's#uses-sdk.*#uses-sdk android:minSdkVersion="9" android:maxSdkVersion="15" android:targetSdkVersion="15"/>#' AndroidManifest.xml build=NDK_BASE=$$NDK$$ make -C external APP_ABI=x86 PIEFLAGS="" buildjni=yes ndk=r10e Build:15.0.1-RC-1-noPIE,15012103 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff,mipsfix.diff forceversion=yes forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= mips/' jni/Application.mk && \ sed -i -e 's#uses-sdk.*#uses-sdk android:minSdkVersion="9" android:maxSdkVersion="15" android:targetSdkVersion="15"/>#' AndroidManifest.xml build=NDK_BASE=$$NDK$$ make -C external APP_ABI=mips PIEFLAGS="" buildjni=yes ndk=r10e Build:15.0.1-RC-1-PIE,15012111 commit=15.0.1-RC-1 submodules=yes forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= armeabi armeabi-v7a/' jni/Application.mk build=NDK_BASE=$$NDK$$ make -C external APP_ABI=armeabi PIEFLAGS="-fPIE -pie" buildjni=yes ndk=r10e Build:15.0.1-RC-1-PIE,15012112 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= x86/' jni/Application.mk build=NDK_BASE=$$NDK$$ make -C external APP_ABI=x86 PIEFLAGS="-fPIE -pie" buildjni=yes ndk=r10e Build:15.0.1-RC-1-PIE,15012113 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff,mipsfix.diff forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= mips/' jni/Application.mk build=NDK_BASE=$$NDK$$ make -C external APP_ABI=mips PIEFLAGS="-fPIE -pie" buildjni=yes ndk=r10e Build:15.0.1-RC-1-PIE,15012114 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= arm64-v8a/' jni/Application.mk build=NDK_BASE=$$NDK$$ make -C external APP_ABI=arm64-v8a PIEFLAGS="-fPIE -pie" NDK_PLATFORM_LEVEL=21 NDK_TOOLCHAIN_VERSION=4.9 buildjni=yes ndk=r10e Build:15.0.1-RC-1-PIE,15012115 disable=libcrypto.a(eng_rsax.o):eng_rsax.c:function e_rsax_bn_mod_exp: error: undefined reference to 'mod_exp_512' commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= x86_64/' jni/Application.mk build=NDK_BASE=$$NDK$$ make -C external APP_ABI=x86_64 PIEFLAGS="-fPIE -pie" NDK_PLATFORM_LEVEL=21 NDK_TOOLCHAIN_VERSION=4.9 buildjni=yes ndk=r10e Build:15.0.1-RC-1-PIE,15012116 commit=15.0.1-RC-1 submodules=yes patch=nobridge.diff forcevercode=yes rm=libs/,external/superuser-commands/RootCommands-Demo,external/pluto/plugins/meek/assets/meek-client,external/pluto/plugins/obfs4/assets/obfs4proxy,res/raw/meek.mp3,res/raw/obfs4proxy.mp3 prebuild=echo 'target=android-17' >> external/superuser-commands/RootCommands-Library/project.properties && \ sed -i -e '/APP_ABI/ s/:=.*/:= mips64/' jni/Application.mk build=NDK_BASE=$$NDK$$ make -C external APP_ABI=mips64 PIEFLAGS="-fPIE -pie" NDK_PLATFORM_LEVEL=21 NDK_TOOLCHAIN_VERSION=4.9 buildjni=yes ndk=r10e Maintainer Notes: * meekclient & ofbs4proxy are prebuilt with PIE for arm archs only. Hence remove them for other archs & for non-PIE builds. * mips & x86_64 builds fail * AUM will only build the default flavor. * Bump archive policy on each release to match all new builds + all build of the previous version * Bump CV/CVC when all builds have finished and we have tested whats possible... . # +0: vanilla # +1: arm (noPIE) # +2: x86 (noPIE) # +3: mips (noPIE) # +11: arm (PIE) # +12: x86 (PIE) # +13: mips (PIE) # +14: arm64-v8a # +15: x86_64 # +16: mips64 #Archive Policy:6 versions #Auto Update Mode:Version %v Archive Policy:12 versions Auto Update Mode:None Update Check Mode:Tags ^[^-]*$ Current Version:14.1.4-PIE Current Version Code:132