Compare commits
No commits in common. "master" and "14.0.5-beta" have entirely different histories.
master
...
14.0.5-bet
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||||
|
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||||
|
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="src" path="gen"/>
|
||||||
|
<classpathentry kind="output" path="bin/classes"/>
|
||||||
|
</classpath>
|
|
@ -1,49 +1,3 @@
|
||||||
# auto-generated files from Android builds
|
|
||||||
build.xml
|
|
||||||
ant.properties
|
|
||||||
default.properties
|
|
||||||
proguard.cfg
|
|
||||||
proguard-project.txt
|
|
||||||
#
|
|
||||||
releases
|
|
||||||
docs
|
|
||||||
doc
|
|
||||||
.directory
|
|
||||||
|
|
||||||
#built application files
|
|
||||||
*.apk
|
|
||||||
*.ap_
|
|
||||||
|
|
||||||
# files for the dex VM
|
|
||||||
*.dex
|
|
||||||
|
|
||||||
# Java class files
|
|
||||||
*.class
|
|
||||||
|
|
||||||
# subdirs for generated files
|
|
||||||
bin/
|
|
||||||
gen/
|
|
||||||
|
|
||||||
# Local configuration file (sdk path, etc)
|
|
||||||
local.properties
|
|
||||||
|
|
||||||
# Windows thumbnail db
|
|
||||||
Thumbs.db
|
|
||||||
|
|
||||||
# OSX files
|
|
||||||
.DS_Store
|
|
||||||
|
|
||||||
# Android Studio
|
|
||||||
*.iml
|
|
||||||
.idea/
|
|
||||||
.gradle/
|
|
||||||
build/
|
|
||||||
|
|
||||||
#tfx
|
|
||||||
.transifexrc
|
|
||||||
|
|
||||||
/external/appcompat/bin/
|
|
||||||
/external/appcompat/gen/
|
|
||||||
/external/bin/
|
/external/bin/
|
||||||
/external/include/
|
/external/include/
|
||||||
/external/*-build-stamp
|
/external/*-build-stamp
|
||||||
|
@ -55,14 +9,5 @@ build/
|
||||||
bin
|
bin
|
||||||
gen
|
gen
|
||||||
native
|
native
|
||||||
libs/jtorctl.jar
|
|
||||||
local.properties
|
local.properties
|
||||||
builds
|
builds
|
||||||
external/patches/*
|
|
||||||
obj
|
|
||||||
|
|
||||||
|
|
||||||
app/src/main/jniLibs/
|
|
||||||
app/src/main/libs/
|
|
||||||
orbotservice/src/main/libs/
|
|
||||||
orbotservice/src/main/jniLibs/
|
|
||||||
|
|
|
@ -1,20 +1,31 @@
|
||||||
[submodule "external/tor"]
|
[submodule "external/tor"]
|
||||||
path = external/tor
|
path = external/tor
|
||||||
url = https://git.torproject.org/git/tor.git
|
url = https://git.torproject.org/git/tor.git
|
||||||
ignore = dirty
|
|
||||||
[submodule "external/libevent"]
|
[submodule "external/libevent"]
|
||||||
path = external/libevent
|
path = external/libevent
|
||||||
url = https://github.com/libevent/libevent.git
|
url = https://github.com/libevent/libevent.git
|
||||||
ignore = dirty
|
[submodule "external/jtorctl"]
|
||||||
|
path = external/jtorctl
|
||||||
|
url = https://github.com/guardianproject/jtorctl
|
||||||
|
[submodule "external/ActionBarSherlock"]
|
||||||
|
path = external/ActionBarSherlock
|
||||||
|
url = https://github.com/JakeWharton/ActionBarSherlock.git
|
||||||
[submodule "external/openssl"]
|
[submodule "external/openssl"]
|
||||||
path = external/openssl
|
path = external/openssl
|
||||||
url = https://github.com/openssl/openssl.git
|
url = git://git.openssl.org/openssl
|
||||||
ignore = dirty
|
[submodule "external/iptables"]
|
||||||
[submodule "external/zstd"]
|
path = external/iptables
|
||||||
path = external/zstd
|
url = git://git.netfilter.org/iptables
|
||||||
url = https://github.com/facebook/zstd.git
|
[submodule "external/superuser-commands"]
|
||||||
ignore = dirty
|
path = external/superuser-commands
|
||||||
[submodule "external/xz"]
|
url = https://github.com/dschuermann/superuser-commands.git
|
||||||
path = external/xz
|
[submodule "external/liballium"]
|
||||||
url = https://git.tukaani.org/xz.git
|
path = external/liballium
|
||||||
ignore = dirty
|
url = https://git.torproject.org/user/yawning/liballium.git
|
||||||
|
[submodule "external/obfsclient"]
|
||||||
|
path = external/obfsclient
|
||||||
|
url = https://git.torproject.org/user/yawning/obfsclient.git
|
||||||
|
|
||||||
|
[submodule "external/polipo"]
|
||||||
|
path = external/polipo
|
||||||
|
url = https://github.com/jech/polipo.git
|
||||||
|
|
40
.project
|
@ -5,16 +5,6 @@
|
||||||
<projects>
|
<projects>
|
||||||
</projects>
|
</projects>
|
||||||
<buildSpec>
|
<buildSpec>
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
|
||||||
<triggers>full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
<dictionary>
|
|
||||||
<key>LaunchConfigHandle</key>
|
|
||||||
<value><project>/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch</value>
|
|
||||||
</dictionary>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
<buildCommand>
|
<buildCommand>
|
||||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
|
||||||
<arguments>
|
<arguments>
|
||||||
|
@ -40,40 +30,10 @@
|
||||||
<arguments>
|
<arguments>
|
||||||
</arguments>
|
</arguments>
|
||||||
</buildCommand>
|
</buildCommand>
|
||||||
<buildCommand>
|
|
||||||
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
|
|
||||||
<triggers>full,incremental,</triggers>
|
|
||||||
<arguments>
|
|
||||||
</arguments>
|
|
||||||
</buildCommand>
|
|
||||||
</buildSpec>
|
</buildSpec>
|
||||||
<natures>
|
<natures>
|
||||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
|
||||||
<nature>org.eclipse.cdt.core.cnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.core.ccnature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
|
|
||||||
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
|
|
||||||
</natures>
|
</natures>
|
||||||
<filteredResources>
|
|
||||||
<filter>
|
|
||||||
<id>1451443416388</id>
|
|
||||||
<name></name>
|
|
||||||
<type>30</type>
|
|
||||||
<matcher>
|
|
||||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
|
||||||
<arguments>1.0-name-matches-false-false-external</arguments>
|
|
||||||
</matcher>
|
|
||||||
</filter>
|
|
||||||
<filter>
|
|
||||||
<id>1451443416398</id>
|
|
||||||
<name></name>
|
|
||||||
<type>26</type>
|
|
||||||
<matcher>
|
|
||||||
<id>org.eclipse.ui.ide.multiFilter</id>
|
|
||||||
<arguments>1.0-name-matches-false-false-jni</arguments>
|
|
||||||
</matcher>
|
|
||||||
</filter>
|
|
||||||
</filteredResources>
|
|
||||||
</projectDescription>
|
</projectDescription>
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="hide" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/>
|
||||||
|
<classpathentry kind="output" path=""/>
|
||||||
|
</classpath>
|
|
@ -0,0 +1 @@
|
||||||
|
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
|
@ -0,0 +1 @@
|
||||||
|
Window
|
|
@ -0,0 +1,109 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="org.torproject.android"
|
||||||
|
android:versionName="14.0.5-beta"
|
||||||
|
android:versionCode="110"
|
||||||
|
android:installLocation="auto"
|
||||||
|
>
|
||||||
|
|
||||||
|
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="19"/>
|
||||||
|
<permission android:name="org.torproject.android.MANAGE_TOR" android:label="@string/permission_manage_tor_label" android:description="@string/permission_manage_tor_description" android:protectionLevel="signature"></permission>
|
||||||
|
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
|
<uses-permission android:name="android.permission.ACCESS_SUPERUSER"/>
|
||||||
|
<uses-permission android:name="org.torproject.android.MANAGE_TOR"/>
|
||||||
|
|
||||||
|
<application android:name=".OrbotApp" android:icon="@drawable/ic_launcher"
|
||||||
|
android:label="@string/app_name"
|
||||||
|
android:description="@string/app_description"
|
||||||
|
android:configChanges="locale|orientation|screenSize"
|
||||||
|
android:theme="@style/Theme.AppCompat"
|
||||||
|
android:allowBackup="false"
|
||||||
|
android:allowClearUserData="true"
|
||||||
|
android:largeHeap="true"
|
||||||
|
android:persistent="true"
|
||||||
|
>
|
||||||
|
|
||||||
|
<activity android:name=".Orbot" android:configChanges="orientation|screenSize"
|
||||||
|
android:launchMode="singleTop"
|
||||||
|
>
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
|
</intent-filter>
|
||||||
|
<!--
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
</intent-filter>
|
||||||
|
-->
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.BROWSABLE" />
|
||||||
|
<data android:scheme="bridge" />
|
||||||
|
</intent-filter>
|
||||||
|
|
||||||
|
<intent-filter>
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<action android:name="org.torproject.android.REQUEST_HS_PORT" />
|
||||||
|
</intent-filter>
|
||||||
|
<intent-filter>
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<action android:name="org.torproject.android.START_TOR" />
|
||||||
|
</intent-filter>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.SEND" />
|
||||||
|
|
||||||
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
|
<category android:name="android.intent.category.ALTERNATIVE" />
|
||||||
|
<category android:name="android.intent.category.SELECTED_ALTERNATIVE" />
|
||||||
|
|
||||||
|
<data android:mimeType="*/*" />
|
||||||
|
</intent-filter>
|
||||||
|
-->
|
||||||
|
|
||||||
|
</activity>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<activity android:name=".OrbotDiagnosticsActivity" android:label="OrbotDiag"/>
|
||||||
|
-->
|
||||||
|
|
||||||
|
<activity android:name=".wizard.LotsaText" android:exported="false"/>
|
||||||
|
<activity android:name=".wizard.Permissions" android:exported="false"/>
|
||||||
|
<activity android:name=".wizard.TipsAndTricks" android:exported="false"/>
|
||||||
|
<activity android:name=".wizard.ConfigureTransProxy" android:exported="false"/>
|
||||||
|
<activity android:name=".wizard.ChooseLocaleWizardActivity" android:exported="false"/>
|
||||||
|
|
||||||
|
<activity android:name=".settings.SettingsPreferences" android:label="@string/app_name"/>
|
||||||
|
<activity android:name=".settings.AppManager" android:label="@string/app_name"/>
|
||||||
|
|
||||||
|
<service android:enabled="true"
|
||||||
|
android:name=".service.TorService"
|
||||||
|
android:exported="false"
|
||||||
|
android:permission="org.torproject.android.MANAGE_TOR"
|
||||||
|
android:process=":remote"
|
||||||
|
>
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="org.torproject.android.service.ITorService" />
|
||||||
|
<action android:name="org.torproject.android.service.TOR_SERVICE" />
|
||||||
|
</intent-filter>
|
||||||
|
</service>
|
||||||
|
|
||||||
|
|
||||||
|
<receiver android:name=".OnBootReceiver">
|
||||||
|
<intent-filter>
|
||||||
|
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||||
|
<category android:name="android.intent.category.HOME" />
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
|
|
||||||
|
</application>
|
||||||
|
|
||||||
|
|
||||||
|
</manifest>
|
73
BUILD
|
@ -1,6 +1,5 @@
|
||||||
|
|
||||||
This document explains how to properly build an Android package of Orbot from
|
This document explains how to properly build an Android package of Orbot from source.
|
||||||
source.
|
|
||||||
|
|
||||||
Orbot includes, in the external directory, git repo submodules of:
|
Orbot includes, in the external directory, git repo submodules of:
|
||||||
- Tor
|
- Tor
|
||||||
|
@ -8,38 +7,76 @@ Orbot includes, in the external directory, git repo submodules of:
|
||||||
- LibEvent
|
- LibEvent
|
||||||
- JTorControl: The Tor Control Library for Java
|
- JTorControl: The Tor Control Library for Java
|
||||||
|
|
||||||
|
The Orbot repo also includes the Privoxy source code of a recent stable release.
|
||||||
|
|
||||||
Please install the following prerequisites (instructions for each follows):
|
Please install the following prerequisites (instructions for each follows):
|
||||||
ant: http://ant.apache.org/
|
ant: http://ant.apache.org/
|
||||||
Android Native Dev Kit or NDK (for C/C++ code):
|
Android Native Dev Kit or NDK (for C/C++ code): http://developer.android.com/sdk/ndk/index.html
|
||||||
http://developer.android.com/sdk/ndk/index.html
|
Android Software Dev Kit or SDK (for Java code): http://developer.android.com/sdk/index.html
|
||||||
Android Software Dev Kit or SDK (for Java code):
|
|
||||||
http://developer.android.com/sdk/index.html
|
|
||||||
AutoMake and AutoConf tool
|
|
||||||
sudo apt-get install autotools-dev
|
|
||||||
sudo apt-get install automake
|
|
||||||
sudo apt-get install autogen autoconf libtool gettext-base autopoint
|
|
||||||
|
|
||||||
You will need to run the 'android' command in the SDK to install the necessary
|
You will need to run the 'android' command in the SDK to install the necessary Android platform supports (ICS 4.x or android-15)
|
||||||
Android platform supports (ICS 4.x or android-15)
|
|
||||||
|
|
||||||
Be sure that you have all of the git submodules up-to-date:
|
Be sure that you have all of the git submodules up-to-date:
|
||||||
|
|
||||||
./tor-droid-make.sh fetch
|
git submodule init
|
||||||
|
git submodule update
|
||||||
|
|
||||||
To begin building, from the Orbot root directory, it builds all submodules and
|
To begin building, from the Orbot root directory, you first need to build all external C/native dependencies:
|
||||||
the project.
|
|
||||||
|
|
||||||
./tor-droid-make.sh build
|
export NDK_BASE={PATH TO YOUR NDK INSTALL}
|
||||||
|
make -C external
|
||||||
|
|
||||||
|
At this point, you'll have Tor and Privoxy binaries that can be run on an Android handset.
|
||||||
|
You can verify the ARM binary was properly built using the following command:
|
||||||
|
|
||||||
|
file res/raw/tor
|
||||||
|
file res/raw/privoxy
|
||||||
|
|
||||||
|
You should see something like:
|
||||||
|
src/or/tor: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
|
||||||
|
|
||||||
|
This isn't enough though and we'll now sew up the binary into a small package
|
||||||
|
that will handle basic Tor controlling features.
|
||||||
|
|
||||||
|
android update project --name Orbot --target android-15 --path .
|
||||||
|
|
||||||
|
#Now you need to split and copy the tor binary into res/raw. We split it into < 1M chunks
|
||||||
|
#because some Android devices don't like resources larger than 1M.
|
||||||
|
#split --bytes=1m $DROID_ROOT/external/tor/tor/src/or/tor res/raw/tor
|
||||||
|
|
||||||
Now build the Android app
|
Now build the Android app
|
||||||
|
|
||||||
(gradle / android studio instructions here)
|
ant release
|
||||||
|
|
||||||
This will produce an unsigned Tor package APK.
|
This will produce an unsigned Tor package in ./bin/Orbot-unsigned.apk!
|
||||||
|
|
||||||
To produce a usable package, you'll need to sign the .apk. The basics on
|
To produce a usable package, you'll need to sign the .apk. The basics on
|
||||||
signing can be found on the Android developer site:
|
signing can be found on the Android developer site:
|
||||||
|
|
||||||
http://developer.android.com/guide/publishing/app-signing.html
|
http://developer.android.com/guide/publishing/app-signing.html
|
||||||
|
|
||||||
|
The three steps are quite simple. First, you'll generate a key. Secondly,
|
||||||
|
you'll sign the application. Thirdly, you'll verify the the apk.
|
||||||
|
|
||||||
|
Generating a signing key:
|
||||||
|
|
||||||
|
keytool -genkey -v -keystore my-release-key.keystore \
|
||||||
|
-alias orbots_key -keyalg RSA -validity 10000
|
||||||
|
|
||||||
|
Sign the apk:
|
||||||
|
|
||||||
|
jarsigner -verbose -keystore my-release-key.keystore \
|
||||||
|
bin/Orbot-unsigned.apk orbots_key
|
||||||
|
|
||||||
|
Verify the signature for the apk:
|
||||||
|
|
||||||
|
jarsigner -verify bin/Orbot-unsigned.apk
|
||||||
|
mv bin/Orbot-unsigned.apk bin/Orbot-signed-alpha.apk
|
||||||
|
|
||||||
|
You can also GPG sign the apk and generate an .asc:
|
||||||
|
|
||||||
|
gpg -ab Orbot-signed-alpha.apk
|
||||||
|
|
||||||
|
Now you should have a fully signed and production ready alpha release of Orbot!
|
||||||
|
Give bin/Orbot-signed-alpha.apk an install and send us bug reports!
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,574 @@
|
||||||
|
NOTE: Specific #s below correspond to Trac tickets logged and maintained at https://trac.torproject.org/projects/tor/
|
||||||
|
|
||||||
|
|
||||||
|
d439176 update to 14.0.5-beta
|
||||||
|
c4cf845 handle NPE in case service disconnects
|
||||||
|
1e6ff35 updating ant build shell permissions
|
||||||
|
498f647 remove external storage perm (debug log written internally) need to add ability to share internal file after marking it global
|
||||||
|
e1ec776 re-arch status callbacks and improve notification
|
||||||
|
c7409b7 update commit pegs for external
|
||||||
|
f2f076c fixes for layout and notification data be sure to only get the IP of the last hop (that is the exit)
|
||||||
|
a6da4bf small cleanup of asynctask and error handling
|
||||||
|
181b922 make the notification larger for more display room!
|
||||||
|
a82d2e4 remove unnecessary jar file
|
||||||
|
3bc8760 Merge branch 'new_notification_expanded' of github.com:amoghbl1/orbot-1 into amoghbl1-new_notification_expanded
|
||||||
|
41064d8 add persistent flag
|
||||||
|
b4079f4 update transifex config
|
||||||
|
8a934c9 don't close socket, and use HALT for shutdown
|
||||||
|
f9b38e6 if service is null, please start it
|
||||||
|
a447bbf update strings
|
||||||
|
522f293 update to 14.0.4.3
|
||||||
|
70615d6 fixes for status, service, binding and start/stop
|
||||||
|
fbc1a87 update to 14.0.5-alpha
|
||||||
|
bfa1d56 remove diag/test menu
|
||||||
|
10ceafa ensure status is not set to CONNECTING incorrectly
|
||||||
|
7f8e9b8 remove test/diag option
|
||||||
|
e13d228 fix bug with wrong apps being transproxied (typo!)
|
||||||
|
312c6da apps should only show those with internet permission
|
||||||
|
d56c87e update to 14.0.4.2
|
||||||
|
0e95dda update translations from transifex
|
||||||
|
bb0b7e8 unbind the service when the activity is destroyed we don't want leaky services
|
||||||
|
247e2ed don't kill Tor process and make sure service is sticky
|
||||||
|
8b6cff0 update CHANGELOG entries
|
||||||
|
7ec6de7 update to 14.0.4.1
|
||||||
|
298a01e make sure transproxy is renabled when network returns
|
||||||
|
2eb79a5 fulfilles the wishes of #12413 by support --default-torrc and -f
|
||||||
|
b6715b4 fixes #12411 and #12412 enables DNS and transport by default with new Orbot settings to enable user to easily change/disable
|
||||||
|
fc608d3 update to 14.0.4
|
||||||
|
0129976 improve ability to do a full clean stop of all services
|
||||||
|
af51290 add support for updating Polipo config
|
||||||
|
156ed57 clean up unbind process and service shutdown
|
||||||
|
8a59cfb use canonical paths to ensure shell commands are correct also cleanup torrc updating
|
||||||
|
f3d21ee improve resource installer ability to update torrc
|
||||||
|
c0f7d75 use one prefs instance
|
||||||
|
2ce9ea9 make default config files have ports off by default (0)
|
||||||
|
9025fc5 update to 14.0.3.1
|
||||||
|
dee0d19 improve logic for updating torrc files (not so often)
|
||||||
|
44648f1 clean up bind/unbind and handleIntent wizard logic
|
||||||
|
917ec8d update torrc and torrcdiag when you need to
|
||||||
|
f91a35b update tor binary constants to force upgrade
|
||||||
|
65eb7ad fix torrc defaults - add back in avoiddiskwrites
|
||||||
|
c04fc95 update to 14.0.3
|
||||||
|
42e0698 don't stop tor when service onStartCommand() is called again
|
||||||
|
fc63929 ensure diag/test mode stop's Tor on activity exit
|
||||||
|
328c6af tune bind/create service logic
|
||||||
|
4716696 make transport settings dynamic (remove from torrc)
|
||||||
|
2fe57e8 pegging tor to 0.2.4.22
|
||||||
|
00b535e updated to 14.0.2.1
|
||||||
|
c2be4ac ensure polipo conf is updated; default to 9051 for ctrl port
|
||||||
|
6ab9a7b reduce memory usage of polipo
|
||||||
|
b26b9d4 update to 14.0.2
|
||||||
|
aa8ff95 ensure readers are closed; ensure socks settings are applied
|
||||||
|
b4fa943 improve process id finding using android 'toolbox'
|
||||||
|
2d6a7b3 renable large heap request
|
||||||
|
d7f3f19 more fixes for UI disconnect issue ensure service and status updates occur on new layout updates
|
||||||
|
7e76162 bumping to 14.0.1
|
||||||
|
af51a98 allow support for adding custom lines to torrc
|
||||||
|
22938c9 multiple fixes for tor start including "auto" control port also try to kill hung tor process
|
||||||
|
0224365 ensure torrc values are overwritten
|
||||||
|
81bd617 updating to 14.0.0 build 100!
|
||||||
|
98ea6d5 update changelog
|
||||||
|
5776a87 update to 14.0.0-RC3
|
||||||
|
bf6a1da update state when service connects
|
||||||
|
451cfed keep SOCKS port as default 9050 (instead of 'auto')
|
||||||
|
f94e27a updated to 14.0.0-RC-1
|
||||||
|
bedeb71 more fixes for hidden service configuration now multiple ports are properly configured and notification will display correctl
|
||||||
|
051cce4 don't allow the tor control port socket to timeout
|
||||||
|
f4baf4d updated to 2.0.21-stable
|
||||||
|
120da6b more wizard flow fixes
|
||||||
|
816a6b2 updating to 1.1.1
|
||||||
|
24773c3 update to OpenSSL 1.0.1h
|
||||||
|
8b5bb04 Makefile patch for Orbot
|
||||||
|
ccaec1e update 14.0.0-BETA-2
|
||||||
|
da3c955 fixes for tor setConf/control port fixes hidden service support manages socks port conflicts
|
||||||
|
9345186 remove unnecessary line
|
||||||
|
707bca4 amek sure wizard only is shown once on start (not twice!)
|
||||||
|
0fddd80 fix for missing libs folder
|
||||||
|
7abea23 removing binaries from repo
|
||||||
|
70d7792 updated changelog
|
||||||
|
2650fda update to 14.0.0-BETA-1
|
||||||
|
476dc1a update binaries for 0.2.4.22 Tor
|
||||||
|
b6116b5 switch to 0.2.4.22 version of Tor for release
|
||||||
|
148e7eb remove deletion of polipo folder
|
||||||
|
352c23b updated binaries for OpenSSL 1.0.1h
|
||||||
|
7622d2c update constant for 1.0.1h and latest openssl vuln http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.h
|
||||||
|
d392439 fix bridge append value from qrcode scan
|
||||||
|
d6f5720 remove synchronized - not needed, and causing blocking
|
||||||
|
f52c22a Merge branch 'amoghbl1-issue_3014_wizard_workflow'
|
||||||
|
f6750e1 sometimes text can be null
|
||||||
|
fd47e70 fix control port connections with socket timeouts
|
||||||
|
36a6349 status should update whether there is msg or not
|
||||||
|
63b4304 Merge branch 'issue_3014_wizard_workflow' of https://github.com/amoghbl1/orbot-1 into amoghbl1-issue_3014_wizard_workflow
|
||||||
|
25f6499 Merge branch 'master' of github.com:n8fr8/orbot
|
||||||
|
e2e0d26 Merge branch 'hans_feature_desc'
|
||||||
|
c1f9296 new work on binding and service starting
|
||||||
|
e2e00cc removed largeheap value
|
||||||
|
13ef143 add app description to manifest to support p2p distribution
|
||||||
|
c111030 Merge pull request #1 from amoghbl1/issue_2374_story_maker
|
||||||
|
4759d9f implemented button click function for the story maker button, also url added in strings, change to liking at review
|
||||||
|
53e82b1 general cleanup, removed log.d's
|
||||||
|
6488e6a cleaned Permissions workflow, implemented override for back button
|
||||||
|
935fa91 cleaned LotsaText workflow, implemented override for back button
|
||||||
|
f29a494 cleaned ConfigureTransProxy workflow, implemented override for back button
|
||||||
|
ea384f9 cleaned ChooseLocaleWizardActivity workflow, implemented override for back button and added toast warning message string
|
||||||
|
ffcfce7 cleaned TipsAndTricks workflow
|
||||||
|
255623a added the story maker button to the tips wizard page, also added tip string to the strings file.
|
||||||
|
23c689c added icon for story maker button to be added to the hints and tips page
|
||||||
|
cfc8a99 updated to 14.0.0-ALPHA-4
|
||||||
|
278997d simple notification of bridge settings via URL
|
||||||
|
17934e6 initial support for setting bridge through URL
|
||||||
|
96c0a54 add large heap and remote process settings back in
|
||||||
|
726cf0c work to stabilize Tor background service auto-restart tor binary process if killed by Android OS print out debug info related
|
||||||
|
11c31fa update the changelog
|
||||||
|
|
||||||
|
14.0.0 (ALPHA-2)
|
||||||
|
583c758 updated to 14.0.0-ALPHA-3
|
||||||
|
90848b0 reduce memory usage of app and make single process
|
||||||
|
ba90f73 cleanup of notification and process kill code
|
||||||
|
76ec147 add some more externalized strings
|
||||||
|
e80c3bf check if installed apps are enabled
|
||||||
|
60a822a updated to 14.0.0-ALPHA-2b
|
||||||
|
69614fb updated Tor version to 0.2.5.4-alpha heartbleed blacklists for non-updated tor nodes
|
||||||
|
53673da fix bridge/PT enable code based on bridge types
|
||||||
|
9096f8c update 14.0.0-ALPHA-2a for some testers (samsung)
|
||||||
|
42d8ca1 for some devices, the process-id is listed first
|
||||||
|
fd51281 make sure the unbind intent is not null
|
||||||
|
b814019 improvement for network state checking code
|
||||||
|
648b10c updated changelog for v14
|
||||||
|
ea919c5 add the basic proguard support
|
||||||
|
147b57a remove unused preference
|
||||||
|
0dc50cc add log max size feature
|
||||||
|
b9f14b3 ensure setConft on control port works consistently
|
||||||
|
b056e7f remove debug waiter
|
||||||
|
b2d4bb3 updated to v14-alpha-2
|
||||||
|
cbbc5e4 improve how we start/stop Tor, Polipo to find process id, do ps of all, then filter (most compat) use async service for Tor st
|
||||||
|
b31c11f updated icons with dark background
|
||||||
|
2b6ff4e update manifest for v14-alpha-1
|
||||||
|
05b6553 add binary stripping to makefile
|
||||||
|
21c1cad update binaries and torrc for obfs/PT work
|
||||||
|
144460b fixes for preference handling in multi process context
|
||||||
|
38700f9 updated to 0.2.5.3 for scramblesuit/obfs support
|
||||||
|
d3865c0 fix settings handling and add more debug output also make SOCKS a runtime config
|
||||||
|
d529334 clean up wizard context use
|
||||||
|
0178d3e add new binaries and configs for polipo and others
|
||||||
|
40546c9 change from privoxy to polipo for http proxy
|
||||||
|
a4d8669 fix variable name to obfsclient
|
||||||
|
2f7a9dd update to new obfsclient repo
|
||||||
|
000cf57 update jtorctrl jar
|
||||||
|
f485015 install obfsclient binary
|
||||||
|
d003826 update binaries
|
||||||
|
4d3754b remove obfsproxy, update obfsclient
|
||||||
|
7af85b5 small updates to Makefile for NDK
|
||||||
|
2c2d094 Integrate obfsclient/liballium into the build process
|
||||||
|
43c259a Update the obfsclient submodule to include Android fixes
|
||||||
|
a6af878 liballium/obfsclient should be sourced from tp.o repos
|
||||||
|
|
||||||
|
13.0.6
|
||||||
|
89fc2e6 updated to 13.0.6-RC-3
|
||||||
|
b9eeb37 ensure Service has foreground priority so it is not killed (and improve onBind() calls to reset state if it is killed)
|
||||||
|
3824bc5 improving control port connection code adding additional logging for problems with Samsungs
|
||||||
|
fa6c101 bump version to 13.0.6-RC-2
|
||||||
|
cc020f5 small tweaks to Tor binary startup code
|
||||||
|
16799ef add automapresolve to ensure .onion address are handled
|
||||||
|
06d5a6f improve process lookup code
|
||||||
|
cd8b7e4 connect to "localhost" instead of 127.0.0.1
|
||||||
|
4673f04 update UI on rebind of service
|
||||||
|
c68ce2c fixes for transproxy to fix DNS leaks in some cases latest RC was leaking DNS due to updates iptables/xtables binary and need
|
||||||
|
915ff8a updated to 13.0.6-RC-1
|
||||||
|
3413b34 fixes for getting process id of Tor process
|
||||||
|
e9d0fea updates resources and tx config for tagalog
|
||||||
|
10938ed update string resources from transifex
|
||||||
|
5326d2b updated string values for components
|
||||||
|
8d73be6 bump to 13.0.6-BETA-8
|
||||||
|
af95098 remove "persistant" flag, as its only for system apps
|
||||||
|
831a52a improved logging and exit code reporting for transproxy
|
||||||
|
f853271 fix Service init/bind logic also remove updates for background drawing to save memory
|
||||||
|
8445f2e ensure appmgr doesn't fail on loading apps also don't load icons to improve memory usage
|
||||||
|
227253d updates to optimize resource memory usage
|
||||||
|
ed76f8b update to 13.0.6-BETA-7
|
||||||
|
60a79a2 more updates to install clean-up process
|
||||||
|
f885059 fix problem with UI rotation and screen update
|
||||||
|
efb9a8c update to 13.0.6-BETA-6
|
||||||
|
bf8a92c use AbsolutePath instead of Canonical; fix kill code
|
||||||
|
e1b1ca0 add constants for folder names
|
||||||
|
e8116f4 ensure existing files are deleted before upgrade
|
||||||
|
25f4ac8 adding new small icon
|
||||||
|
981123f update to 13.0.6-BETA-5
|
||||||
|
b6a9b48 ensure existing binaries are removed before install problems may be caused by soft links or old bins
|
||||||
|
ef14ac5 fix large icon incorrect display in alert dialogs
|
||||||
|
bab67b7 small fixes for the wizard with new UI
|
||||||
|
3d1f391 updates for icons, backgrounds and improved drawing code to solve issues related to outofmemory
|
||||||
|
9d1311c updated to dark icon
|
||||||
|
b329920 update to BETA-4 for Permission changes
|
||||||
|
c9bf8d2 fix Shell calls so that we close() shell when done
|
||||||
|
e78486a update to support specific permissions for Service this is an attempted fix for Samsung S3/Note3 issues
|
||||||
|
7990644 update version to 13.0.6-BETA-3
|
||||||
|
917ea6e fix for mikeperry transproxy leak bug find https://lists.torproject.org/pipermail/tor-talk/2014-March/032503.html
|
||||||
|
fc0554f fix for binary version upgrade support
|
||||||
|
4ed6ea1 updated pre-built binaries
|
||||||
|
7229c52 updated to openssl 1.0.1g
|
||||||
|
6bce7d5 fix ant build script and target
|
||||||
|
e5b70ba improve shell command, root and permissions handling
|
||||||
|
b734c6c add new library for superuser/shell commands
|
||||||
|
dda5633 updated to 13.0.6-BETA-1
|
||||||
|
298f73c update Tor version code
|
||||||
|
75d3ecb update language wizard display to be more clear
|
||||||
|
fe44c29 add binaries (for non NDK developers)
|
||||||
|
05bf5b7 add/update translations from transifex
|
||||||
|
344e914 add transifex tx config
|
||||||
|
8140b32 a little bit of cleanup of new binary installs
|
||||||
|
e25dc08 fixes the menus for appcompat library
|
||||||
|
cc8d3e1 update to return to binaries as ZIPd res/raw stop using the libs/armeabi hack method
|
||||||
|
b59bd1a remove binary apps/libs
|
||||||
|
445f63f updates ant build for new actionbarcompat
|
||||||
|
765a3bf updated graphic
|
||||||
|
8c20759 removed ABS depdency in favor of AppCompat
|
||||||
|
d0d7880 Signed-off-by: Nathan Freitas <nathan@freitas.net>
|
||||||
|
75a0d34 Signed-off-by: Nathan Freitas <nathan@freitas.net>
|
||||||
|
e5fdf28 updated binaries from new build script
|
||||||
|
57ef1c3 Fix building of openssl on newer systems
|
||||||
|
b5a043a updated Makefile to not build libevent TESTS
|
||||||
|
dab37b5 setting to 4.6 for compat
|
||||||
|
1a346cf updated makefile
|
||||||
|
02c389c updated obfsclient external
|
||||||
|
06b46f1 updated to only build tor binary and not tests, etc
|
||||||
|
d311f71 13.0.6 minor UI updates, Tor version update
|
||||||
|
a24eacd add hi-res icon for the web
|
||||||
|
f322f6b add new graphics and icons
|
||||||
|
806fe40 update external commit tags
|
||||||
|
27d5945 remove redundant iptables rules for transproxy
|
||||||
|
4e1357b add new background graphics state change to main UI
|
||||||
|
714af31 updated icon and main graphics
|
||||||
|
dc58c40 updated binaries built from "make -C external"
|
||||||
|
|
||||||
|
13.0.5 (includes v12 changes as well)
|
||||||
|
d605b45 add obfsclient build but don't include binary yet
|
||||||
|
0aa4294 add new obfsclient module
|
||||||
|
c1cb30d remove issue with service launching via explicit intent
|
||||||
|
87411be fix code for finding existing processes
|
||||||
|
16c5426 adding new bg images for next release
|
||||||
|
c3327d7 13.0.4a fix for Tor link setup
|
||||||
|
3b9d6c8 make sure Tor path link is cleanly setup and chmod'd
|
||||||
|
e55f724 bump to 13.0.4
|
||||||
|
cac2a28 updated TorBinaryInstaller now just handles resources
|
||||||
|
f538930 fix xtables installation and permission setting more fixes for running from sdcard
|
||||||
|
43625f8 bump to 13.0.3
|
||||||
|
c595963 solves problem with binaries being stored on external SDcard
|
||||||
|
649ca40 enable compiliation for all android not just armv7
|
||||||
|
591161f updated to 13.0.2
|
||||||
|
635e307 cleanup imports
|
||||||
|
db53c19 updated binary versions in strings
|
||||||
|
62a5da6 updated tor binary that works with armv5 and v7
|
||||||
|
6927126 updated torrc without automap settings (not needed)
|
||||||
|
92d19e3 ensures binary permissions are set
|
||||||
|
14fab24 bump to 13.0.1
|
||||||
|
39699e6 add new icons showing different status
|
||||||
|
d3c11be add geoip v6 file and support in TorService
|
||||||
|
e24ae6c update Makefile - try building with older toolchain
|
||||||
|
a60c614 change jtorctl path to github updated version
|
||||||
|
8c4f09e new binaries built with update Makefile
|
||||||
|
8527929 unregister receive and check for alternate library path
|
||||||
|
1fa568d peg to new repo and head with fix for empty element bug
|
||||||
|
8b8e51b remove double entry for jtorctrl
|
||||||
|
cf5e445 fixes #2848 newnym might call a null conn in service
|
||||||
|
069a9bf fixes #2847 use class name to start service
|
||||||
|
2735a59 update to 13.0.0; release candidate 1
|
||||||
|
096144b adding in binaries for UI/Android devs without NDK All binaries can be built from source using Makefile in /external
|
||||||
|
f69c1aa updated jtorctrl build
|
||||||
|
0b024c9 Merge branch 'master' of https://github.com/eighthave/orbot into hans_build_patches
|
||||||
|
d54cf74 bump to 13.0.0-alpha-1
|
||||||
|
276e6c3 remove old external openssl-static path
|
||||||
|
e0a7fbb check for both link and original path in process lookup
|
||||||
|
b48bbc1 updated AUTHORS for amoghbl1
|
||||||
|
e9396b7 use new bundled xtables binary appropriately
|
||||||
|
ca28ade add patches for iptables/xtables building on Android
|
||||||
|
76b15dd adding new iptables/xtables build from source
|
||||||
|
8b65332 clean up of error notifications
|
||||||
|
8722db9 put threading of settings reload into TorService
|
||||||
|
d2006b2 remove static openssl android and replace with real openssl
|
||||||
|
0e6bb42 add new openssl
|
||||||
|
c4d8c97 stop button for notification bar
|
||||||
|
c80c5d4 improvements on notification code
|
||||||
|
5891fee service should be unbound when activity is destroyed also some other cleanup of unused code
|
||||||
|
867ff53 remove simple server source bundle
|
||||||
|
3069fb5 run Tor from link to keep compatibility with OrbotHelper class some apps use our OrbotHelper.java class and are expecting the
|
||||||
|
17f7d46 update menu, strings, icons for ChatSecure (from Gibberbot)
|
||||||
|
198974a update to build openssl latest
|
||||||
|
468076e set to 1.0.1e release
|
||||||
|
8666b1b updating tor to 0.2.4.20
|
||||||
|
95461da adding back in jtorctrl jar file
|
||||||
|
f3cbb6e updating SDK and removing share intents
|
||||||
|
6e79596 updating to Android 18 / 4.4
|
||||||
|
420dd1e adding geoip ipv4 db back in for now
|
||||||
|
1739473 more updates for moving binaries to libs/armeabi
|
||||||
|
5870a67 update for 0.2.4.20 constant
|
||||||
|
6a125a9 more removal of share service from core Orbot moving to a separate app
|
||||||
|
a0de736 change "network conn" preference to be more clear
|
||||||
|
c58f009 remove simple jar from project (moving sharing to sep app)
|
||||||
|
5286421 remove "ShareService" from projet (moving to separate app)
|
||||||
|
a8ca927 remove simple file sharing server from build process
|
||||||
|
fbd4fdc updated to android-18
|
||||||
|
6b0b0fa more changes for executing binaries from libs/jni folder
|
||||||
|
d40016b move minimum device support to API 9 or 2.3
|
||||||
|
d6d989a updated jar for jtor control
|
||||||
|
4d6e0cc update makefile for new install process update tags for libevent and tor
|
||||||
|
d236708 removing binaries from repo binaries will now be stored in /libs/armeabi as psuedo shared libraries (actually executables) and
|
||||||
|
ca8197f update native build to include Android NDK build flags
|
||||||
|
2d34745 include note about git submodules in BUILD instructions
|
||||||
|
ddd62f2 remove spaces and tabs where 'make' complains about them
|
||||||
|
f4e73e9 updating version to 12.0.5
|
||||||
|
abe1788 another shared prefs fix
|
||||||
|
e632b3b fixes for sharing preferences across processes
|
||||||
|
9a10cdd updated orbot glow icon
|
||||||
|
a9b41a8 make orbot another background process
|
||||||
|
8f44c51 make sure binaries and config files are updated
|
||||||
|
e84ee71 added GUI support for flinging to a newnym identity
|
||||||
|
f12e556 added support for NEWNYM signalling
|
||||||
|
9dacb5b updated transproxy iptables rules to ensure clear/flush
|
||||||
|
965dab2 updated to 12.0.4
|
||||||
|
4407257 adding raw design resources
|
||||||
|
5930964 new green/tor on mode
|
||||||
|
cea338d add new Root utility for checking if root is possible
|
||||||
|
82fcea0 fixes for superuser and iptables check code
|
||||||
|
9d6f3c8 removed unneeded old iptables binaries
|
||||||
|
38e2f49 12.0.3 0.2.4.16-rc
|
||||||
|
1bc97c6 change default "disable network" pref to true
|
||||||
|
a97432c update manifest to 12.0.2
|
||||||
|
fb49463 update to latest tor 0.2.4.16-rc
|
||||||
|
5bcb607 update the readme copyright
|
||||||
|
3d387af add our new icon source CC license link
|
||||||
|
eb1c6b0 make the "check" button a bit smarter
|
||||||
|
9a2a989 updates to graphics, layouts and strings
|
||||||
|
2cfd6af update torctrl jar
|
||||||
|
79e6eec update tor to tor-0.2.4.16-rc
|
||||||
|
0a3cc50 add resources for airplane mode/network disable
|
||||||
|
2c278f3 fix for notifications and debug option for "airplane mode"
|
||||||
|
cdd75f3 disable share/send feature for this release
|
||||||
|
cfb0473 remove unneeded view and share intents
|
||||||
|
adc57ae removed android Debug code
|
||||||
|
d407f32 update Tor binary version number to ensure upgrade
|
||||||
|
5b57407 updated classpath for latest eclipse
|
||||||
|
bebb143 make Orbot just one process
|
||||||
|
21d1023 fixes for prefs/settings management
|
||||||
|
303ceb4 updates for building
|
||||||
|
edd855f new builds of binaries
|
||||||
|
42b111a updating commit peg for ndk8 fix
|
||||||
|
179ef6e updated git submodules to public https paths
|
||||||
|
1bf7bb0 updating version
|
||||||
|
74fed91 updated jtorctrl built library
|
||||||
|
515b8ce added new strings resources
|
||||||
|
bbf8d8a updating string resources from transifex
|
||||||
|
273e190 updating built binaries
|
||||||
|
4f9a502 updated Tor repo
|
||||||
|
86d8c16 updates for new UI and file sharing
|
||||||
|
8aaa8cb updated process to singletop; rev'd version
|
||||||
|
700121d add simple external module to ignore path
|
||||||
|
2ab32fc new preference value updates
|
||||||
|
b6e2507 UI and flow updates
|
||||||
|
442216f share service via http hidden service
|
||||||
|
667fa64 updated for settings return value
|
||||||
|
3ea016b updates for reading preference settings
|
||||||
|
c5627f4 cleaned up notification support and added Share service
|
||||||
|
25a895a updated tor binary version number
|
||||||
|
c4810d4 added new method for remote server interface for Share service
|
||||||
|
1576775 closed reader stream
|
||||||
|
83319c1 added message for when internet is down
|
||||||
|
63b31cd updated to android 17 target
|
||||||
|
eb3f95c updated params for tuning, including largeHeap=true
|
||||||
|
21c2797 support landscape layout and new Share intent
|
||||||
|
7df2acd cleanup of imports and unclosed streams
|
||||||
|
ba9b95a new landscape layout for tablets with log view
|
||||||
|
2b9007e updated to latest libevent and tor repos
|
||||||
|
fe591d6 updated to latest jar libs
|
||||||
|
225cd32 tuning of torrc to try to resolve bugs
|
||||||
|
aaa2ed5 updated built binary to 0.2.4.10-alpha
|
||||||
|
216a41d adding new HS/onion based file sharing service
|
||||||
|
1748cb4 added missing path to libevent include
|
||||||
|
fb0a0fa updated to 0.2.3.25
|
||||||
|
8023d16 updated locale handling to stop flashing
|
||||||
|
e2bbe4c proper spelling of Farsi
|
||||||
|
|
||||||
|
1.0.11
|
||||||
|
- Tor updated to 0.2.3.23-RC
|
||||||
|
- ActionBarSherlock updated to latest release
|
||||||
|
- libevent2 on 2.2.1-alpha
|
||||||
|
- added data up/down speed and totals display
|
||||||
|
- added new "Log" SlideDrawer log display
|
||||||
|
- added ability to copy logs by touching log (for emailing, debugging)
|
||||||
|
- fixed iptables Android 4/Jellybean compatible binary detection
|
||||||
|
- iptables add/delete now on specific rules; no more global FLUSHing
|
||||||
|
- transproxy ensures that UDP is blocked properly for all or selected apps
|
||||||
|
- wizard display is centered
|
||||||
|
- added network connectivity monitor to set Tor's DisableNetwork value
|
||||||
|
- fixed wizard tips apps recommendations; added DuckGo, Twitter, Firefox Proxymob
|
||||||
|
- insure that iptables rules are only added once, and that all are cleared
|
||||||
|
|
||||||
|
1.0.9
|
||||||
|
- Tor now updated to 0.2.3.17-beta
|
||||||
|
- Privoxy updated to 3.0.12
|
||||||
|
- tweaked layout for smaller screens
|
||||||
|
- fixed obfsproxy android patch build error
|
||||||
|
- privoxy: removed lpthread library flag since Android has it built-in
|
||||||
|
- updated strings; made notify on/off option work again
|
||||||
|
- added background view; fixed long click;
|
||||||
|
- removed unneeded landscape custom layout
|
||||||
|
- updated layout for larger screens
|
||||||
|
- updated impl of torified apps logic
|
||||||
|
- improved wizard flow on non-root devices
|
||||||
|
- removed gcc ssp hardening (not support on Android NDK)
|
||||||
|
- fixed posix thread option for Privoxy
|
||||||
|
- added docs folder and readme's
|
||||||
|
- clarified english strings for hidden srv and proxying
|
||||||
|
- moved Tor data directory to app_data from cache
|
||||||
|
- fixed notification persistence handling
|
||||||
|
- fixed relay/server mode option resolv.conf error
|
||||||
|
- fixed app list display
|
||||||
|
|
||||||
|
1.0.8 (includes 1.0.7.3 and 1.0.7.2)
|
||||||
|
- new external/Makefile and git submodules
|
||||||
|
- fixed tor control port cookie file path lookup related to #5305
|
||||||
|
- updated strings
|
||||||
|
- adding in manual locale selection
|
||||||
|
- added obfsproxy binary to res/raw and binary installation process
|
||||||
|
- added new preferences to support obfsproxy bridge configuration
|
||||||
|
- upgraded tor binary to 0.2.3.11-alpha
|
||||||
|
|
||||||
|
1.0.7
|
||||||
|
- reduced data folder size by making geoip file only installed on demand
|
||||||
|
- added options for turning of persistent notification
|
||||||
|
- enabled access to localhost ports for SOCKS, HTTP, etc even when transproxy is on
|
||||||
|
- improved handling of tor and privoxy binary upgrades
|
||||||
|
- updated openssl to 1.0.0f to address recent SSLv3 threat
|
||||||
|
- check for root mode uses "which su" command and does not look for Superuser.apk
|
||||||
|
- changed tor binary res/raw storage mechanism to use the "mp3" file ext trick
|
||||||
|
|
||||||
|
1.0.6.1
|
||||||
|
- small fixes to wizard UI
|
||||||
|
- fixed "exit" problem, after running wizard
|
||||||
|
|
||||||
|
1.0.6
|
||||||
|
- updated tablet layout graphic sizing
|
||||||
|
- stopped Orweb from being transparent proxied (not needed)
|
||||||
|
- updated to Tor 0.2.3.7-alpha binary
|
||||||
|
- geoip database now included for exit/entrace node control
|
||||||
|
- stopped iptables rule purging if transproxy is not enabled (conflicted with DroidWall and others)
|
||||||
|
|
||||||
|
1.0.5.3
|
||||||
|
- added auto-tor of wireless and usb tethering
|
||||||
|
- integrated new setup wizard
|
||||||
|
- moved large tor binary into split multiple 1M segments to fix for devices with 1M resource limit
|
||||||
|
|
||||||
|
1.0.5.1/.2
|
||||||
|
- small updates to layout of main screen to fit smaller screens
|
||||||
|
- fixed preference setting of EntryNode torrc value
|
||||||
|
|
||||||
|
1.0.5
|
||||||
|
- added exit node and "StrictExitNode" preference
|
||||||
|
- fixed tor binary installation issue related to max resource size and compression
|
||||||
|
- updated "start on boot" code to test for proper launch event
|
||||||
|
- updated to Tor 0.2.2.25-alpha binary
|
||||||
|
- moved back to single notification bar id to avoid double entries
|
||||||
|
- cleaned up progress dialog and alert handling to avoid leaky windows
|
||||||
|
- Merged __sporkbomb's patch for how transproxy all works; now does "everything but Tor"
|
||||||
|
- Added new toolbar notifications and alerts for displaying notifications and Tor messages
|
||||||
|
- 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)
|
||||||
|
- Fixed incorrect try to clear iptables rules for non-root devices
|
||||||
|
- Fixed bug that stopped wizard helper from showing first time
|
||||||
|
- Added new green notification icon when Tor is connected
|
||||||
|
- Fixed app selector layout in settings
|
||||||
|
- Moved minSDK to 4 (Android 1.6); discontinued 1.5 support
|
||||||
|
- Fixed log screen touch disable tor bug
|
||||||
|
- Debugged issues around network status change causing FC/crash
|
||||||
|
- Added "Start on Boot" option
|
||||||
|
|
||||||
|
1.0.3
|
||||||
|
- Fixed spanish language issues with settings screen
|
||||||
|
- Cleaned up logging, and moved most of it to debug output only
|
||||||
|
- Small changes to iptables, transproxy settings to handle iptables 1.3 and 1.4 variations
|
||||||
|
- Added compile time variable/flag for turning on/off detailed control port output to Android stdout
|
||||||
|
- Hidden services now support through option in settings
|
||||||
|
- removed double apostrophes from value/strings.xml files
|
||||||
|
|
||||||
|
1.0.2
|
||||||
|
- Added "check" yes/no dialog prompt
|
||||||
|
- Debugged iptables/transprox settings on Android 1.6 and 2.2
|
||||||
|
- Added proxy settings help screen and fixed processSettings() NPE
|
||||||
|
|
||||||
|
1.0.1
|
||||||
|
- Found and fixed major bug in per-app trans proxying; list of apps was being cached and iptables rules were not properly updated as the user changed the selection in the list
|
||||||
|
|
||||||
|
1.0.0 - 2010-08-10
|
||||||
|
- Added "Proxy Settings" help screen
|
||||||
|
- Handle potential null pointers on process settings where service not yet active
|
||||||
|
|
||||||
|
0.0.9x - 2010-08-03
|
||||||
|
- Revised Orbot install wizard
|
||||||
|
- Integrated Tor 0.2.2.14 and iptables 4.x binary
|
||||||
|
- Fixed "got root" detection method
|
||||||
|
- Fixed Per App Torification handling so it updates on exit from Settings screen
|
||||||
|
|
||||||
|
0.0.8x - 2010-07-15
|
||||||
|
- Updated Settings & App configuration screens
|
||||||
|
- Changed progress dialog display
|
||||||
|
- Significant application re-arch
|
||||||
|
- Fixed force stop crash on install
|
||||||
|
- Integrated Tor 0.2.2.13-alpha-dev binary
|
||||||
|
- Fixed su shell cmd error handling & root perms issue
|
||||||
|
- #1570: Added new setup wizard on install to clarify root / non-root capabilities
|
||||||
|
- #1716: Per-app traffic routing prefs not persisted
|
||||||
|
- #1509: Help window is too big for the screen on android 1.6
|
||||||
|
- #1513: Orbot can't be told to exit <-- added 'Exit' menu option
|
||||||
|
- #1530: Capture sh cmd stout for debugging errors <-- updated debug log screen
|
||||||
|
- #1531: Don't loop ad infinitum in Orbot fails <-- only retries 3 times now
|
||||||
|
- #1272: Orbot should store Tor files in the cache
|
||||||
|
- #1273: Info should mention anonymity problems with ProxySurf
|
||||||
|
|
||||||
|
0.0.5x
|
||||||
|
- #1388: Error parsing PID from output of "ps"
|
||||||
|
- #1277, #1278: Enabling bridges issues
|
||||||
|
- #1279: Misleading message when initialization is finished
|
||||||
|
- #1292: Tor version in About screen is wrong
|
||||||
|
|
||||||
|
0.0.3x - 2010-03-15
|
||||||
|
- Added Start/Stop menu item for non-touch activation
|
||||||
|
- Improved parsing and validation of settings screen
|
||||||
|
- UI now compatible with landscape mode (#1276)
|
||||||
|
- Added relay support for static/publicly accessible IP devices
|
||||||
|
|
||||||
|
0.0.3a - 2010-02-07
|
||||||
|
- Integrated iptables support for transparent proxying of outbound port
|
||||||
|
80 and DNS
|
||||||
|
- Privoxy is now used as HTTP Proxy server (cross-compiled to ARM)
|
||||||
|
- New UI layout and graphics
|
||||||
|
- Android settings screen for generated torrc file
|
||||||
|
- Improved performance and error handling
|
||||||
|
|
||||||
|
0.0.2a - 2009-11-30
|
||||||
|
- Update user interface layout and graphics
|
||||||
|
- Modified service launch, shutdown and handling
|
||||||
|
- Improved event handler on Tor Control port callbacks
|
||||||
|
- Added Help page
|
||||||
|
|
||||||
|
0.0.2 - 2009-11-27
|
||||||
|
- Major improvement to the user interface including relative layout for
|
||||||
|
different screens
|
||||||
|
- New graphics resources
|
||||||
|
- Implemented Tor Control Port using official Java library
|
||||||
|
- Added 'clear' button to the log screen
|
||||||
|
- Added 'save' and editable textbox for the settings screen
|
||||||
|
- Moved screen navigation to a pop-up menu
|
||||||
|
|
||||||
|
0.0.1-alpha - 2009-10-21
|
||||||
|
- First code release
|
||||||
|
- Major Features: Tor binary application is fully operational, UI:
|
||||||
|
Start/Stop Tor, View Message Log, View Settings (torrc)
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
|
||||||
|
Orbot: Android Onion Routing Robot
|
||||||
|
***********************************************
|
||||||
|
Android is a freely licensed open-source application developed for the
|
||||||
|
Android platform. It acts as a front-end to the Tor binary application,
|
||||||
|
and also provides an HTTP Proxy for connecting web browsers and other
|
||||||
|
HTTP client applications into the Tor SOCKS interface.
|
||||||
|
|
||||||
|
*** PreReqs ***
|
||||||
|
You need the Android Developer SDK to compile and build the APK file:
|
||||||
|
http://developer.android.com/
|
||||||
|
The project files including in this distribution are meant to be used
|
||||||
|
with Eclipse: http://eclipse.org/
|
||||||
|
|
||||||
|
*** How to use ***
|
||||||
|
Currently, Orbot will work with any application that supports using
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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 **
|
||||||
|
|
||||||
|
To ensure you are connected to the Tor network, you should browse to
|
||||||
|
https://check.torproject.org/
|
||||||
|
|
||||||
|
The first time you activate Orbot, it may take a while to connect to
|
||||||
|
Tor. Check the message log to ensure you are "100% Bootstrapped".
|
||||||
|
|
||||||
|
***********************************************
|
||||||
|
|
||||||
|
/* Copyright (c) 2009,2010,2011, Nathan Freitas, The Guardian Project
|
||||||
|
* http://guardianproject.info/ */
|
64
LICENSE
|
@ -41,41 +41,6 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
*****
|
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
Orbot includes the Obfs4 pluggable transport:
|
|
||||||
https://gitweb.torproject.org/pluggable-transports/obfs4.git
|
|
||||||
|
|
||||||
Copyright (c) 2014, Yawning Angel <yawning at torproject dot org>
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer.
|
|
||||||
|
|
||||||
* Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
this list of conditions and the following disclaimer in the documentation
|
|
||||||
and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
===============================================================================
|
|
||||||
|
|
||||||
|
|
||||||
*****
|
|
||||||
|
|
||||||
*****
|
*****
|
||||||
Orbot contains a binary distribution of Privoxy (http://www.privoxy.org/)
|
Orbot contains a binary distribution of Privoxy (http://www.privoxy.org/)
|
||||||
Copyright © 2001-2010 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
Copyright © 2001-2010 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
|
||||||
|
@ -193,32 +158,3 @@ is explicitely stated in the header of every file.
|
||||||
The GPL also contains some obligations. If you distribute netfilter/iptables code
|
The GPL also contains some obligations. If you distribute netfilter/iptables code
|
||||||
in binary form, you have to offer the source code, too.
|
in binary form, you have to offer the source code, too.
|
||||||
===============================================================================
|
===============================================================================
|
||||||
|
|
||||||
===============================================================================
|
|
||||||
Orbot also includes BadVPN tun2socks: https://github.com/ambrop72/badvpn
|
|
||||||
|
|
||||||
Copyright (c) 2009, Ambroz Bizjak <ambrop7@gmail.com>
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions are met:
|
|
||||||
* Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
* Neither the name of the author nor the
|
|
||||||
names of its contributors may be used to endorse or promote products
|
|
||||||
derived from this software without specific prior written permission.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
|
||||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
===============================================================================
|
|
||||||
|
|
36
README
|
@ -1,28 +1,15 @@
|
||||||
|
|
||||||
Tor Android
|
Orbot: Android Onion Routing Robot
|
||||||
***********************************************
|
***********************************************
|
||||||
This is a project forked from Orbot for building the tor binary for Android
|
Orbot is a freely licensed open-source application developed for the
|
||||||
|
Android platform. It acts as a front-end to the Tor binary application,
|
||||||
|
and also provides an HTTP Proxy for connecting web browsers and other
|
||||||
|
HTTP client applications into the Tor SOCKS interface.
|
||||||
|
|
||||||
How to Build
|
|
||||||
***********************************************
|
***********************************************
|
||||||
Please see: https://raw.githubusercontent.com/n8fr8/tor-android/master/BUILD
|
Orbot is a component of the Guardian Project, an effort to develop
|
||||||
|
a secure, anonymous smartphone for use by human rights activists, journalists
|
||||||
How to Use via Gradle
|
and others around the world. Learn more: https://guardianproject.info/
|
||||||
***********************************************
|
|
||||||
|
|
||||||
Add the repository your list as shown:
|
|
||||||
|
|
||||||
repositories {
|
|
||||||
maven { url "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
|
|
||||||
}
|
|
||||||
|
|
||||||
and then add the dependency, setting it to the latest version (or any version) we have made available, as a release:
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile 'org.torproject:tor-android-binary:0.3.1.9'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
***********************************************
|
***********************************************
|
||||||
Tor protects your privacy on the internet by hiding the connection
|
Tor protects your privacy on the internet by hiding the connection
|
||||||
|
@ -34,3 +21,10 @@ Tor Frequently Asked Questions:
|
||||||
https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ
|
https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ
|
||||||
https://www.torproject.org/faq.html.en
|
https://www.torproject.org/faq.html.en
|
||||||
|
|
||||||
|
***********************************************
|
||||||
|
/* Copyright (c) 2009-2013, Nathan Freitas, The Guardian Project
|
||||||
|
* https://guardianproject.info/ */
|
||||||
|
|
||||||
|
*****
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
<!-- Proguard Properties -->
|
||||||
|
<property name="obfuscate.dir" value="obf" />
|
||||||
|
<property name="obfuscate.absolute.dir" location="${obfuscate.dir}" />
|
||||||
|
<property name="android-jar-preobfuscate" value="${obfuscate.absolute.dir}/original.jar" />
|
||||||
|
<property name="android-jar-postobfuscate" value="${obfuscate.absolute.dir}/postobf.jar" />
|
||||||
|
<property name="out.dex.input.absolute.dir" value="${android-jar-postobfuscate}" />
|
||||||
|
|
||||||
|
<!-- replaces the post-compile step from ant_rules_r3 -->
|
||||||
|
<target name="-post-compile" depends="-dex-obfuscate,-dex-no-obfuscate">
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<target name="-dex-no-obfuscate" unless="build.mode.release">
|
||||||
|
<mkdir dir="${obfuscate.absolute.dir}" />
|
||||||
|
<jar basedir="${out.dir}/classes" destfile="${android-jar-postobfuscate}" />
|
||||||
|
</target>
|
||||||
|
|
||||||
|
<!-- Converts this project's .class files into .dex files -->
|
||||||
|
<target name="-dex-obfuscate" if="build.mode.release">
|
||||||
|
<property name="proguard-jar" value="${proguard.dir}/proguard.jar" />
|
||||||
|
<property name="proguard-conf.dir" value="" />
|
||||||
|
<property name="proguard-conf.absolute.dir" location="${proguard-conf.dir}" />
|
||||||
|
<property name="proguard-conf" value="${proguard-conf.absolute.dir}/procfg.txt" />
|
||||||
|
<path id="fullclasspath">
|
||||||
|
<path refid="android.target.classpath"/>
|
||||||
|
<pathelement path="${external.libs.dir}"/>
|
||||||
|
</path>
|
||||||
|
<property name="libraryjarpath" refid="fullclasspath"/>
|
||||||
|
<!-- Add Proguard Task -->
|
||||||
|
<taskdef resource="proguard/ant/task.properties" classpath="${proguard-jar}" />
|
||||||
|
|
||||||
|
<mkdir dir="${obfuscate.absolute.dir}" />
|
||||||
|
<delete file="${android-jar-preobfuscate}"/>
|
||||||
|
<delete file="${android-jar-postobfuscate}"/>
|
||||||
|
<jar basedir="${out.classes.dir}" destfile="${android-jar-preobfuscate}" />
|
||||||
|
<proguard>
|
||||||
|
@${proguard-conf}
|
||||||
|
-injars ${android-jar-preobfuscate}
|
||||||
|
-outjars ${android-jar-postobfuscate}
|
||||||
|
-libraryjars ${libraryjarpath}
|
||||||
|
-dump ${obfuscate.absolute.dir}/dump.txt
|
||||||
|
-printseeds ${obfuscate.absolute.dir}/seeds.txt
|
||||||
|
-printusage ${obfuscate.absolute.dir}/usage.txt
|
||||||
|
-printmapping ${obfuscate.absolute.dir}/mapping.txt
|
||||||
|
</proguard>
|
||||||
|
</target>
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
Manifest-Version: 1.0
|
||||||
|
Sealed: true
|
||||||
|
|
17
build.gradle
|
@ -1,17 +0,0 @@
|
||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
jcenter()
|
|
||||||
}
|
|
||||||
dependencies {
|
|
||||||
classpath 'com.android.tools.build:gradle:3.2.0'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
allprojects {
|
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
jcenter()
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project name="Orbot" default="help">
|
||||||
|
|
||||||
|
<!-- The local.properties file is created and updated by the 'android' tool.
|
||||||
|
It contains the path to the SDK. It should *NOT* be checked into
|
||||||
|
Version Control Systems. -->
|
||||||
|
<property file="local.properties" />
|
||||||
|
|
||||||
|
<!-- The ant.properties file can be created by you. It is only edited by the
|
||||||
|
'android' tool to add properties to it.
|
||||||
|
This is the place to change some Ant specific build properties.
|
||||||
|
Here are some properties you may want to change/update:
|
||||||
|
|
||||||
|
source.dir
|
||||||
|
The name of the source directory. Default is 'src'.
|
||||||
|
out.dir
|
||||||
|
The name of the output directory. Default is 'bin'.
|
||||||
|
|
||||||
|
For other overridable properties, look at the beginning of the rules
|
||||||
|
files in the SDK, at tools/ant/build.xml
|
||||||
|
|
||||||
|
Properties related to the SDK location or the project target should
|
||||||
|
be updated using the 'android' tool with the 'update' action.
|
||||||
|
|
||||||
|
This file is an integral part of the build system for your
|
||||||
|
application and should be checked into Version Control Systems.
|
||||||
|
|
||||||
|
-->
|
||||||
|
<property file="ant.properties" />
|
||||||
|
|
||||||
|
<!-- if sdk.dir was not set from one of the property file, then
|
||||||
|
get it from the ANDROID_HOME env var.
|
||||||
|
This must be done before we load project.properties since
|
||||||
|
the proguard config can use sdk.dir -->
|
||||||
|
<property environment="env" />
|
||||||
|
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
|
||||||
|
<isset property="env.ANDROID_HOME" />
|
||||||
|
</condition>
|
||||||
|
|
||||||
|
<!-- The project.properties file is created and updated by the 'android'
|
||||||
|
tool, as well as ADT.
|
||||||
|
|
||||||
|
This contains project specific properties such as project target, and library
|
||||||
|
dependencies. Lower level build properties are stored in ant.properties
|
||||||
|
(or in .classpath for Eclipse projects).
|
||||||
|
|
||||||
|
This file is an integral part of the build system for your
|
||||||
|
application and should be checked into Version Control Systems. -->
|
||||||
|
<loadproperties srcFile="project.properties" />
|
||||||
|
|
||||||
|
<!-- quick check on sdk.dir -->
|
||||||
|
<fail
|
||||||
|
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
|
||||||
|
unless="sdk.dir"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Import per project custom build rules if present at the root of the project.
|
||||||
|
This is the place to put custom intermediary targets such as:
|
||||||
|
-pre-build
|
||||||
|
-pre-compile
|
||||||
|
-post-compile (This is typically used for code obfuscation.
|
||||||
|
Compiled code location: ${out.classes.absolute.dir}
|
||||||
|
If this is not done in place, override ${out.dex.input.absolute.dir})
|
||||||
|
-post-package
|
||||||
|
-post-build
|
||||||
|
-pre-clean
|
||||||
|
-->
|
||||||
|
<import file="custom_rules.xml" optional="true" />
|
||||||
|
|
||||||
|
<!-- Import the actual build file.
|
||||||
|
|
||||||
|
To customize existing targets, there are two options:
|
||||||
|
- Customize only one target:
|
||||||
|
- copy/paste the target into this file, *before* the
|
||||||
|
<import> task.
|
||||||
|
- customize it to your needs.
|
||||||
|
- Customize the whole content of build.xml
|
||||||
|
- copy/paste the content of the rules files (minus the top node)
|
||||||
|
into this file, replacing the <import> task.
|
||||||
|
- customize to your needs.
|
||||||
|
|
||||||
|
***********************
|
||||||
|
****** IMPORTANT ******
|
||||||
|
***********************
|
||||||
|
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
|
||||||
|
in order to avoid having your file be overridden by tools such as "android update project"
|
||||||
|
-->
|
||||||
|
<!-- version-tag: 1 -->
|
||||||
|
<import file="${sdk.dir}/tools/ant/build.xml" />
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,45 @@
|
||||||
|
GSoC Plan
|
||||||
|
=========
|
||||||
|
|
||||||
|
A tl;dr version
|
||||||
|
---------------
|
||||||
|
I will be improving the Orbot UI/UX, and adding several features such as data statistics and also
|
||||||
|
implementing the TorCheck API. I plan on extending the ORLib library and also creating an ORLib enabled
|
||||||
|
app as a sort of primer for other third party apps to follow
|
||||||
|
|
||||||
|
The full version
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Orbot UI/UX
|
||||||
|
===========
|
||||||
|
At the moment, the Orbot UI/UX is clustered and not very intuitive. I plan on improving the existing
|
||||||
|
elements of the UI and also add a variety of new features such as
|
||||||
|
|
||||||
|
* A new Set – up Wizard ( which checks for iptables )
|
||||||
|
* Changes to the preferences ( should be made to follow the Android guidelines)
|
||||||
|
|
||||||
|
Orbot Core app work
|
||||||
|
===================
|
||||||
|
At the moment, Orbot displays a successful connection without actually checking the connection. This is a
|
||||||
|
pressing issue, because the user is not notified if the set-up has failed, unless he/she manually checks
|
||||||
|
the torcheck web service. This should be made automatic by making using of the TorCheck API. Also, Orbot
|
||||||
|
should be configured to show more information about the data being transmitted such as -
|
||||||
|
|
||||||
|
* Amount of data transferred
|
||||||
|
* Quality of the connection
|
||||||
|
* Number of circuits connected
|
||||||
|
|
||||||
|
ORLib
|
||||||
|
=====
|
||||||
|
Currently, ORLib is very minimal at the moment, both in term of features and support/documentation. ORLib
|
||||||
|
is very critical to the use of Orbot as it provides transparent proxying on non-rooted devices ( A major
|
||||||
|
chunk of android phones are un-rooted). I intend to -
|
||||||
|
|
||||||
|
* Improve the existing library by adding additional features
|
||||||
|
* Check for existing of Orbot
|
||||||
|
* Check status of connection to Tor
|
||||||
|
* Provide option to start Orbot via intent
|
||||||
|
* Request hidden service by port, and get return hidden service .onion address
|
||||||
|
* Create an ORLib enabled “Twitter, Status.net or other micro blogging Client” – A sort of primer for
|
||||||
|
third-party apps
|
||||||
|
* Improve the documentation
|
|
@ -0,0 +1,90 @@
|
||||||
|
|
||||||
|
.
|
||||||
|
└── org
|
||||||
|
└── torproject
|
||||||
|
└── android
|
||||||
|
├── AppManager.java
|
||||||
|
//this is what helps us track the app-by-app torification
|
||||||
|
//and gets the app name, icon, etc for display - we have some problems here
|
||||||
|
//in normalizing the icon on the list label
|
||||||
|
//some of this code came originally from DroidWall project (yay open source)
|
||||||
|
|
||||||
|
├── boot
|
||||||
|
│ └── OnbootBroadcastReceiver.java
|
||||||
|
//i think this is a dup now and should be removed
|
||||||
|
|
||||||
|
├── HiddenServiceManager.java
|
||||||
|
//empty! but at some point i thought it would be good to aggregate HS functions here
|
||||||
|
|
||||||
|
├── OnBootReceiver.java
|
||||||
|
//this is the class registered in AndroidManifest.xml to handle Onboot events
|
||||||
|
//to start Orbot/Tor when the device boots if the user has elected to do so - what kind of permissions does this require?
|
||||||
|
// <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||||
|
// BTW, this shows up as a fairly unintrusive type perm request now in Android / in older versions (1.6 and earlier)
|
||||||
|
// it was reported "as read / monitor phone state" and paranoid Tor-types didn't like the idea of it
|
||||||
|
// in 1.6+ it has a much better UX in terms of having a more granular permisions around boot since it is a very
|
||||||
|
// common request - ah , that's awesome, i think i remember seeing sth of this sorts when i was going through the guardianproject mailing list. iirc this is something ioerror wanted
|
||||||
|
|
||||||
|
|
||||||
|
├── Orbot.java
|
||||||
|
//our wonderful main activity!
|
||||||
|
|
||||||
|
├── ProcessSettingsAsyncTask.java
|
||||||
|
//this was just added in 1.0.5.x, but it was meant to help stop the UI blocking while processing settings and prefs
|
||||||
|
//it uses the AsyncTask feature of Android, which seems to work pretty well
|
||||||
|
//for this type of non-time critical function you just want to happen in the background at some point soon-ish
|
||||||
|
|
||||||
|
├── SettingsPreferences.java
|
||||||
|
// Settings activity that loads the res/xml/preferences.xml resource up
|
||||||
|
// has some custom event handlng, onActivityResult callback result code's as well
|
||||||
|
// basically meant to tell Orbot activity if critical settings have been modified and whether
|
||||||
|
// those new settings should be applied (like iptables/transproxy changes)
|
||||||
|
|
||||||
|
├── TorConstants.java
|
||||||
|
// globals! well, constants! but yeah, just a place to put values we use a lot
|
||||||
|
|
||||||
|
├── TorifiedApp.java
|
||||||
|
// object to store a single app's metadata for display in UI and for transproxy process
|
||||||
|
|
||||||
|
├── Utils.java
|
||||||
|
// random methods that can be useful, a.k.a. another place to put stuff
|
||||||
|
|
||||||
|
├── WizardActivity.java
|
||||||
|
// our original attempt at wizard activity that didn't get far
|
||||||
|
|
||||||
|
└── WizardHelper.java
|
||||||
|
// the helper class that manages the dialog based wizard
|
||||||
|
|
||||||
|
├── service //okay the Service subpackage!
|
||||||
|
|
||||||
|
│ ├── Api.java
|
||||||
|
//this is more code taken from DroidWall, that needs to be cleaned up and paired down to just what we need it for
|
||||||
|
//this is related to 1.0.5.x changes with how we bundle and install our C binaries (tor, privoxy and iptables)
|
||||||
|
|
||||||
|
│ ├── ITorService.aidl
|
||||||
|
// the android remote interface definition file;
|
||||||
|
// this is the remote interface which the Orbot activity gets a reference to
|
||||||
|
// and that in the TorService is instantiated as the "binder"
|
||||||
|
|
||||||
|
│ ├── ITorServiceCallback.aidl
|
||||||
|
// this is the callback interface that the Orbot activity instantiates, and passes
|
||||||
|
// to the ITorService; reverse of ITorService in a sense
|
||||||
|
|
||||||
|
│ ├── TorBinaryInstaller.java
|
||||||
|
// this handles installation of binaries; uses Api.java; // tied into Wizard as well
|
||||||
|
|
||||||
|
│ ├── TorServiceConstants.java
|
||||||
|
// reusable constants for just the Service package
|
||||||
|
|
||||||
|
│ ├── TorService.java
|
||||||
|
// the main might powerful service class; Orbot and TorService are the front and backends of this whole app
|
||||||
|
// should run as a remote service, but the manifest doesn't seem to indicate that at the moment
|
||||||
|
|
||||||
|
│ ├── TorServiceUtils.java
|
||||||
|
//utility methods for the service; specificaly check for root and tools for finding processID of background binaries
|
||||||
|
|
||||||
|
│ └── TorTransProxy.java
|
||||||
|
// all the code for iptables transproxying management
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
[main]
|
||||||
|
host = https://www.transifex.com
|
||||||
|
lang_map = af_ZA: af-rZA, am_ET: am-rET, ar_AE: ar-rAE, ar_BH: ar-rBH, ar_DZ: ar-rDZ, ar_EG: ar-rEG, ar_IQ: ar-rIQ, ar_JO: ar-rJO, ar_KW: ar-rKW, ar_LB: ar-rLB, ar_LY: ar-rLY, ar_MA: ar-rMA, ar_OM: ar-rOM, ar_QA: ar-rQA, ar_SA: ar-rSA, ar_SY: ar-rSY, ar_TN: ar-rTN, ar_YE: ar-rYE, arn_CL: arn-rCL, as_IN: as-rIN, az_AZ: az-rAZ, ba_RU: ba-rRU, be_BY: be-rBY, bg_BG: bg-rBG, bn_BD: bn-rBD, bn_IN: bn-rIN, bo_CN: bo-rCN, br_FR: br-rFR, bs_BA: bs-rBA, ca_ES: ca-rES, co_FR: co-rFR, cs_CZ: cs-rCZ, cy_GB: cy-rGB, da_DK: da-rDK, de_AT: de-rAT, de_CH: de-rCH, de_DE: de-rDE, de_LI: de-rLI, de_LU: de-rLU, dsb_DE: dsb-rDE, dv_MV: dv-rMV, el_GR: el-rGR, en_AU: en-rAU, en_BZ: en-rBZ, en_CA: en-rCA, en_GB: en-rGB, en_IE: en-rIE, en_IN: en-rIN, en_JM: en-rJM, en_MY: en-rMY, en_NZ: en-rNZ, en_PH: en-rPH, en_SG: en-rSG, en_TT: en-rTT, en_US: en-rUS, en_ZA: en-rZA, en_ZW: en-rZW, es_AR: es-rAR, es_BO: es-rBO, es_CL: es-rCL, es_CO: es-rCO, es_CR: es-rCR, es_DO: es-rDO, es_EC: es-rEC, es_ES: es-rES, es_GT: es-rGT, es_HN: es-rHN, es_MX: es-rMX, es_NI: es-rNI, es_PA: es-rPA, es_PE: es-rPE, es_PR: es-rPR, es_PY: es-rPY, es_SV: es-rSV, es_US: es-rUS, es_UY: es-rUY, es_VE: es-rVE, et_EE: et-rEE, eu_ES: eu-rES, fa_IR: fa-rIR, fi_FI: fi-rFI, fil_PH: tl-rPH, fil: tl, fo_FO: fo-rFO, fr_BE: fr-rBE, fr_CA: fr-rCA, fr_CH: fr-rCH, fr_FR: fr-rFR, fr_LU: fr-rLU, fr_MC: fr-rMC, fy_NL: fy-rNL, ga_IE: ga-rIE, gd_GB: gd-rGB, gl_ES: gl-rES, gsw_FR: gsw-rFR, gu_IN: gu-rIN, ha_NG: ha-rNG, he_IL: he-rIL, hi_IN: hi-rIN, hr_BA: hr-rBA, hr_HR: hr-rHR, hsb_DE: hsb-rDE, hu_HU: hu-rHU, hy_AM: hy-rAM, id_ID: id-rID, ig_NG: ig-rNG, ii_CN: ii-rCN, is_IS: is-rIS, it_CH: it-rCH, it_IT: it-rIT, iu_CA: iu-rCA, ja_JP: ja-rJP, ka_GE: ka-rGE, kk_KZ: kk-rKZ, kl_GL: kl-rGL, km_KH: km-rKH, kn_IN: kn-rIN, ko_KR: ko-rKR, kok_IN: kok-rIN, ky_KG: ky-rKG, lb_LU: lb-rLU, lo_LA: lo-rLA, lt_LT: lt-rLT, lv_LV: lv-rLV, mi_NZ: mi-rNZ, mk_MK: mk-rMK, ml_IN: ml-rIN, mn_CN: mn-rCN, mn_MN: mn-rMN, moh_CA: moh-rCA, mr_IN: mr-rIN, ms_BN: ms-rBN, ms_MY: ms-rMY, mt_MT: mt-rMT, nb_NO: nb-rNO, ne_NP: ne-rNP, nl_BE: nl-rBE, nl_NL: nl-rNL, nn_NO: nn-rNO, nso_ZA: nso-rZA, oc_FR: oc-rFR, or_IN: or-rIN, pa_IN: pa-rIN, pl_PL: pl-rPL, prs_AF: prs-rAF, ps_AF: ps-rAF, pt_BR: pt-rBR, pt_PT: pt-rPT, qut_GT: qut-rGT, quz_BO: quz-rBO, quz_EC: quz-rEC, quz_PE: quz-rPE, rm_CH: rm-rCH, ro_RO: ro-rRO, ru_RU: ru-rRU, rw_RW: rw-rRW, sa_IN: sa-rIN, sah_RU: sah-rRU, se_FI: se-rFI, se_NO: se-rNO, se_SE: se-rSE, si_LK: si-rLK, sk_SK: sk-rSK, sl_SI: sl-rSI, sma_NO: sma-rNO, sma_SE: sma-rSE, smj_NO: smj-rNO, smj_SE: smj-rSE, smn_FI: smn-rFI, sms_FI: sms-rFI, sq_AL: sq-rAL, sr_BA: sr-rBA, sr_CS: sr-rCS, sr_ME: sr-rME, sr_RS: sr-rRS, sv_FI: sv-rFI, sv_SE: sv-rSE, sw_KE: sw-rKE, syr_SY: syr-rSY, ta_IN: ta-rIN, te_IN: te-rIN, tg_TJ: tg-rTJ, th_TH: th-rTH, tk_TM: tk-rTM, tn_ZA: tn-rZA, tr_TR: tr-rTR, tt_RU: tt-rRU, tzm_DZ: tzm-rDZ, ug_CN: ug-rCN, uk_UA: uk-rUA, ur_PK: ur-rPK, uz_UZ: uz-rUZ, vi_VN: vi-rVN, wo_SN: wo-rSN, xh_ZA: xh-rZA, yo_NG: yo-rNG, zh_CN: zh-rCN, zh_HK: zh-rHK, zh_MO: zh-rMO, zh_SG: zh-rSG, zh_TW: zh-rTW, zu_ZA: zu-rZA
|
||||||
|
|
||||||
|
[orbot.stringsxml]
|
||||||
|
file_filter = ../res/values-<lang>/strings.xml
|
||||||
|
host = https://www.transifex.com
|
||||||
|
source_file = ../res/values/strings.xml
|
||||||
|
source_lang = en
|
||||||
|
|
||||||
|
[orbot.description]
|
||||||
|
file_filter = ../releases/assets/<lang>-description.txt
|
||||||
|
host = https://www.transifex.com
|
||||||
|
source_file = ../releases/assets/description.txt
|
||||||
|
source_lang = en
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit c0d437ce4c47cb344e5d96414ffbf5f1a85c26d0
|
|
@ -11,11 +11,6 @@ export ac_cv_func_setpgrp_void=yes
|
||||||
|
|
||||||
EXTERNAL_ROOT := $(shell pwd)
|
EXTERNAL_ROOT := $(shell pwd)
|
||||||
|
|
||||||
DEBUG ?= 0
|
|
||||||
|
|
||||||
# No-op command.
|
|
||||||
NOOP = true
|
|
||||||
|
|
||||||
# Android now has 64-bit and 32-bit versions of the NDK for GNU/Linux. We
|
# Android now has 64-bit and 32-bit versions of the NDK for GNU/Linux. We
|
||||||
# assume that the build platform uses the appropriate version, otherwise the
|
# assume that the build platform uses the appropriate version, otherwise the
|
||||||
# user building this will have to manually set NDK_PROCESSOR or NDK_TOOLCHAIN.
|
# user building this will have to manually set NDK_PROCESSOR or NDK_TOOLCHAIN.
|
||||||
|
@ -27,50 +22,25 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Android NDK setup
|
# Android NDK setup
|
||||||
ANDROID_NDK_HOME ?= /opt/android-ndk
|
NDK_BASE ?= /opt/android-ndk
|
||||||
ANDROID_NDK ?= $(ANDROID_NDK_HOME)
|
NDK_PLATFORM_LEVEL ?= 9
|
||||||
NDK_PLATFORM_LEVEL ?= 16
|
NDK_ABI ?= arm
|
||||||
NDK_TOOLCHAIN_VERSION=4.9
|
NDK_TOOLCHAIN_VERSION=4.8
|
||||||
|
NDK_SYSROOT=$(NDK_BASE)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-$(NDK_ABI)
|
||||||
APP_ABI ?= armeabi
|
APP_ABI ?= armeabi
|
||||||
NDK_ABI ?= $(APP_ABI)
|
|
||||||
|
|
||||||
# PIEFLAGS for SDK 16/Android L must be set to -fPIE -pie, but can override for earlier targets
|
|
||||||
PIEFLAGS ?= -fPIE -pie
|
|
||||||
|
|
||||||
ifneq ($(filter arm%, $(APP_ABI)),)
|
|
||||||
NDK_ABI := arm
|
|
||||||
endif
|
|
||||||
ifneq ($(filter arm64%, $(APP_ABI)),)
|
|
||||||
NDK_ABI := arm64
|
|
||||||
endif
|
|
||||||
|
|
||||||
NDK_SYSROOT=$(ANDROID_NDK_HOME)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-$(NDK_ABI)
|
|
||||||
NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
|
NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
|
||||||
ifneq ($(filter mips%, $(NDK_ABI)),)
|
ifeq ($(NDK_ABI),x86)
|
||||||
HOST := $(NDK_ABI)el-linux-android
|
HOST = i686-linux-android
|
||||||
|
NDK_TOOLCHAIN = $(NDK_ABI)-$(NDK_TOOLCHAIN_VERSION)
|
||||||
|
else
|
||||||
|
HOST = $(NDK_ABI)-linux-androideabi
|
||||||
|
NDK_TOOLCHAIN = $(HOST)-$(NDK_TOOLCHAIN_VERSION)
|
||||||
endif
|
endif
|
||||||
ifneq ($(filter arm64, $(NDK_ABI)),)
|
NDK_TOOLCHAIN_BASE=$(NDK_BASE)/toolchains/$(NDK_TOOLCHAIN)/prebuilt/$(NDK_UNAME)-$(NDK_PROCESSOR)
|
||||||
HOST := aarch64-linux-android
|
|
||||||
endif
|
|
||||||
ifneq ($(filter arm, $(NDK_ABI)),)
|
|
||||||
HOST := arm-linux-androideabi
|
|
||||||
endif
|
|
||||||
ifneq ($(filter x86, $(NDK_ABI)),)
|
|
||||||
HOST := i686-linux-android
|
|
||||||
endif
|
|
||||||
ifneq ($(filter x86_64, $(NDK_ABI)),)
|
|
||||||
HOST := x86_64-linux-android
|
|
||||||
endif
|
|
||||||
|
|
||||||
NDK_TOOLCHAIN := $(HOST)-$(NDK_TOOLCHAIN_VERSION)
|
|
||||||
ifneq ($(filter x86%, $(NDK_ABI)),)
|
|
||||||
NDK_TOOLCHAIN := $(NDK_ABI)-$(NDK_TOOLCHAIN_VERSION)
|
|
||||||
endif
|
|
||||||
NDK_TOOLCHAIN_BASE=$(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/prebuilt/$(NDK_UNAME)-$(NDK_PROCESSOR)
|
|
||||||
|
|
||||||
# include Android's build flags
|
# include Android's build flags
|
||||||
TARGET_ARCH_ABI = $(APP_ABI)
|
TARGET_ARCH_ABI = $(APP_ABI)
|
||||||
#include $(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/setup.mk
|
include $(NDK_BASE)/toolchains/$(NDK_TOOLCHAIN)/setup.mk
|
||||||
|
|
||||||
CC := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-gcc --sysroot=$(NDK_SYSROOT)
|
CC := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-gcc --sysroot=$(NDK_SYSROOT)
|
||||||
CXX := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-g++ --sysroot=$(NDK_SYSROOT)
|
CXX := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-g++ --sysroot=$(NDK_SYSROOT)
|
||||||
|
@ -78,17 +48,13 @@ CPP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-cpp --sysroot=$(NDK_SYSROOT)
|
||||||
LD := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ld
|
LD := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ld
|
||||||
AR := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ar
|
AR := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ar
|
||||||
RANLIB := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ranlib
|
RANLIB := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ranlib
|
||||||
|
STRIP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip \
|
||||||
|
--strip-unneeded -R .note -R .comment
|
||||||
|
|
||||||
ifeq ($(DEBUG), 1)
|
CFLAGS = -DANDROID $(TARGET_CFLAGS)
|
||||||
STRIP := $(NOOP)
|
LDFLAGS = -llog $(TARGET_LDFLAGS)
|
||||||
else
|
|
||||||
STRIP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-unneeded -R .note -R .comment --strip-debug
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
CFLAGS = -DANDROID $(TARGET_CFLAGS) $(PIEFLAGS)
|
|
||||||
LDFLAGS = -llog $(TARGET_LDFLAGS) $(PIEFLAGS)
|
|
||||||
|
|
||||||
# change 'release' to 'debug' for unoptimized debug builds
|
# change 'release' to 'debug' for unoptimized debug builds
|
||||||
ifeq ($(APP_ABI),armeabi-v7a)
|
ifeq ($(APP_ABI),armeabi-v7a)
|
||||||
CFLAGS += $(TARGET_arm_release_CFLAGS)
|
CFLAGS += $(TARGET_arm_release_CFLAGS)
|
||||||
|
@ -97,48 +63,31 @@ ifeq ($(APP_ABI),armeabi)
|
||||||
CFLAGS += $(TARGET_thumb_release_CFLAGS)
|
CFLAGS += $(TARGET_thumb_release_CFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY = clean showsetup \
|
.PHONY = clean showsetup \
|
||||||
assets assets-clean \
|
assets assets-clean \
|
||||||
openssl-static openssl-static-clean \
|
openssl-static openssl-static-clean \
|
||||||
libevent libevent-clean \
|
libevent libevent-clean \
|
||||||
lzma lzma-clean \
|
iptables iptables-clean \
|
||||||
zstd zstd-clean \
|
tor tor-clean \
|
||||||
tor tor-clean
|
liballium liballium-clean \
|
||||||
|
obfsclient obfsclient-clean \
|
||||||
|
polipo polipo-clean
|
||||||
|
|
||||||
all: assets
|
all: assets
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# openssl
|
# openssl
|
||||||
|
|
||||||
# Disable rc4 cipher for 64-bit archs, to avoid this link error for tor:
|
|
||||||
# external/lib/libcrypto.a(e_rc4_hmac_md5.o):e_rc4_hmac_md5.c:function rc4_hmac_md5_cipher: error: undefined reference to 'rc4_md5_enc'
|
|
||||||
OPENSSL_CONF_FLAG=
|
|
||||||
ifneq ($(findstring 64, $(NDK_ABI)),)
|
|
||||||
OPENSSL_CONF_FLAG+=no-rc4
|
|
||||||
endif
|
|
||||||
|
|
||||||
# OpenSSL's 'make depend' fails if _MIPS_SZLONG is not set:
|
|
||||||
ifneq ($(filter mips%, $(NDK_ABI)),)
|
|
||||||
ifneq ($(findstring 64, $(NDK_ABI)),)
|
|
||||||
OPENSSL_CONF_FLAG+=-D_MIPS_SZLONG=64
|
|
||||||
else
|
|
||||||
OPENSSL_CONF_FLAG+=-D_MIPS_SZLONG=32 -D__MIPSEL__
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
lib/libcrypto.a:
|
lib/libcrypto.a:
|
||||||
cd openssl && \
|
cd openssl && \
|
||||||
./Configure android -D__ANDROID_API__=$(NDK_PLATFORM_LEVEL) -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
|
./Configure android -DL_ENDIAN && \
|
||||||
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr depend && \
|
|
||||||
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
|
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
|
||||||
|
|
||||||
lib/libssl.a:
|
lib/libssl.a:
|
||||||
cp config.sub openssl
|
cp config.sub openssl
|
||||||
cp config.guess openssl
|
cp config.guess openssl
|
||||||
cd openssl && \
|
cd openssl && \
|
||||||
./Configure android -D__ANDROID_API__=$(NDK_PLATFORM_LEVEL) -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
|
./Configure android -DL_ENDIAN && \
|
||||||
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr depend && \
|
|
||||||
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
|
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
|
||||||
|
|
||||||
openssl-build-stamp: lib/libcrypto.a lib/libssl.a
|
openssl-build-stamp: lib/libcrypto.a lib/libssl.a
|
||||||
|
@ -164,10 +113,7 @@ openssl-clean:
|
||||||
|
|
||||||
libevent/Makefile:
|
libevent/Makefile:
|
||||||
sed -i 's@\(SUBDIRS = . include\) sample test@\1@' libevent/Makefile.am
|
sed -i 's@\(SUBDIRS = . include\) sample test@\1@' libevent/Makefile.am
|
||||||
cp libevent-patch-1 libevent
|
sed -i 's@\(AC_OUTPUT(Makefile include/Makefile\) test/Makefile sample/Makefile)@\1)@' libevent/configure.in
|
||||||
-cd libevent && \
|
|
||||||
patch -N -p1 --reject-file=- < libevent-patch-1
|
|
||||||
##sed -i 's@\(AC_OUTPUT(Makefile include/Makefile\) test/Makefile sample/Makefile)@\1)@' libevent/configure.in
|
|
||||||
cd libevent && ./autogen.sh
|
cd libevent && ./autogen.sh
|
||||||
cp config.sub libevent
|
cp config.sub libevent
|
||||||
cp config.guess libevent
|
cp config.guess libevent
|
||||||
|
@ -193,57 +139,40 @@ libevent-clean:
|
||||||
-rm -f libevent-build-stamp
|
-rm -f libevent-build-stamp
|
||||||
-cd libevent && \
|
-cd libevent && \
|
||||||
git clean -fdx
|
git clean -fdx
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# lzma
|
# iptables
|
||||||
|
|
||||||
xz/Makefile:
|
iptables/Makefile:
|
||||||
cd xz && ./autogen.sh
|
cp iptables-patch-1 iptables
|
||||||
cp config.sub xz
|
cp iptables-patch-2 iptables
|
||||||
cp config.guess xz
|
cp iptables-patch-3 iptables
|
||||||
cd xz && \
|
-cd iptables && \
|
||||||
CC="$(CC)" CXX="$(CXX)" PKG_CONFIG_PATH="$(EXTERNAL_ROOT)/lib/pkgconfig" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS) -std=c99" LDFLAGS="$(LDFLAGS)" \
|
patch -N -p1 --reject-file=- < iptables-patch-1
|
||||||
./configure --host=$(HOST) --disable-shared --enable-static --disable-doc --disable-xz --disable-xzdec --disable-lzmadec --disable-lzmainfo --disable-lzma-links --disable-scripts --prefix=$(EXTERNAL_ROOT)
|
-cd iptables && \
|
||||||
|
patch -N -p1 --reject-file=- < iptables-patch-2
|
||||||
|
-cd iptables && \
|
||||||
|
patch -N -p1 --reject-file=- < iptables-patch-3
|
||||||
|
cd iptables && ./autogen.sh
|
||||||
|
cp config.sub iptables
|
||||||
|
cp config.guess iptables
|
||||||
|
cd iptables && \
|
||||||
|
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
|
||||||
|
./configure --host=$(HOST) --disable-shared --enable-static
|
||||||
|
|
||||||
lzma: lzma-build-stamp
|
iptables-build-stamp: iptables/Makefile
|
||||||
$(MAKE) -C xz install
|
$(MAKE) -C iptables
|
||||||
|
touch iptables-build-stamp
|
||||||
|
cp iptables/iptables/xtables-multi bin/xtables
|
||||||
|
|
||||||
lzma-build-stamp: xz/Makefile
|
iptables: iptables-build-stamp
|
||||||
touch lzma-build-stamp
|
|
||||||
|
|
||||||
lzma-clean:
|
iptables-clean:
|
||||||
-rm -rf include/lzma
|
-rm -f iptables-build-stamp
|
||||||
-rm -f include/lzma.h
|
-rm bin/xtables
|
||||||
-rm -f lib/liblzma.a
|
-cd iptables && \
|
||||||
-rm -f lib/liblzma.la
|
|
||||||
-rm -f lzma-build-stamp
|
|
||||||
-cd xz && \
|
|
||||||
git clean -fdx
|
git clean -fdx
|
||||||
#------------------------------------------------------------------------------#
|
|
||||||
# zstd
|
|
||||||
|
|
||||||
zstd: zstd-build-stamp
|
|
||||||
$(MAKE) -C zstd/lib CC="$(CC)" CXX="$(CXX)" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" PREFIX="$(EXTERNAL_ROOT)" libzstd.a-mt
|
|
||||||
$(MAKE) -C zstd/lib CC="$(CC)" CXX="$(CXX)" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" PREFIX="$(EXTERNAL_ROOT)" libzstd.pc
|
|
||||||
test -d lib || mkdir lib
|
|
||||||
test -d lib/pkgconfig || mkdir lib/pkgconfig
|
|
||||||
test -d include || mkdir include
|
|
||||||
cp zstd/lib/libzstd.a lib
|
|
||||||
cp zstd/lib/libzstd.pc lib/pkgconfig
|
|
||||||
cp zstd/lib/zstd.h include
|
|
||||||
cp zstd/lib/common/zstd_errors.h include
|
|
||||||
cp zstd/lib/deprecated/zbuff.h include
|
|
||||||
cp zstd/lib/dictBuilder/zdict.h include
|
|
||||||
|
|
||||||
zstd-build-stamp:
|
|
||||||
touch zstd-build-stamp
|
|
||||||
|
|
||||||
zstd-clean:
|
|
||||||
-rm -f include/zstd.h include/zstd_errors.h include/zbuff.h include/zdict.h
|
|
||||||
-rm -f lib/libzstd.a
|
|
||||||
-rm -f lib/pkgconfig/libzstd.pc
|
|
||||||
-rm -f zstd-build-stamp
|
|
||||||
-cd zstd && \
|
|
||||||
git clean -fdx
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# tor
|
# tor
|
||||||
|
|
||||||
|
@ -255,20 +184,20 @@ tor/Makefile: tor/configure
|
||||||
cp config.sub tor
|
cp config.sub tor
|
||||||
cp config.guess tor
|
cp config.guess tor
|
||||||
cd tor && \
|
cd tor && \
|
||||||
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) PKG_CONFIG_PATH="$(EXTERNAL_ROOT)/lib/pkgconfig" CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fwrapv -fno-strict-aliasing -fno-strict-overflow" LDFLAGS="$(LDFLAGS)" \
|
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow" LDFLAGS="$(LDFLAGS)" \
|
||||||
LIBS="-L$(EXTERNAL_ROOT)/lib" CFLAGS="-I$(EXTERNAL_ROOT)/include -I$(EXTERNAL_ROOT)/include/event2" \
|
LIBS="-L$(EXTERNAL_ROOT)/lib" CFLAGS="-I$(EXTERNAL_ROOT)/include -I$(EXTERNAL_ROOT)/include/event2" \
|
||||||
./configure \
|
./configure \
|
||||||
--host=$(HOST) \
|
--host=$(HOST) \
|
||||||
--disable-asciidoc \
|
--disable-asciidoc \
|
||||||
--enable-static-libevent --with-libevent-dir=$(EXTERNAL_ROOT) \
|
--enable-static-libevent --with-libevent-dir=$(EXTERNAL_ROOT) \
|
||||||
--enable-static-openssl --with-openssl-dir=$(EXTERNAL_ROOT) \
|
--enable-static-openssl --with-openssl-dir=$(EXTERNAL_ROOT) \
|
||||||
--disable-linker-hardening --disable-gcc-hardening --disable-tool-name-check --disable-systemd --disable-module-dirauth
|
--disable-linker-hardening --disable-gcc-hardening
|
||||||
|
|
||||||
tor-build-stamp: tor/Makefile
|
tor-build-stamp: tor/Makefile
|
||||||
$(MAKE) -C tor all-am
|
$(MAKE) -C tor all-am
|
||||||
touch tor-build-stamp
|
touch tor-build-stamp
|
||||||
|
|
||||||
tor: lzma zstd libevent openssl tor-build-stamp
|
tor: libevent openssl tor-build-stamp
|
||||||
test -d bin || mkdir bin
|
test -d bin || mkdir bin
|
||||||
cp tor/src/or/tor bin
|
cp tor/src/or/tor bin
|
||||||
|
|
||||||
|
@ -277,26 +206,140 @@ tor-clean:
|
||||||
-rm -f tor-build-stamp
|
-rm -f tor-build-stamp
|
||||||
-cd tor && \
|
-cd tor && \
|
||||||
git clean -fdx
|
git clean -fdx
|
||||||
-cd tor && \
|
|
||||||
git reset HEAD --hard
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
#create and clean assets: FYI - tor is stored as a ZIP file with an so extension
|
# liballium
|
||||||
#in the libs directly, so it is handled like a shared library for local installation
|
|
||||||
|
|
||||||
assets: tor
|
liballium/Makefile:
|
||||||
install -d ../tor-android-binary/src/main/libs/$(APP_ABI)
|
cd liballium && mkdir m4
|
||||||
-$(STRIP) bin/tor
|
cd liballium && ./autogen.sh
|
||||||
-zip ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so bin/tor
|
cp config.sub liballium
|
||||||
|
cp config.guess liballium
|
||||||
|
cd liballium && \
|
||||||
|
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
|
||||||
|
./configure \
|
||||||
|
--host=$(HOST) \
|
||||||
|
--disable-shared
|
||||||
|
|
||||||
|
liballium-build-stamp: liballium/Makefile
|
||||||
|
$(MAKE) -C liballium all-am
|
||||||
|
touch liballium-build-stamp
|
||||||
|
|
||||||
|
liballium: liballium-build-stamp
|
||||||
|
test -d lib || mkdir lib
|
||||||
|
test -d include || mkdir include
|
||||||
|
test -d include/allium || mkdir include/allium
|
||||||
|
cp liballium/.libs/liballium-1.0.a lib
|
||||||
|
cp liballium/include/* include/allium/
|
||||||
|
|
||||||
|
liballium-clean:
|
||||||
|
-rm -f include/allium
|
||||||
|
-rm -f lib/liballium-1.0.a
|
||||||
|
-rm -f liballium-build-stamp
|
||||||
|
-cd liballium && \
|
||||||
|
git clean -fdx
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------#
|
||||||
|
# obfsclient
|
||||||
|
|
||||||
|
|
||||||
|
obfsclient/Makefile:
|
||||||
|
cd obfsclient && \
|
||||||
|
./autogen.sh
|
||||||
|
cp config.sub obfsclient
|
||||||
|
cp config.guess obfsclient
|
||||||
|
cd obfsclient && \
|
||||||
|
CC="$(CC)" CPP="$(CPP)" CXX="$(CXX)" AR="$(AR)" RANLIB=$(RANLIB) \
|
||||||
|
CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include -I$(EXTERNAL_ROOT)/include/event2" \
|
||||||
|
CPPFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow" \
|
||||||
|
CXXFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow -I$(NDK_BASE)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/include -I$(NDK_BASE)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/libs/$(APP_ABI)/include" \
|
||||||
|
LDFLAGS="$(LDFLAGS)" \
|
||||||
|
libevent_CFLAGS="-I$(EXTERNAL_ROOT)/include" libevent_LIBS="-L$(EXTERNAL_ROOT)/lib" \
|
||||||
|
liballium_CFLAGS="-I$(EXTERNAL_ROOT)/include" liballium_LIBS="-L$(EXTERNAL_ROOT)/lib" \
|
||||||
|
LIBS="-L$(EXTERNAL_ROOT)/lib -levent -lallium-1.0 -L$(NDK_BASE)/sources/cxx-stl/gnu-libstdc++/$(NDK_TOOLCHAIN_VERSION)/libs/$(APP_ABI)/ -lgnustl_static" \
|
||||||
|
./configure \
|
||||||
|
--host=$(HOST) \
|
||||||
|
--with-openssl=$(EXTERNAL_ROOT)
|
||||||
|
|
||||||
|
obfsclient-build-stamp: obfsclient/Makefile
|
||||||
|
$(MAKE) -C obfsclient
|
||||||
|
touch obfsclient-build-stamp
|
||||||
|
|
||||||
|
obfsclient: openssl libevent liballium obfsclient-build-stamp
|
||||||
|
test -d bin || mkdir bin
|
||||||
|
cp obfsclient/obfsclient bin
|
||||||
|
|
||||||
|
obfsclient-clean:
|
||||||
|
-rm -f bin/obfsclient
|
||||||
|
-rm -f obfsclient-build-stamp
|
||||||
|
-cd obfsclient && \
|
||||||
|
git clean -fdx
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------#
|
||||||
|
# polipo
|
||||||
|
|
||||||
|
polipo-build-stamp:
|
||||||
|
$(MAKE) CC="$(CC)" -C polipo
|
||||||
|
touch polipo-build-stamp
|
||||||
|
|
||||||
|
polipo: polipo-build-stamp
|
||||||
|
test -d bin || mkdir bin
|
||||||
|
cp polipo/polipo bin
|
||||||
|
|
||||||
|
polipo-clean:
|
||||||
|
-rm -f bin/polipo
|
||||||
|
-rm -f polipo-build-stamp
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------#
|
||||||
|
# JTorControl library
|
||||||
|
|
||||||
|
jtorctl/bin/jtorctl.jar:
|
||||||
|
test -d jtorctl/bin || mkdir jtorctl/bin
|
||||||
|
cd jtorctl && \
|
||||||
|
javac -source 1.6 -target 1.6 net/freehaven/tor/control/TorControlConnection.java -d bin
|
||||||
|
cd jtorctl/bin && \
|
||||||
|
jar cvf jtorctl.jar *
|
||||||
|
|
||||||
|
jtorctl-build-stamp: jtorctl/bin/jtorctl.jar
|
||||||
|
touch jtorctl-build-stamp
|
||||||
|
|
||||||
|
jtorctl: jtorctl-build-stamp
|
||||||
|
test -d bin || mkdir bin
|
||||||
|
cp jtorctl/bin/jtorctl.jar bin
|
||||||
|
|
||||||
|
jtorctl-clean:
|
||||||
|
-rm -rf jtorctl/bin
|
||||||
|
-rm jtorctl-build-stamp
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------#
|
||||||
|
#create and clean assets: FYI - tor is stored as a ZIP file with an mp3 extension
|
||||||
|
#in order to stop Android OS (older devices) from trying to compress/decompress it
|
||||||
|
#this is related to a bug in compression of assets and resources > 1MB
|
||||||
|
|
||||||
|
assets: tor polipo jtorctl iptables obfsclient
|
||||||
|
install bin/jtorctl.jar ../libs
|
||||||
|
install -d ../res/raw
|
||||||
|
-$(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-debug bin/polipo
|
||||||
|
-zip ../res/raw/polipo.mp3 bin/polipo
|
||||||
|
-$(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-debug bin/obfsclient
|
||||||
|
-zip ../res/raw/obfsclient.mp3 bin/obfsclient
|
||||||
|
-$(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-debug bin/tor
|
||||||
|
-zip ../res/raw/tor.mp3 bin/tor
|
||||||
|
-$(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip --strip-debug bin/xtables
|
||||||
|
-zip ../res/raw/xtables.mp3 bin/xtables
|
||||||
|
|
||||||
assets-clean:
|
assets-clean:
|
||||||
-rm ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so
|
-rm ../res/raw/polipo.mp3
|
||||||
|
-rm ../res/raw/obfsclient.mp3
|
||||||
|
-rm ../res/raw/tor.mp3
|
||||||
|
-rm ../res/raw/xtables.mp3
|
||||||
|
-rm ../libs/jtorctl.jar
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# cleanup, cleanup, put the toys away
|
# cleanup, cleanup, put the toys away
|
||||||
|
|
||||||
##clean: openssl-clean libevent-clean tor-clean polipo-clean assets-clean
|
clean: openssl-clean libevent-clean tor-clean polipo-clean jtorctl-clean liballium-clean obfsclient-clean assets-clean
|
||||||
clean: openssl-clean libevent-clean lzma-clean zstd-clean tor-clean
|
|
||||||
|
|
||||||
#------------------------------------------------------------------------------#
|
#------------------------------------------------------------------------------#
|
||||||
# debugging stuff
|
# debugging stuff
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||||
|
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||||
|
<classpathentry kind="src" path="src"/>
|
||||||
|
<classpathentry kind="src" path="gen"/>
|
||||||
|
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||||
|
<classpathentry exported="true" kind="lib" path="libs/android-support-v4.jar"/>
|
||||||
|
<classpathentry exported="true" kind="lib" path="libs/android-support-v7-appcompat.jar"/>
|
||||||
|
<classpathentry kind="output" path="bin/classes"/>
|
||||||
|
</classpath>
|
|
@ -0,0 +1,33 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>android-support-v7-appcompat</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
</natures>
|
||||||
|
</projectDescription>
|
|
@ -0,0 +1,4 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||||
|
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2012 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="android.support.v7.appcompat">
|
||||||
|
<uses-sdk android:minSdkVersion="7"/>
|
||||||
|
<application />
|
||||||
|
</manifest>
|
|
@ -0,0 +1,10 @@
|
||||||
|
Library Project including compatibility ActionBar.
|
||||||
|
|
||||||
|
This can be used by an Android project to provide
|
||||||
|
access to ActionBar on applications running on API 7+.
|
||||||
|
|
||||||
|
There is technically no source, but the src folder is necessary
|
||||||
|
to ensure that the build system works. The content is actually
|
||||||
|
located in libs/android-support-v7-appcompat.jar.
|
||||||
|
The accompanying resources must also be included in the application.
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
# This file is automatically generated by Android Tools.
|
||||||
|
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||||
|
#
|
||||||
|
# This file must be checked in Version Control Systems.
|
||||||
|
#
|
||||||
|
# To customize properties used by the Ant build system edit
|
||||||
|
# "ant.properties", and override values to adapt the script to your
|
||||||
|
# project structure.
|
||||||
|
#
|
||||||
|
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||||
|
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||||
|
|
||||||
|
# Project target.
|
||||||
|
target=android-19
|
||||||
|
android.library=true
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:interpolator="@android:anim/decelerate_interpolator"
|
||||||
|
android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime" />
|
|
@ -0,0 +1,20 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:interpolator="@android:anim/decelerate_interpolator"
|
||||||
|
android:fromAlpha="1.0" android:toAlpha="0.0"
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime" />
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:interpolator="@android:anim/decelerate_interpolator"
|
||||||
|
android:fromYDelta="50%p" android:toYDelta="0"
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:interpolator="@android:anim/decelerate_interpolator"
|
||||||
|
android:fromYDelta="-50%p" android:toYDelta="0"
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:interpolator="@android:anim/accelerate_interpolator"
|
||||||
|
android:fromYDelta="0" android:toYDelta="50%p"
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:interpolator="@android:anim/accelerate_interpolator"
|
||||||
|
android:fromYDelta="0" android:toYDelta="-50%p"
|
||||||
|
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -0,0 +1,21 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<item android:state_pressed="true" android:color="@color/abc_search_url_text_pressed"/>
|
||||||
|
<item android:state_selected="true" android:color="@color/abc_search_url_text_selected"/>
|
||||||
|
<item android:color="@color/abc_search_url_text_normal"/> <!-- not selected -->
|
||||||
|
</selector>
|
After Width: | Height: | Size: 144 B |
After Width: | Height: | Size: 144 B |
BIN
external/appcompat/res/drawable-hdpi/abc_ab_bottom_transparent_dark_holo.9.png
vendored
Normal file
After Width: | Height: | Size: 135 B |
BIN
external/appcompat/res/drawable-hdpi/abc_ab_bottom_transparent_light_holo.9.png
vendored
Normal file
After Width: | Height: | Size: 134 B |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 145 B |
After Width: | Height: | Size: 146 B |
After Width: | Height: | Size: 146 B |
BIN
external/appcompat/res/drawable-hdpi/abc_ab_stacked_transparent_dark_holo.9.png
vendored
Normal file
After Width: | Height: | Size: 139 B |
BIN
external/appcompat/res/drawable-hdpi/abc_ab_stacked_transparent_light_holo.9.png
vendored
Normal file
After Width: | Height: | Size: 133 B |
After Width: | Height: | Size: 155 B |
After Width: | Height: | Size: 145 B |
BIN
external/appcompat/res/drawable-hdpi/abc_cab_background_bottom_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 149 B |
BIN
external/appcompat/res/drawable-hdpi/abc_cab_background_bottom_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 145 B |
BIN
external/appcompat/res/drawable-hdpi/abc_cab_background_top_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 147 B |
BIN
external/appcompat/res/drawable-hdpi/abc_cab_background_top_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 602 B |
After Width: | Height: | Size: 546 B |
After Width: | Height: | Size: 713 B |
After Width: | Height: | Size: 737 B |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.9 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_clear_search_api_disabled_holo_light.png
vendored
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_clear_search_api_holo_light.png
vendored
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_commit_search_api_holo_dark.png
vendored
Normal file
After Width: | Height: | Size: 597 B |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_commit_search_api_holo_light.png
vendored
Normal file
After Width: | Height: | Size: 616 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.2 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_menu_moreoverflow_normal_holo_dark.png
vendored
Normal file
After Width: | Height: | Size: 144 B |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_menu_moreoverflow_normal_holo_light.png
vendored
Normal file
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 467 B |
After Width: | Height: | Size: 505 B |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 2.0 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_ic_voice_search_api_holo_light.png
vendored
Normal file
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 78 B |
After Width: | Height: | Size: 76 B |
After Width: | Height: | Size: 191 B |
After Width: | Height: | Size: 154 B |
After Width: | Height: | Size: 159 B |
After Width: | Height: | Size: 159 B |
BIN
external/appcompat/res/drawable-hdpi/abc_list_selector_disabled_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 189 B |
BIN
external/appcompat/res/drawable-hdpi/abc_list_selector_disabled_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 189 B |
BIN
external/appcompat/res/drawable-hdpi/abc_menu_dropdown_panel_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_menu_dropdown_panel_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
external/appcompat/res/drawable-hdpi/abc_menu_hardkey_panel_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 875 B |
BIN
external/appcompat/res/drawable-hdpi/abc_menu_hardkey_panel_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 850 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_default_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 316 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_default_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 318 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_disabled_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 316 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_disabled_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 316 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_focused_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 507 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_focused_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 510 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_pressed_holo_dark.9.png
vendored
Normal file
After Width: | Height: | Size: 450 B |
BIN
external/appcompat/res/drawable-hdpi/abc_spinner_ab_pressed_holo_light.9.png
vendored
Normal file
After Width: | Height: | Size: 450 B |
After Width: | Height: | Size: 147 B |
After Width: | Height: | Size: 148 B |
After Width: | Height: | Size: 147 B |