Compare commits

...

1357 Commits

Author SHA1 Message Date
n8fr8 e822160b00 udpate gradle depend version to 0.3.4.8-2 2018-10-11 23:10:09 -04:00
n8fr8 b0e62e58cc updated torrc defaults 2018-10-11 23:09:32 -04:00
n8fr8 43b10491a1 updated bridges 2018-10-11 23:08:38 -04:00
n8fr8 c4cf800488 update build files 2018-10-11 16:51:11 -04:00
n8fr8 0417acf570 update version string to 0.3.4.8-openssl1.0.2p-1 for 2nd release of 0.3.4.8 2018-10-11 16:50:58 -04:00
n8fr8 ff7ecbdba9 update version for gradle lib 2018-10-11 09:27:52 -04:00
n8fr8 3e8e5ace65 update armeabi-v7a binary for 0.3.4.8 2018-10-07 09:40:12 -04:00
n8fr8 0fda8f7779 update x86 binary for 0.3.4.8 2018-10-07 09:35:31 -04:00
n8fr8 6548d3630b update tor binary to 0.3.4.8 w/o dirauth module 2018-10-07 08:55:14 -04:00
n8fr8 d1ee65a795 fixes #7 disable dirauth support for tor client only mode 2018-10-07 08:53:38 -04:00
n8fr8 a2fba85a5b update tor binary to 0.3.4.8 2018-10-07 08:45:09 -04:00
n8fr8 6ef0a45050 update to 0.3.4.8 2018-10-04 11:31:32 -04:00
n8fr8 b82b6a4cb1 update tor binary to tor-0.3.4.7-rc 2018-09-30 18:34:56 -04:00
n8fr8 de522e2ec8 tor-0.3.4.7-rc 2018-09-30 18:34:33 -04:00
n8fr8 0756d058f7 set to libevent 2.0.10-stable 2018-09-30 18:33:21 -04:00
n8fr8 b98cad65d4 set to master for libevent 2018-09-30 14:31:08 -04:00
n8fr8 cd678980f9 remove amazon meek bridge 2018-09-30 14:26:41 -04:00
n8fr8 8a66040c4f updated resource string to 0.3.4.8-openssl1.0.2p 2018-09-13 06:09:05 -04:00
n8fr8 75bd78b287 update gradle archive versioning 2018-09-12 17:14:07 -04:00
n8fr8 fa1ed5505d update Makefile to add specific NDK versioning for openssl 2018-09-12 17:11:31 -04:00
n8fr8 84ab10731c update tor to 0.3.4.8 2018-09-12 17:11:25 -04:00
n8fr8 63656611dc update binaries 2018-09-12 17:09:35 -04:00
n8fr8 84d7745cde update binary constants to trigger upgrade 2018-09-05 21:35:54 -04:00
n8fr8 b0e2d4e63b update library to version 34700 2018-09-05 21:34:25 -04:00
n8fr8 e97d5a1016 update binaries for tor-0.3.4.7-rc 2018-09-05 21:26:20 -04:00
n8fr8 0ba24f8ca4 update tor to tor-0.3.4.7-rc 2018-09-05 21:07:07 -04:00
n8fr8 93663355fa update to ensure compression libs are included in binary 2018-09-05 21:06:09 -04:00
n8fr8 63723e06ef update to 0.3.3.5-rc-3 2018-05-14 12:29:12 -04:00
n8fr8 ae61770960 update loader to handle zipped entries in a zip file (like tor.so in the APK) 2018-05-14 12:28:39 -04:00
n8fr8 45ecbcb298 update gradle build to 0.3.3.5-rc-2 2018-05-14 11:35:36 -04:00
n8fr8 d2342ed7ec add split APK support to the sample 2018-05-14 11:27:01 -04:00
n8fr8 549fb14077 update native loader code 2018-05-14 11:17:14 -04:00
n8fr8 5366016c86 add armeabi-v7a optimized build 2018-05-14 11:17:06 -04:00
n8fr8 de630b45cb add simple sample app 2018-05-14 10:38:29 -04:00
n8fr8 292dcda8e0 add additional ways to load native binaries from native libs 2018-05-14 10:38:10 -04:00
n8fr8 87efd233e5 update gradle version to force refetch 0.3.3.5-rc-1 2018-05-12 00:10:41 -04:00
n8fr8 ff59b5595f updating display string to 0.3.3.5-openssl1.0.2o 2018-05-12 00:05:36 -04:00
n8fr8 9e428e1e09 update archive build version to 0.3.3.5-rc 2018-05-11 23:56:50 -04:00
n8fr8 a46fd778b5 update gradle 2018-05-11 23:55:42 -04:00
n8fr8 db82e6b889 update tor binaries 2018-05-11 23:55:31 -04:00
n8fr8 7a9cbe8fc7 update gradle to 3.1.2 2018-05-11 23:54:59 -04:00
n8fr8 d364a5493c update tor to 0.3.3.5-rc 2018-05-11 23:54:37 -04:00
n8fr8 988a87c8ef upload maven build to 0.3.2.10-dev 2018-05-09 13:03:56 -04:00
n8fr8 51c7a076a5 update makefile to copy into proper native lib location 2018-05-09 12:53:26 -04:00
n8fr8 1b1f64d376 update to use faux .so shared library method for loading tor binary 2018-05-09 12:47:25 -04:00
n8fr8 9abac285db update deploy gradle for 0.3.2.10 2018-04-21 22:14:52 -04:00
n8fr8 808f9594f5 update tor x86 to 0.3.2.10 2018-04-21 22:09:25 -04:00
n8fr8 810eafd6e5 update tor 0.3.2.10 2018-04-21 22:01:26 -04:00
n8fr8 c0bca9f762 Merge branch 'master' of https://github.com/n8fr8/tor-android 2018-04-21 21:46:17 -04:00
Nathan Freitas 9897c1208e
Merge pull request #4 from Unpublished/remove_polipo
remove polipo
2018-04-20 00:20:08 -04:00
Nathan Freitas d194eb8064
Merge pull request #3 from Unpublished/a_few_updates
A few updates
2018-04-20 00:19:57 -04:00
Unpublished 97990103aa update tor to 0.3.2.10, OpenSSL to 1.0.2o and libevent to latest 2.0.* branch 2018-04-02 18:46:45 +02:00
Unpublished 8383c1abbc remove polipo 2018-03-16 17:56:33 +01:00
Unpublished d43fbf96b9 update geoip files to Tor Browser 7.5.1 2018-03-16 10:27:14 +01:00
Unpublished 99eb75aeaf update gradle to 4.5.1
includes speed and memory usage improvements
2018-03-16 10:24:18 +01:00
Unpublished 5e0169d762 remove useless stuff and update android gradle plugin to 3.0.1
put google() on top (google recommends it that way)
2018-03-16 10:24:08 +01:00
n8fr8 93f5239bea update library build to 0.3.1.9b 2018-01-03 22:55:37 -05:00
n8fr8 57ba718e75 update gradle build to 3191 0.3.1.9b
update geoip files (fixes issue with install on some devices)
ensure tor binaries are updated to 0.3.1.9
2018-01-03 22:51:22 -05:00
n8fr8 b4cdbff06b update installer for new geoip uncompressed format 2018-01-03 22:49:40 -05:00
n8fr8 b9a30b71d0 updated binaries for 0.3.1.9 2018-01-03 22:49:06 -05:00
n8fr8 3d0e9a93a6 delete old geoip copmressed files 2018-01-03 22:30:33 -05:00
n8fr8 1ebf0a5c2c update geoip files to latest from Tor Browser 2018-01-03 22:30:18 -05:00
n8fr8 3403b02dd8 Merge branch 'igortoliveira-tor-droid-build' 2017-12-07 12:37:13 -05:00
n8fr8 13d0bddc8c update script to build for x86 and armeabi 2017-12-07 12:36:38 -05:00
n8fr8 fa5aff40cc update some strings in the script 2017-12-07 10:53:51 -05:00
Igor Oliveira 1b1c0b9537 Add android tor build script
It is used to help the developer to fetch and build the app.
Initially, three commands were add:
1. fetch: It fetches the external dependencies
2. build: Build the project in release or debug mode
2017-12-07 13:25:56 -02:00
n8fr8 d64f15533f update gradle version 2017-12-03 16:05:13 +05:30
n8fr8 3528afd114 update constant for tor to 0.3.1.9 2017-12-03 16:02:49 +05:30
n8fr8 3b766484bf update README for 0.3.1.9 2017-12-03 10:04:16 +05:30
n8fr8 fc10fb1a9e update binaries and version to tor 0.3.1.9 2017-12-01 22:39:45 +05:30
n8fr8 ae5420426d remove auto of date patches 2017-11-17 12:37:08 -05:00
n8fr8 b85e0b32f2 remove appcompat library 2017-11-17 12:35:22 -05:00
n8fr8 c2189d4a2c Merge branch 'master' of github.com:n8fr8/tor-android 2017-11-17 12:34:31 -05:00
n8fr8 f15c153bf0 update to support building of aar archives 2017-11-17 12:34:06 -05:00
n8fr8 9b8d8719b6 remove jniLibs dir 2017-11-17 12:33:45 -05:00
n8fr8 673e45d60f remove all JNI code (since VPN isn't included her) 2017-11-17 12:33:29 -05:00
n8fr8 498364c25d update tor binary assets for x86 and armeabi 2017-11-17 12:33:09 -05:00
n8fr8 ffb8dd0b55 update package id to use the word "binary" not "native" 2017-11-17 12:32:24 -05:00
Nathan Freitas cdf3180291
Update README 2017-11-17 12:21:14 -05:00
n8fr8 3d951b9dd8 update path to new assets 2017-11-17 10:59:53 -05:00
n8fr8 f8dbfacdb3 more cleanup, and update of classes for installation 2017-11-17 10:58:42 -05:00
n8fr8 17f03d1f42 rename module to tor-android-binary 2017-11-17 10:45:47 -05:00
n8fr8 7e98222e47 change gitignore to allow for assets 2017-11-17 10:44:42 -05:00
n8fr8 f9c1af9127 removing pdnsd and obfs4proxy binaries 2017-11-17 10:44:29 -05:00
n8fr8 85aaff7152 adding in binary assets for gradle dependency build 2017-11-17 10:43:56 -05:00
n8fr8 7fbd72b0c8 remove pluto/obfs4proxy from build 2017-11-17 10:42:44 -05:00
n8fr8 a27480a208 more cleanup, removal of unused items from orbotservice 2017-11-17 10:40:46 -05:00
n8fr8 ff1979643c cleanup, and update project properties 2017-11-16 13:55:17 -05:00
n8fr8 dd51960b24 update README, clean up old ant and eclipse junk 2017-11-16 13:54:05 -05:00
n8fr8 a810a5add9 more cleanup, and removal of old orbot work 2017-11-16 13:52:37 -05:00
n8fr8 91b73b1f6b remove code only used for Orbot 2017-11-16 13:41:18 -05:00
n8fr8 fce5bdede8 add autopoint to dependencies 2017-11-11 08:56:15 -05:00
Nathan Freitas 72c7e0445c
Merge pull request #97 from SpotComms/padding
Expose *ConnectionPadding
2017-11-11 08:53:21 -05:00
Nathan Freitas 8cf412ad62
Merge pull request #98 from goapunk/add-lzma-zstd-as-dependency
Add lzma and zstd
2017-11-11 08:52:22 -05:00
goapunk c1dfc29e02 Update BUILD instructions
Signed-off-by: goapunk <noobie@goapunks.net>
2017-11-10 18:43:19 +01:00
goapunk 9ca36e1bff Add lzma and zstd
Signed-off-by: goapunk <noobie@goapunks.net>
2017-11-10 18:35:08 +01:00
Tad 6e4b700803 Expose *ConnectionPadding 2017-11-03 14:18:01 -04:00
Nathan Freitas 71e3464358
Merge pull request #94 from Unpublished/fix88
remove some transproxy left overs
2017-11-01 12:22:32 -04:00
Unpublished cbffc1d6ca remove some transproxy left overs
- fix typo to actually show transproxy warning only once (fixes issue #88)
2017-11-01 16:09:25 +01:00
n8fr8 1b904125f3 update CHANGELOG 2017-11-01 09:57:40 -04:00
n8fr8 61aff8ce82 update to 15.5.1-RC-2-multi- 2017-11-01 09:52:34 -04:00
n8fr8 b2de89b2cb fix issue with select apps 2017-11-01 09:51:34 -04:00
n8fr8 5d218adc14 update changelog fo 15.5.1 2017-10-31 11:58:45 -04:00
n8fr8 2c99e9efa4 update version to 15.5.1-RC-1 (1551000*) 2017-10-31 11:51:12 -04:00
n8fr8 c53204f9c3 only refresh VPN settings if app selection changes 2017-10-31 11:11:46 -04:00
n8fr8 5b9eedba1d update VPN app manager to load async, and sort selected to top 2017-10-31 10:21:13 -04:00
n8fr8 1c7eedd4e4 add "no transproxy" warning strings bac kin 2017-10-31 10:00:50 -04:00
Nathan Freitas 19e927effa
Merge pull request #91 from ahf/simpleperf-work
Add `DEBUG` option to external C dependencies
2017-10-31 09:47:50 -04:00
Nathan Freitas 54688e2806
Merge pull request #87 from Akku05/patch-1
for issue #85
2017-10-31 09:47:24 -04:00
Nathan Freitas 14367e0add
Merge pull request #76 from dixidroid/master
fixed crash when an user tries to add the same hidden service port twice
2017-10-31 09:45:19 -04:00
n8fr8 8bbf0ba799 Merge branch 'isolateDest' of https://github.com/SpotComms/orbot into SpotComms-isolateDest 2017-10-31 09:44:08 -04:00
n8fr8 750a282e20 update to latest build tools and gradle
- add new flavordimension tag
2017-10-31 09:42:01 -04:00
Alexander Færøy d591cdb0df Don't strip binaries when doing a debug build.
This patch allows the developer to build the external binaries with
DEBUG=1 which ensures that the final binaries are not stripped from any
debug symbols.

This makes the binaries useful together with Google's simpleperf
profiler for Android.
2017-10-29 22:56:52 -04:00
Alexander Færøy 87edea9ce6 Disable Zstandard for now.
Because of bug #90 the current build process will be broken for people
who have Zstandard headers available on their host system. For people
who do not have the headers available the build system will silently
ignore the `--enable-zstd` and build Tor without support for it.

See: https://github.com/n8fr8/orbot/issues/90
2017-10-29 22:35:54 -04:00
n8fr8 eff2f765db updating this to 15.5.0-RC-1-multi-SDK16
in lite of the feature enhancements and new version of tor
2017-10-25 11:46:15 -04:00
n8fr8 aa9ed7fbe9 update changelog for v15.4.4 2017-10-25 11:44:54 -04:00
n8fr8 0323216569 update to 15.4.4-BETA-2-multi-SDK16 2017-10-25 11:44:00 -04:00
n8fr8 e1ba02a426 improve the layout! 2017-10-25 11:42:36 -04:00
n8fr8 a685bf1488 remove unsupported preferences 2017-10-25 11:42:26 -04:00
n8fr8 091037427a clean up variables and improve how tor process is launched 2017-10-25 11:41:55 -04:00
n8fr8 d24aab8b47 update to Tor 0.3.1.8-openssl1.0.2k 2017-10-25 10:54:10 -04:00
n8fr8 165e95a880 update layout to present "Apps..." option on the main screen 2017-10-25 10:53:30 -04:00
n8fr8 dc7aee1e8e update tor to 0.3.1.8 2017-10-25 10:32:30 -04:00
n8fr8 440290e9d7 show warning about removal of transproxy support
- also make app selection more streamlining
2017-10-25 00:07:11 -04:00
n8fr8 9140ba6a47 we no longer ship xtables, so don't try to install it 2017-10-25 00:06:58 -04:00
n8fr8 f09508def5 remove unused permission 2017-10-24 22:16:01 -04:00
n8fr8 e6003f670f update tor constants to 0.3.1.7-openssl1.0.2k 2017-10-20 00:21:33 -04:00
n8fr8 d86ace63da update version to 15.4.4-BETA-1
update gradle depends
2017-10-20 00:15:24 -04:00
n8fr8 90975fb18a update Makefile for tor compression options 2017-10-20 00:14:57 -04:00
n8fr8 25425a622e remove xtables and iptables (no more root support) 2017-10-17 10:07:54 -04:00
n8fr8 b0b6b68c84 tor-0.3.1.7 update 2017-10-17 09:59:18 -04:00
n8fr8 dceea11782 update version 15430000 aka 15.4.3-RC-1-multi-SDK16 2017-10-16 23:49:03 -04:00
n8fr8 b98a0ff160 simplify bridge selection screen 2017-10-16 23:48:45 -04:00
n8fr8 1e2074c818 update main activity to clean up intents 2017-10-16 23:37:15 -04:00
n8fr8 a5015dc691 update about layout to show obfs4proxy 2017-10-16 23:36:47 -04:00
n8fr8 b322e530da make sure receiver unregisters when destroyed 2017-10-16 23:36:14 -04:00
n8fr8 2bd5614210 update to latest meek amazon bridge:
https://trac.torproject.org/projects/tor/ticket/21918
2017-10-16 23:35:41 -04:00
n8fr8 01176b1d38 big refactor for multiple reasons
- implement LICENSE display in About dialog
- remove root transproxy features
- general crufty stuff cleanup
2017-10-14 12:19:17 -04:00
n8fr8 70693bfc6a update to 4.9 NDK biuld 2017-10-14 12:18:57 -04:00
n8fr8 c4867ba8d2 update Makefile to target NDK 4.9 2017-10-14 12:18:15 -04:00
n8fr8 6ca89b30ba remove old manifest 2017-10-14 12:18:01 -04:00
n8fr8 cc3c4514e8 update license for better Obfs4proxy display 2017-10-14 12:17:48 -04:00
n8fr8 632824bd5f remove RootCommands library as we don't need it now 2017-10-14 12:17:36 -04:00
n8fr8 d190f3a142 add license asset for display in the app 2017-10-14 12:17:08 -04:00
n8fr8 ebc362c4d7 add copyright notice from Obfs4 in the LICENSE file 2017-10-11 23:24:35 -04:00
Akshat Agrawal d94657d1f4 for issue #85
please add this in Build
2017-09-14 19:27:32 +05:30
Tad 18dd53d419 Expose IsolateDestAddr 2017-08-03 11:22:42 -04:00
Igor Koznin 2922e48730 fixed crash when an user tries to add the same hidden service port twice 2017-07-16 15:55:49 +03:00
n8fr8 5b255df92d update target SDK to 23 so we don't have perm downgrade issues 2017-06-09 10:19:47 -04:00
n8fr8 df29aaad8d update CHANGELOG for v15.4.2 2017-06-09 07:54:02 -04:00
n8fr8 e18a7937d2 update tor version string to 0.3.0.8-openssl1.0.2k-1 2017-06-09 07:46:28 -04:00
n8fr8 c874e70fa6 don't build jni/ndk inside of this project 2017-06-09 06:08:05 -04:00
n8fr8 b1ff4d5271 use this as the base manifest 2017-06-09 06:07:43 -04:00
n8fr8 fb7eea9560 where the full permission manifest is defined 2017-06-09 06:07:27 -04:00
n8fr8 132c00a224 add link for builds 2017-06-09 06:07:13 -04:00
n8fr8 fe491b0ec5 don't need specialized menu for this flavor 2017-06-09 04:20:14 -04:00
n8fr8 34043f9ef4 remove version from manifests 2017-06-09 04:12:51 -04:00
n8fr8 674f8ff4aa add min and full perm build flavors 2017-06-09 04:12:40 -04:00
n8fr8 67cb36ef63 new release for minimal perms SDK up to 23 2017-06-09 04:00:10 -04:00
n8fr8 78984bd344 don't show new features that require new perms on < SDK 23 2017-06-09 03:59:50 -04:00
Nathan Freitas 028f76e62e add "minimal permission" build for SDK 16 to 22 devices
- these platforms don't allow for runtime permissions requests and the new permissions we are asking for can be alarming
- we will disable the advanced hidden service features on these devices
2017-06-09 02:01:42 -04:00
Nathan Freitas ad1bcb8d5d update tor repo to 0.3.0.8 2017-06-09 01:36:58 -04:00
Nathan Freitas 2403e8c333 improve reliability of starting and stopping 2017-06-01 16:32:02 -04:00
Nathan Freitas 62fec5343c update to 15.4.1-RC-1-multi (15410000) 2017-06-01 00:32:53 -04:00
Nathan Freitas 5d966447ce update to latest gradle 2017-06-01 00:20:32 -04:00
Nathan Freitas bb8373bdd6 update tor constants 2017-06-01 00:08:17 -04:00
Nathan Freitas 837d812916 update to 0.3.0.7 2017-06-01 00:08:03 -04:00
Nathan Freitas 6d0d4a3d20 update to 15.4.0-beta-2-multi 2017-03-22 13:26:49 -04:00
Nathan Freitas 5b9a34199e update notification styling 2017-03-22 12:58:34 -04:00
Nathan Freitas 248bcc979d update tor constants value for tor 0.2.9.9 2017-03-22 12:49:18 -04:00
Nathan Freitas 7dbae837de modify notification display 2017-03-22 12:47:54 -04:00
Nathan Freitas c0d082ed78 remove bridge logic from activity (now in service) 2017-03-22 12:47:38 -04:00
Nathan Freitas 4af61b609e update logic for bridge selection 2017-03-22 12:47:05 -04:00
Nathan Freitas 301ef3948e add version display to sidebar 2017-03-22 12:46:48 -04:00
Nathan Freitas 11c6abf59d update default built in bridges 2017-03-22 12:46:14 -04:00
Nathan Freitas ea40bb4510 update gradle build settings 2017-03-22 12:46:01 -04:00
Nathan Freitas 9019ceb898 switch back to 0.2.9.9 tor 2017-03-22 12:45:42 -04:00
Nathan Freitas b8aaa2c7d9 update obfs4 bridges to match latest from tor browser 2017-03-19 23:21:49 -04:00
Nathan Freitas 1d3a99ea6c update constants for Tor 0.3.0 RC 2017-03-19 23:15:51 -04:00
Nathan Freitas 128cfe8394 update to latest gradle 2017-03-19 23:11:12 -04:00
Nathan Freitas 6496cb11d6 Update to briges thanks to David Fifield
https://lists.mayfirst.org/pipermail/guardian-dev/2017-March/005209.html
https://lists.mayfirst.org/pipermail/guardian-dev/2017-March/005211.html
2017-03-19 23:10:09 -04:00
Nathan Freitas 4d4fb82419 update to to 0.3-release 2017-03-19 07:55:35 -04:00
Nathan Freitas 7eb7a76bbe update pluto library 2017-03-06 01:17:25 -05:00
Nathan Freitas e801eaa27a update SDK target to 25 2017-03-01 23:08:48 -05:00
Nathan Freitas 673e6c8af7 improve landscape view on smaller screens 2017-03-01 23:08:31 -05:00
Nathan Freitas fc4b0940d9 update tor binary constants 2017-02-28 23:36:47 -05:00
Nathan Freitas ec2f8290f1 update target SDK to 25 2017-02-28 23:36:40 -05:00
Nathan Freitas 894b5817db add tuned landscape view 2017-02-28 23:36:24 -05:00
Nathan Freitas efde11ffc4 update maxfile for tor 0.2.9.9 2017-02-28 23:21:42 -05:00
Nathan Freitas 7bac212290 update to release-0.2.9 2017-02-28 23:01:30 -05:00
Nathan Freitas 44ab128c29 update to OpenSSL_1_0_2k 2017-02-28 23:01:11 -05:00
Nathan Freitas cb2c5fe661 Merge branch 'fix_bug_63' of https://github.com/arrase/orbot into arrase-fix_bug_63
Conflicts:
	app/src/main/java/org/torproject/android/OrbotMainActivity.java
2017-01-14 06:45:43 -05:00
Nathan Freitas 19539620a9 cache circuits by circId 2017-01-14 06:40:25 -05:00
Nathan Freitas c9fc49a2de we want to only look up iptables once per run 2017-01-14 06:40:10 -05:00
Nathan Freitas 26b9199378 Merge branch 'hidden_services' of https://github.com/arrase/orbot into arrase-hidden_services 2017-01-13 22:19:02 -05:00
Nathan Freitas d937b9b958 Merge branch 'update-ant-build' of https://github.com/eighthave/orbot into eighthave-update-ant-build 2017-01-13 22:16:59 -05:00
Nathan Freitas a5744d7958 small chnage to only check for sys iptables once 2017-01-13 22:14:39 -05:00
Nathan Freitas 970710d03c Merge branch 'fixiptables' of https://github.com/Unpublished/orbot into Unpublished-fixiptables 2017-01-13 22:13:10 -05:00
arrase f1a8fbd6b6 isolate 2016-12-08 16:16:47 +01:00
arrase ad68947dd4 fix for bug 63 2016-12-08 16:12:29 +01:00
arrase 500075454a fix typo 2016-12-08 15:45:16 +01:00
arrase 41ebcc5050 Deal with Doze in the less painful way 2016-12-08 15:22:53 +01:00
arrase 2aa2b4c370 New feature added: HidServAuth manager and QR share 2016-12-06 23:10:36 +01:00
arrase 9961ad0b84 adds padding to the hs switch 2016-12-06 15:03:44 +01:00
arrase f3af9daa55 fix: focusable 2016-12-06 00:52:24 +01:00
arrase 4f7271b76e feature added: temporarily disable a hidden service 2016-12-06 00:27:25 +01:00
arrase 94c68579e0 fix untranslated arrays 2016-12-05 22:29:33 +01:00
arrase ba76f574a9 spanish translation 2016-12-05 22:20:47 +01:00
arrase 070d615183 center port text 2016-12-05 21:28:33 +01:00
arrase 8d5df9c9eb better cookie dialog 2016-12-05 21:14:15 +01:00
arrase 2d0437a834 return auth cookie at intent service 2016-12-04 22:12:41 +01:00
arrase 4d0fe27ea3 adds optional HiddenServiceAuthorizeClient option for each hidden service 2016-12-04 21:10:44 +01:00
arrase 54e2e5e372 fix for:
https://github.com/n8fr8/orbot/issues/63
2016-11-29 21:04:41 +01:00
arrase 07532bb04c a better isolation of my changes 2016-11-29 20:33:34 +01:00
arrase ed5e8aca9c fix 2016-11-29 19:09:10 +01:00
Juan Ezquerro LLanes 7a941edeee fix 2016-11-29 11:16:35 +01:00
Juan Ezquerro LLanes dd99f8f0a3 Merge branch 'master' into hidden_services
# Conflicts:
#	app/src/main/java/org/torproject/android/OrbotMainActivity.java
2016-11-29 11:15:27 +01:00
Juan Ezquerro LLanes 3ba1d395ea Merge branch 'master' into hidden_services
# Conflicts:
#	app/src/main/java/org/torproject/android/OrbotMainActivity.java
2016-11-29 11:09:49 +01:00
arrase f6f4d26645 type selection spinner 2016-11-29 01:41:41 +01:00
arrase bb5f323b71 fix string 2016-11-29 00:11:25 +01:00
arrase 8abfba5fe5 fix indent 2016-11-29 00:06:59 +01:00
arrase 155c18235a feedback 2016-11-28 23:58:55 +01:00
arrase f76f58e2bf delete files from storage 2016-11-28 23:43:43 +01:00
arrase f742b270e3 delete by id 2016-11-28 23:32:35 +01:00
arrase 07044f7748 confirm_service_deletion 2016-11-28 23:25:19 +01:00
arrase a0b3d72fa8 fab icon and color 2016-11-28 22:43:11 +01:00
arrase 0bdcab134c get data from cursor 2016-11-28 22:25:59 +01:00
arrase 7a9ad4720b non perfect but better option to start/stop 2016-11-28 22:06:09 +01:00
arrase 9ffb0b3915 bug fix 2016-11-28 01:04:32 +01:00
arrase 0a6d623cf7 bug fix 2016-11-28 00:38:26 +01:00
arrase 9e0bdcf147 bug fix 2016-11-27 23:52:35 +01:00
arrase 238a695c1b bug fix 2016-11-27 23:01:58 +01:00
arrase 799d18cbdc bug fix 2016-11-27 23:00:25 +01:00
arrase 1060c69623 intent api: restore key 2016-11-27 20:57:47 +01:00
arrase bb7ffd9692 intent api: restore key 2016-11-27 20:07:49 +01:00
arrase 5d3b171e21 refactor 2016-11-27 19:19:44 +01:00
arrase f153600dd1 insert or update 2016-11-27 19:12:16 +01:00
arrase 5f02561f9d backup restore 2016-11-27 18:50:20 +01:00
arrase 130b89d846 Write config.json 2016-11-27 17:15:15 +01:00
arrase fca54cfcdc move hidden services to files directory 2016-11-27 16:03:38 +01:00
arrase a49ac3fcc5 padding 2016-11-24 22:45:37 +01:00
arrase b04d0eb17a actionbar permission request flow 2016-11-24 22:22:04 +01:00
arrase 17efdcafa2 check empty names 2016-11-24 03:06:40 +01:00
arrase d28db41782 big refactor 2016-11-24 02:56:11 +01:00
arrase 6658101dd9 more margin 2016-11-24 02:39:41 +01:00
arrase da601d86ef layout fix 2016-11-24 02:35:00 +01:00
arrase 85de87f0a0 layout fix 2016-11-24 02:30:19 +01:00
arrase 872ec40214 restore backup dialog 2016-11-24 02:22:41 +01:00
arrase f79d2d9005 bug fix and refactor 2016-11-23 21:20:50 +01:00
arrase 0b21dfc46a bug fix 2016-11-23 02:06:38 +01:00
arrase 22c573f70a adds AppDataProvider 2016-11-23 01:37:06 +01:00
arrase 0818b0c963 isolate hidden services configuration dirs 2016-11-23 00:12:06 +01:00
arrase 53e53d6fff clean 2016-11-22 23:19:48 +01:00
arrase f030963c9e refactor 2016-11-22 22:37:34 +01:00
arrase 7600b4c58c menu entry for restore backup 2016-11-22 01:24:23 +01:00
arrase 57a7b0dbc7 remove class 2016-11-22 00:45:07 +01:00
arrase 71d24e832b bugfix 2016-11-22 00:22:22 +01:00
arrase dbc7ff3b7d flag for services created by user 2016-11-22 00:12:38 +01:00
arrase f58265ae9f fab icon 2016-11-21 22:46:37 +01:00
arrase 8c7b897cd8 isolated permission request 2016-11-21 22:43:08 +01:00
arrase 8585466c96 adds toolbar 2016-11-21 21:48:45 +01:00
arrase d1884c3349 refactor 2016-11-21 00:04:48 +01:00
arrase e8a5099518 refactor 2016-11-21 00:00:58 +01:00
arrase 0fd59bc78d restore backup from intent 2016-11-20 23:56:17 +01:00
arrase 11e663be67 feedback 2016-11-20 22:51:36 +01:00
arrase 3e6c627712 action moved 2016-11-20 22:31:12 +01:00
arrase 08fb68dcaa action moved 2016-11-20 21:11:17 +01:00
arrase d048cd6fb2 request permissions 2016-11-20 19:03:45 +01:00
arrase 8e9bc2f840 some actions 2016-11-20 04:39:34 +01:00
arrase 8494cfb633 actions dialog 2016-11-20 03:20:14 +01:00
arrase c232e1c92e switch to listview 2016-11-20 01:52:23 +01:00
arrase fa6151cc99 adds card view 2016-11-18 03:16:31 +01:00
arrase e60e82859b margin 2016-11-18 01:26:10 +01:00
arrase 4155246b88 more ps 2016-11-18 01:00:57 +01:00
arrase 5edfc344dc create zip backup from itent 2016-11-18 00:53:49 +01:00
arrase 9bb3e2a7b3 do not allow updates after creation via intent 2016-11-17 22:55:18 +01:00
arrase 356d7235b4 preference migration 2016-11-17 22:10:46 +01:00
arrase c6054bb256 @NonNull 2016-11-17 20:48:20 +01:00
arrase 67d999b831 bug fix 2016-11-17 20:45:40 +01:00
arrase 6b3fc6183e changes for new securety layer 2016-11-17 19:34:08 +01:00
Juan Ezquerro LLanes 21acd568b1 delete layout 2016-11-17 16:51:39 +01:00
Juan Ezquerro LLanes c3d7743fda save checkbox value 2016-11-17 16:33:07 +01:00
Juan Ezquerro LLanes 4fea84cc5f allow managed backups field 2016-11-17 16:21:28 +01:00
Juan Ezquerro LLanes e152dd3810 update new onions 2016-11-17 15:43:50 +01:00
Juan Ezquerro LLanes 22de2eb269 add a note for later 2016-11-17 15:06:17 +01:00
Juan Ezquerro LLanes 3b63e31c10 no longer needed 2016-11-17 14:02:14 +01:00
Juan Ezquerro LLanes 8b3a26f297 no longer needed 2016-11-17 13:45:31 +01:00
Juan Ezquerro LLanes ff47ccd340 setup config file 2016-11-17 13:42:50 +01:00
Juan Ezquerro LLanes d1c117adb4 revert 2016-11-17 12:04:44 +01:00
Juan Ezquerro LLanes 471c5ac5fb revert 2016-11-17 12:02:40 +01:00
Juan Ezquerro LLanes 3f384c060b wait for hostname 2016-11-17 11:38:23 +01:00
Juan Ezquerro LLanes e776e12492 Update UI for onion port 2016-11-17 10:14:01 +01:00
Juan Ezquerro LLanes b10387bb07 fix 2016-11-17 09:51:33 +01:00
Juan Ezquerro LLanes 1af2fcb91f a better name for that 2016-11-17 09:49:39 +01:00
Juan Ezquerro LLanes ebc736be8d option for map a local port to different onion port number 2016-11-17 09:48:27 +01:00
arrase 94a3b0b107 adds optional boolean to the intent 2016-11-17 04:17:08 +01:00
arrase 0131cf20f0 adds optional string to the intent 2016-11-17 04:09:45 +01:00
arrase 3f7435c90e Hidden Service dialog 2016-11-17 02:57:37 +01:00
arrase 135e6c4ae0 Move layout 2016-11-17 02:35:38 +01:00
arrase 26d938126f New hidden services management screen and database 2016-11-17 02:27:48 +01:00
Nathan Freitas ff61d66bcf make sure tor network is re-enabled when user tries to restart 2016-11-16 07:52:21 -05:00
Nathan Freitas d09c2b59b4 put short status display back on main screen 2016-11-16 07:52:06 -05:00
Nathan Freitas 45105572d9 if there is no status intent yet, then create one, and don't NPE 2016-11-16 07:50:40 -05:00
Nathan Freitas 84d6a767ae update for RC8 multi 2016-11-07 00:27:15 -05:00
Nathan Freitas 34079c7a15 15.2.0-RC-8-multi 2016-11-07 00:26:11 -05:00
Nathan Freitas 540db0f00b revert back to NDK toolchain 4.8 since it is more stable 2016-11-07 00:23:19 -05:00
Nathan Freitas 73e9ac820e just go back to basic arm and x86 builds
other builds and new ndk toolchain is causing crashes
2016-11-07 00:19:43 -05:00
Nathan Freitas fd92359ccd improvements to app selection UI for better layout and error handling 2016-11-07 00:19:06 -05:00
Nathan Freitas 7bbfd4eff8 tune line length here for other locales 2016-11-06 23:59:12 -05:00
Nathan Freitas e7443890c5 improve UI setup here for list to reduce NPE crashes 2016-11-06 23:58:50 -05:00
Nathan Freitas dedf213028 make sure browser intent exists before you open it
for some reason, we see a lot of random crashes here
do people really run devices without browsers on them?
2016-11-06 23:57:37 -05:00
Nathan Freitas 5c4d146f0e update changelog for RC7 2016-11-04 07:51:03 -04:00
Nathan Freitas b147d5d21e update tor binary flag for new SSL 2016-11-04 00:02:15 -04:00
Nathan Freitas eb45d61dc9 update to 15.2.0-RC-7-multi for new OpenSSL 1.0.2j 2016-11-03 22:55:03 -04:00
Nathan Freitas 7dd82aedd8 updated OpenSSL string in about UI to 1.0.2j 2016-11-03 22:54:04 -04:00
Nathan Freitas 693bc9e362 update openssl to OpenSSL_1_0_2j 2016-11-03 21:39:26 -04:00
Nathan Freitas 523b7b0eb7 update for arm-x86 joint build 15.2.0-RC-6-multi 2016-11-03 17:30:33 -04:00
Nathan Freitas 0efbb1729e update for new joint arm+x86 build release 2016-11-03 17:28:01 -04:00
Nathan Freitas 2a0145693d update changelog for RC5 2016-11-03 12:50:45 -04:00
Nathan Freitas 24dee21b96 15.2.0-RC-5 notification fixes! 2016-11-03 12:49:54 -04:00
Nathan Freitas ba212a447c make sure notification is shown immediately while starting up 2016-11-03 12:45:00 -04:00
Nathan Freitas 45f7ae23c6 expanded notifications should be on by default for SDK 16+ 2016-11-03 12:44:41 -04:00
Nathan Freitas 204b3f0441 update changelog for RC4 2016-11-03 12:24:12 -04:00
Nathan Freitas 6b2679cac1 update manifest for 15.2.0-RC-4 2016-11-03 12:23:22 -04:00
Nathan Freitas 89f3fcacf2 make sure the binaries are cleanly installed (bump version number) 2016-11-03 12:21:54 -04:00
Nathan Freitas f5f544c2d3 update to latest badvpn for new torservice package 2016-11-03 12:19:24 -04:00
Nathan Freitas f21f14bf5b make sure tun2socks is loaded properly 2016-11-03 12:18:20 -04:00
Nathan Freitas 460f365b4a make sure Tun2Socks native library gets loaded 2016-11-03 12:17:55 -04:00
Nathan Freitas 5927fb0123 update the build to target all arm types 2016-11-03 12:17:23 -04:00
Nathan Freitas 5ac21be984 use PIEFLAGS 2016-11-03 11:00:12 -04:00
Nathan Freitas 0050bfeb95 update JNI targets 2016-11-03 10:38:10 -04:00
Nathan Freitas 1ae0c71ac7 fixes github #59 for crash on app list UI 2016-11-03 10:36:39 -04:00
Nathan Freitas e9ece471b7 update gitignore to ignore binaries 2016-11-02 15:00:28 -04:00
Nathan Freitas 37cd0241e5 don't need to store this binary in the repo 2016-11-02 15:00:08 -04:00
Nathan Freitas 0d00c06450 update changelog for rc3 2016-11-02 13:48:52 -04:00
Nathan Freitas 354ce24283 update manifest to 15.2.0-RC-3 2016-11-02 13:47:41 -04:00
Nathan Freitas 41c9d2cd5d lock in app item list row height 2016-11-02 12:07:57 -04:00
Nathan Freitas 52e7ad3bf0 add RootCommands library back in for shell and root shell exec 2016-10-31 15:52:03 -04:00
Nathan Freitas af69041811 remove old superuser-commands 2016-10-31 06:54:15 -04:00
Nathan Freitas 5d52f04556 update to 15.2.0-RC-2 2016-10-29 11:42:50 -04:00
Nathan Freitas dacf2ef9f5 cleanup resources and unused drawables 2016-10-29 11:42:27 -04:00
Nathan Freitas d25b3d5de8 tweak root preferences 2016-10-29 11:33:45 -04:00
Nathan Freitas 4d66133894 remove unused files 2016-10-29 11:33:37 -04:00
Nathan Freitas ef57341c6e re-enabled root permission request and shell 2016-10-29 11:33:26 -04:00
Nathan Freitas f4638873f8 quick fixes for app UI and VPN dialog 2016-10-29 11:20:51 -04:00
Nathan Freitas af8a867bfe update changelog for 15.2.0 RC 1 2016-10-28 12:03:00 -04:00
Nathan Freitas 9077bd236d update to 15.2.0-RC-1 and SDK min of 16 2016-10-28 11:45:43 -04:00
Nathan Freitas 085ddb3745 make ndk-build work again 2016-10-24 21:58:30 -04:00
Nathan Freitas 290059dfb9 fix string path in build script 2016-10-24 21:57:07 -04:00
Nathan Freitas dec3d9530d add proguard rules to optimize orbot binary 2016-10-24 21:55:01 -04:00
Nathan Freitas 160383ba6d update for gradle 2016-10-24 21:54:54 -04:00
Nathan Freitas b4906c09fd update CHANGELOG 15.2.0-beta-2 2016-10-24 16:53:06 -04:00
Nathan Freitas 12b1198b4b update to 15.2.0-beta-2 2016-10-24 16:51:52 -04:00
Nathan Freitas 345aea9ad2 move the controls to the left sidebar; improve VPN mode more 2016-10-24 16:50:59 -04:00
Nathan Freitas c76d935cc3 improve bridge dialog display 2016-10-24 15:31:41 -04:00
Nathan Freitas ac037a9dc5 fix browser install request 2016-10-24 15:00:47 -04:00
Nathan Freitas 28f1dbf7dd make the VPN/apps mode have a better UI flow 2016-10-24 14:30:46 -04:00
Nathan Freitas c1ffdbb4e7 put browser button back in 2016-10-24 10:50:14 -04:00
Nathan Freitas 518f70d872 comment out notification actions for now 2016-10-24 10:49:47 -04:00
Nathan Freitas 0bb8e846ad update Tor version to 0.2.8.9 2016-10-24 10:40:38 -04:00
Nathan Freitas 2125db1504 make start and stop of Tor service all hanlded through executor 2016-10-21 14:53:58 -04:00
Nathan Freitas d8648a5864 remove meek-google as an option 2016-10-21 14:41:06 -04:00
Nathan Freitas 2676cd3fc6 update resource to make smaller 2016-10-21 14:39:04 -04:00
Nathan Freitas 3ee6b2a6b5 don't fail on lint for release builds 2016-10-20 10:50:19 -04:00
Nathan Freitas e3d7ca28a0 update tor 0.2.8.9 2016-10-20 10:30:22 -04:00
Nathan Freitas 126c82adc2 update changelog with tag hash 2016-10-17 11:04:54 -04:00
Nathan Freitas bade4fe66d update changelog 2016-10-13 15:36:23 -04:00
Nathan Freitas abaa3f83fc 15.2.0-beta-1 2016-10-13 15:35:23 -04:00
Nathan Freitas 61affce706 Merge pull request #55 from n8fr8/dev_gradle
Dev gradle
2016-10-13 15:33:32 -04:00
Nathan Freitas cd8b549d1a add the compiled tun2socks lib for devs who just want to work on UI 2016-10-13 15:31:59 -04:00
Nathan Freitas 3c181bc6f2 add the proguard rules 2016-10-13 15:31:53 -04:00
Nathan Freitas 9948975d4f we aren't going to show a notification light 2016-10-13 15:31:34 -04:00
Nathan Freitas 50f33c9ca2 make sure we set VPN mode properly before we launch the service 2016-10-13 15:31:12 -04:00
Nathan Freitas 9de4f54e6b using compat builder for notifications 2016-10-12 16:58:56 -04:00
Nathan Freitas 330860216a improve the code for launching the pdnsd daemon 2016-10-12 16:46:53 -04:00
Nathan Freitas da0fb101f3 multiple fixes to re-enable VPN mode and pdnsd daemon 2016-10-12 16:01:09 -04:00
Nathan Freitas ca238c6521 continued re-integration of VPN feature 2016-10-04 23:46:17 -04:00
Nathan Freitas 1614921e34 clean pdnsd binaries from libs in Makefile 2016-10-04 23:45:47 -04:00
Nathan Freitas 1db567698d continue to migrate service and VPN code 2016-09-29 12:00:57 -04:00
Nathan Freitas d5f2c063b5 remove vpn code that is now in the service module 2016-09-29 12:00:40 -04:00
Nathan Freitas 34c7cfd2e1 modify jni build inclusion 2016-09-29 12:00:26 -04:00
Nathan Freitas 268002bc75 fix build scripts for new paths 2016-09-29 12:00:09 -04:00
Hans-Christoph Steiner 1e93ef4606 improved javadoc of start process 2016-09-26 21:06:22 +02:00
Hans-Christoph Steiner 610abf5b79 fix ant builds by using frozen SDK
legacy!  This uses a copy of the Android SDK that is frozen to the last
version that works with ant builds.
2016-09-26 21:06:12 +02:00
Nathan Freitas 6333a45f69 update gitignore to handle orbotservice binary libs 2016-09-26 12:04:16 -04:00
Nathan Freitas d2cf5453e2 move jni code and VPN logic from app module to service 2016-09-26 12:03:30 -04:00
Nathan Freitas 9f61afcdef improve tor service event handling and display 2016-09-26 11:39:07 -04:00
Nathan Freitas ebc046e92d remove littleproxy reference (for now!) 2016-09-25 19:10:38 -04:00
Nathan Freitas 7c3a16f86f we don't need a separate service for the VPN 2016-09-25 19:10:01 -04:00
Nathan Freitas 7950cac801 remove dated information in the BUILD file 2016-09-25 18:53:30 -04:00
Nathan Freitas 9afbb0007f update gradle props and ignore files we don't want in repo 2016-09-25 18:51:22 -04:00
Nathan Freitas 7284a5e1fb make sure Tor start/stop work
- use Process instance instead of processID lookup
- reply on Tor's HALT command
2016-09-25 18:49:32 -04:00
Nathan Freitas 55e08b9de4 tweak homescreen layout and strings 2016-09-25 18:49:20 -04:00
Nathan Freitas d56fdb20aa renable polipo 2016-09-23 11:01:20 -04:00
Nathan Freitas 90d77ce4be modify imports 2016-09-19 16:11:44 -04:00
Nathan Freitas 1ffea580c4 udpate resource paths 2016-09-19 16:11:30 -04:00
Nathan Freitas bab79046b2 target API 14 2016-09-19 16:10:13 -04:00
Nathan Freitas aba7f8e40e update gitignores for gradle 2016-09-19 16:09:58 -04:00
Nathan Freitas 912cb74243 update tor to 0.2.8.7 2016-09-19 16:09:10 -04:00
Nathan Freitas 5a4e00a186 fix paths for new module layout 2016-09-19 16:08:31 -04:00
Nathan Freitas ecf90235af remove old binaries 2016-09-19 16:08:15 -04:00
Nathan Freitas 10f1ade6e4 update makefile and add new patch 2016-09-19 16:06:34 -04:00
Nathan Freitas b52023a502 move assets to service project 2016-06-29 10:49:18 -04:00
Nathan Freitas 549399b82c launch default activity from notification 2016-06-29 10:48:59 -04:00
Nathan Freitas 6d0fdbba10 update gitignore for gradle project 2016-06-29 10:10:14 -04:00
Nathan Freitas 56683a39b3 add pdnsd library in for vpn service DNS! 2016-06-29 10:09:47 -04:00
Nathan Freitas 29fd07ac34 remove patches from here, moved to external 2016-06-29 10:08:44 -04:00
Nathan Freitas 0f00e12cdc move patches to external since that is what it is applied to (external code) 2016-06-29 10:01:42 -04:00
Nathan Freitas 54b3349344 remove redundant code from old ant build format (not in gradle modules) 2016-06-29 09:54:03 -04:00
Nathan Freitas 18682e4b97 big check-in of major gradle refactor; now building and running!
VPN features are disabled for now
2016-06-29 00:20:20 -04:00
Unpublished 639bc3241e fix usage of system iptables 2016-06-24 00:49:34 +02:00
Nathan Freitas bdb58933b2 update translations 2016-04-01 09:23:41 -07:00
Nathan Freitas 40233543d3 Merge branch 'master' of github.com:n8fr8/orbot 2016-03-22 16:20:26 -04:00
Nathan Freitas 6e45c07c7d Merge pull request #32 from ghost/patch-1
Start meek transport whe using custom meek bridges
2016-03-22 16:20:14 -04:00
srvetus 21c5bcc7e7 Remove typo 2016-03-20 03:47:50 +00:00
srvetus 5adcbecf4c Start the meek transport for custom meek bridges 2016-03-20 03:45:11 +00:00
Nathan Freitas 8e7a8111a9 update with commit tag for v15.1.3 beta 1 2016-03-09 15:50:07 -05:00
Nathan Freitas d6eccc3138 update changelog 2016-03-09 15:35:55 -05:00
Nathan Freitas 6452075d46 15.1.3-beta 2016-03-09 14:51:25 -05:00
Nathan Freitas 9097b79a7e Move OrbotVPNService to a Manager and consolidate services
This allows for the VPN service to be set in the foreground with the TorService
and reduce the chance to be killed due to lack of memory
2016-03-09 14:43:01 -05:00
Nathan Freitas 2973eaccd8 change how we look for processes to kill. fixes tor trac #18502 2016-03-08 13:05:35 -05:00
Nathan Freitas cec82ec0de VPN code cleanup and ensure DNS is listening on all interfaces 2016-03-07 14:02:07 -05:00
Nathan Freitas 4892f93531 DNS lookup through pdnsd should loop back into Tor DNS port
While the TCP query to Google DNS before provided more robust DNS services,
it could still leak outside the VPN service based on platform version
and other circumstances. By using PDNSD as a proxy back into Tor's limited DNS
service, we ensure DNS does not leak.
2016-03-07 13:52:52 -05:00
Nathan Freitas beb3bc8a4a update changelog for 15.1.2 2016-02-24 10:01:28 -05:00
Nathan Freitas 204733a245 update to 15.1.2 2016-02-23 23:23:32 -05:00
Nathan Freitas 57855932f4 move to using meek_lite mode from obfs4client and update/improve proxying code 2016-02-23 23:21:02 -05:00
Nathan Freitas 66a5b7ad26 remove meek-client and use obfs4 meek_lite mode instead 2016-02-23 23:20:21 -05:00
Nathan Freitas 3eb70b8b9a switch back to Android-16 as target 2016-02-23 23:19:52 -05:00
Nathan Freitas 44dae6bc1d 15.1.1 PIE Android 16+ 2016-02-22 16:02:56 -05:00
Nathan Freitas f9f33a171c set this to Android 16 SDK for PIE executable
We'll use a different build for non-PIE < Android-16
2016-02-22 15:59:35 -05:00
Nathan Freitas e9d28a4445 handle NPE better for dev.gp.info #6686
in some cases the connection becomes null while you are interacting with it
2016-02-22 15:07:40 -05:00
Nathan Freitas 00f82f0913 update git submodules 2016-02-22 13:19:15 -05:00
Nathan Freitas 9a8e4dd80f update to orbot ant build version 2016-02-22 12:33:12 -05:00
Nathan Freitas 80e8c47e62 peg to last ant compat release 2016-02-22 12:09:37 -05:00
Nathan Freitas 043b151fb1 Merge branch '1984-bridges' of https://github.com/mrphs/orbot into dev_nima_1984_bridges 2016-02-22 11:05:37 -05:00
Nima Fatemi 5eb628b03a bridges dedicated to GeorgeTorwell 2016-02-09 22:16:52 +00:00
Nathan Freitas c8584f6ec9 update superuser commands library 2016-02-02 12:23:58 -05:00
Nathan Freitas bac16a57fc enable backwards compat to Android SDK 10 (Android 2.3.*) 2016-02-02 12:22:24 -05:00
Nathan Freitas e1d46c49b9 reset minSDK to 10 2016-02-02 11:35:02 -05:00
Nathan Freitas 3cc2439b5f update license to include badvpn 2016-01-29 17:05:29 -05:00
Nathan Freitas 9c82aa85d0 fix escaping of apostro 2016-01-29 14:27:14 -05:00
Nathan Freitas eba95b2941 update strings and descs from transifex
(somehow french got left out before!)
2016-01-29 14:05:13 -05:00
Nathan Freitas 8047ec67d0 update the log 2016-01-28 09:27:04 -05:00
Nathan Freitas 91225ab053 15.1.0-RC-7 2016-01-28 09:25:41 -05:00
Nathan Freitas fd45fa38f6 enable TransProxy and DNSPort by default without root
- some users run their own iptables transproxy scripts with AFWall and need Orbot to have these ports open by default. There is no risk to enable them by default, so we'll them on for now, and think about how to better make this a user option in the future.
2016-01-28 09:24:07 -05:00
Nathan Freitas b76a2504bb update for RC-6...final?! 2016-01-27 10:15:24 -05:00
Nathan Freitas a8dbdacbcb 15.1.0-RC-6 2016-01-27 10:14:03 -05:00
Nathan Freitas eea9579ea3 Merge pull request #27 from eighthave/master
make-release-build tweaks
2016-01-27 10:02:08 -05:00
Hans-Christoph Steiner 226d92ebcd make-release-build: env vars need to be first on the command line 2016-01-27 13:31:09 +01:00
Hans-Christoph Steiner 20c16aec68 ignore more files generated by the build 2016-01-27 13:31:09 +01:00
Hans-Christoph Steiner 9883a8931a faketime is only needed when building, not when cleaning
cleaning while running faketime will just slow it down or cause weird
behavior.
2016-01-27 09:43:56 +01:00
Nathan Freitas 1839b8f0b9 add-in missing "break" for Meek Google 2016-01-26 18:31:04 -05:00
Nathan Freitas eaa2dde611 explicitly indicate we are building armeabi 2016-01-26 18:29:37 -05:00
Nathan Freitas 1b76c3636e add make calls for both armeabi and x86 with clean 2016-01-26 18:21:05 -05:00
Nathan Freitas 75eb36edb6 remove lib binaries 2016-01-26 18:20:56 -05:00
Nathan Freitas 3be93a0eaf only build for x86 and armeabi 2016-01-26 18:20:45 -05:00
Nathan Freitas 2ae22ec3e4 update changelog for v15.10 RC-5 2016-01-26 03:43:30 -05:00
Nathan Freitas 33fa19f989 15.1.0-RC-5 2016-01-26 03:42:24 -05:00
Nathan Freitas 9b9bab3a75 Merge branch 'new-bridges' of https://github.com/mrphs/orbot into mrphs-fixes 2016-01-25 23:53:14 -05:00
Nathan Freitas 25150a329c Merge branch 'bug-18148' of https://github.com/mrphs/orbot into mrphs-fixes 2016-01-25 23:52:59 -05:00
Nathan Freitas da7eb961f1 small fixes to VPN service port setup to ensure proper setup 2016-01-25 23:44:44 -05:00
Nima Fatemi ec6083fcd7
add 'Mosaddegh','Azadi','MaBishomarim' & 'JonbesheSabz' to default bridges 2016-01-26 04:31:37 +00:00
Nima Fatemi 8a00ab1f02
remove extra chars from bridge line. fixes #18148 2016-01-26 04:19:44 +00:00
Nathan Freitas d58555a358 one last changelog fix... argh! 2016-01-25 22:46:21 -05:00
Nathan Freitas 1ba37133c5 fix the changelog 2016-01-25 22:45:48 -05:00
Nathan Freitas 65c3fb1b3f update CHANGELOG 2016-01-25 22:44:42 -05:00
Nathan Freitas 80491ea95b 15.1.0-RC-4 2016-01-25 22:13:12 -05:00
Nathan Freitas c235e3ed6b tweak the string about bridges a little bit 2016-01-25 22:12:31 -05:00
Nathan Freitas 2a728140b4 choose up to 2 bridges from default list randomly 2016-01-25 22:09:26 -05:00
Nathan Freitas 1dbe5eac55 make bridge allocation shuffle randomly to distribute load
inspired by this work: https://trac.torproject.org/projects/tor/ticket/18113
we don't want all users to start with the same bridges in the same order
2016-01-25 15:45:36 -05:00
Nathan Freitas ba835599f7 this should be kbps in fact 2016-01-25 15:45:29 -05:00
Nathan Freitas cf1a644c19 add support for loading default bridges from asset file 2016-01-25 12:50:03 -05:00
Nathan Freitas b3a953ba64 15.1.0-RC-3 2016-01-25 12:07:47 -05:00
Nathan Freitas 03222f2d27 update binaries 2016-01-25 11:57:28 -05:00
Nathan Freitas 4913b0ca32 better implementation of stpcpy for pre-Android 21 NDK 2016-01-25 11:57:16 -05:00
Nathan Freitas ab8709dd2e add orfox icon to replace orweb 2016-01-25 11:44:33 -05:00
Nathan Freitas 0669addd49 re-add appcompat, update to latest, move to Android 23 to build
- this is required for latest appcompat, and to address the bug
with the white-on-white spinner popup error
2016-01-25 11:28:33 -05:00
Nathan Freitas c05d8e7b43 remove appcompat, and just support support-v4 2016-01-25 10:43:34 -05:00
Nathan Freitas 0bbe5d5f51 Merge pull request #21 from eighthave/master
work towards a reproducible build
2016-01-22 19:07:28 -05:00
Hans-Christoph Steiner 735b2985f7 make-release-build: remove faketime from `ant release`
It is too problematic and there are other ways to make those final parts of
the APK reproducible.
2016-01-22 23:25:55 +01:00
Hans-Christoph Steiner 461e35dc51 make-release-build: freeze time when running ndk-build
This aides reproducibility.
2016-01-22 23:25:55 +01:00
Hans-Christoph Steiner 5c86b5cc7e make-release-build: make sure ndk-build can be found 2016-01-22 23:25:55 +01:00
Hans-Christoph Steiner 58d53ea347 make-release-build: use strip-nondeterminism to get reproducible build
strip-nondeterminism sets the timestamps in the zip based on the timestamp
of the git commit.
2016-01-22 23:25:54 +01:00
Hans-Christoph Steiner 5ce1f5f91a make-release-build: make sure tag signers exist before verifying tags 2016-01-22 23:25:54 +01:00
Hans-Christoph Steiner 72eab39a95 build jtorctl directly, using a symlink to point to its source code
This builds the jtorctl java with the rest of Orbot's java.  The process of
making a jar breaks when external/Makefile is run with frozen time using
faketime.  That is needed to get reproducible native bits.
2016-01-22 23:25:54 +01:00
Hans-Christoph Steiner a6ac016a84 use symlinks to provide alternate folders for Hebrew and Indonesian
These two languages must be included twice (iw/he and id/in)

For a full discussion of why, see:
https://gitlab.com/fdroid/fdroidclient/issues/139
https://stackoverflow.com/questions/5074769/cyanogenmod-translate-a-project/8470980#8470980
https://stackoverflow.com/questions/8393771/android-not-using-finding-my-hebrew-localization
2016-01-22 23:25:54 +01:00
Nathan Freitas 5fb4e9b80e update ndk-builds to NDK 4.8 toolchain 2016-01-21 14:56:35 -05:00
Nathan Freitas 6eb0a93dd8 improvements to Locale changing in app 2016-01-20 16:52:59 -05:00
Nathan Freitas 9af00fe263 change VPN mode DNS to use Google's 8.8.8.8 2016-01-20 14:11:48 -05:00
Nathan Freitas 3c4864b843 update changelog 2016-01-16 00:10:57 -05:00
Nathan Freitas 9ed17b551c 15.1.0-RC-2 2016-01-15 23:49:59 -05:00
Nathan Freitas 6ffea9e38f add ability to check if configured SOCKS port is available
Samsung devices like to use 9050 (Since their hardware model is i9050!). Tor likes to use port 9050. This new code looks to see if port 9050 is available, and if not, change the setting to 'auto' so Tor can find another port.
2016-01-15 23:43:54 -05:00
Nathan Freitas b4ca30b811 add new feature graphic for google play 2016-01-15 23:43:40 -05:00
Nathan Freitas fd5071feab update CHANGELOG for v15.1.0-RC-1 2016-01-15 15:25:30 -05:00
Nathan Freitas f541e9ffe1 15.1.0-RC-1 2016-01-15 14:25:13 -05:00
Nathan Freitas 324036798b clean shouldn't clean assets, so we can easily builds for multiple platforms 2016-01-15 14:22:47 -05:00
Nathan Freitas 76b21714d8 update pdnsd and tun2socks to Android-16
add stpcpy function not present before Android-21
2016-01-15 12:50:38 -05:00
Nathan Freitas a0b0928561 15.1.0-BETA-2 2016-01-13 09:46:54 -05:00
Nathan Freitas 8f7165ce57 fixes for settings processing and QRCode scanning of bridges
- support new JSON array form bridges.torproject.org
- only enable TransProxy and DNSPort settings if the user enables transproxy
2016-01-12 23:57:37 -05:00
Nathan Freitas 4b31ef849a 15.1.0-BETA-1 2016-01-11 17:13:43 -05:00
Nathan Freitas 64493f73cd update gitignore 2016-01-11 17:12:42 -05:00
Nathan Freitas 39244a613a fix the ability to select per app VPN routing 2016-01-11 17:11:58 -05:00
Nathan Freitas f41d46960c Merge branch 'master' of github.com:n8fr8/orbot 2016-01-07 11:00:56 -05:00
Nathan Freitas 0081d005e6 remove Pluto Go building form this Makefile for now 2016-01-07 10:59:58 -05:00
Nathan Freitas 2288210cc6 update to OpenSSL's github mirror 2016-01-07 10:44:12 -05:00
Nathan Freitas 4af6bb7d3b Merge pull request #17 from PanosSakkos/patch-1
[Trivial] Fixed broken reference to Main Activity in  WALKTHROUGH
2016-01-07 01:41:20 -05:00
Nathan Freitas c687bc934e 15.1.0-ALPHA-3 2016-01-07 01:20:33 -05:00
Nathan Freitas dfc5101d1d update tfx config 2016-01-07 01:09:09 -05:00
Nathan Freitas 52acf68ed4 move "World" string to resource 2016-01-07 01:06:43 -05:00
Nathan Freitas eaf49da89a update store and app translations 2016-01-07 01:02:32 -05:00
Nathan Freitas 3b41365708 allow country exit node select to persist 2016-01-07 00:59:34 -05:00
Nathan Freitas b2081789f5 add initial support for easy exit country selection 2016-01-06 23:42:08 -05:00
Nathan Freitas 66f65d00fe 15.1.0-ALPHA-2 2016-01-06 16:19:36 -05:00
Nathan Freitas 3691ccae3a native binary asset building fixes
move pdnsd exec to assets
2016-01-06 16:14:08 -05:00
Nathan Freitas d839b154a1 fixes for VPN service UI to work on Android6 2016-01-06 16:13:56 -05:00
Nathan Freitas fe9119d66a update jenkins-build script 2016-01-04 02:32:12 -05:00
Nathan Freitas f36965211e add code to kill pdnsd daemon when VPN is stopped 2016-01-04 02:28:31 -05:00
Nathan Freitas f441736cd9 update OpenSSL string to show 1.0.1q 2016-01-04 01:46:55 -05:00
Nathan Freitas 4098e8edf2 update to 15.1.0-ALPHA-1 2016-01-04 01:44:36 -05:00
Nathan Freitas f1fcec3d45 add support for PDNSD DNS Daemon for VPN DNS resolution
Tor's DNS port doesn't work well with the VPN mode, so we
will use PDSND to resolve DNS over Tor using OpenDNS. This is
a hack/solution that we learned from SocksDroid.
2016-01-04 01:38:36 -05:00
Nathan Freitas 8d8fe0ceb4 updates to improve VPN support 2015-12-30 13:21:33 -05:00
Nathan Freitas 699b60db56 add linancillary for badvpn tun2socks update for DNS 2015-12-30 09:52:56 -05:00
Nathan Freitas 9b2cc52f5a update badvpn binaries 2015-12-16 11:22:30 -05:00
Nathan Freitas 6dc8cf6980 update makefile for new pluto builds 2015-12-16 11:22:21 -05:00
Nathan Freitas 02612366ca change this to "browser button" 2015-12-16 10:52:18 -05:00
Nathan Freitas 3462cbd46e small updates to icon and strings 2015-12-16 10:40:48 -05:00
Nathan Freitas bb55557b44 update installer to get PLUTO binaries from assets 2015-12-16 10:27:06 -05:00
Nathan Freitas 7d213e24d4 delete pluggable transport binaries here; build with Makefile
use the external/pluto project
2015-12-16 10:26:41 -05:00
Nathan Freitas 6cf120185f update makefile to support PLUTO builds 2015-12-16 10:26:28 -05:00
Nathan Freitas 871701e9d6 add link for new icon 2015-12-16 10:01:33 -05:00
Nathan Freitas 51205b8222 update for Orfox 2015-12-16 10:01:24 -05:00
Nathan Freitas 6fb4f0c337 update binaries 2015-12-16 10:00:28 -05:00
Nathan Freitas 317405dbb3 update external versions of Tor 0.2.7.6 and OpenSSL 1.0.1q 2015-12-16 10:00:15 -05:00
Nathan Freitas 0a5dd086cd use a browser constant here, with the new constant being Orfox 2015-12-16 10:00:03 -05:00
Nathan Freitas c54ab188b0 deleted these graphics 2015-12-16 09:59:24 -05:00
Nathan Freitas 534c2fb36d update style, icons and graphics 2015-12-16 09:59:00 -05:00
Panos Sakkos cd0bfd3a05 [Trivial] Fixed broken reference to Main Activity in WALKTHROUGH 2015-10-25 22:51:43 +01:00
Nathan Freitas 7dc30f9d18 update to 15.0.1-RC-3 with openssl 1.0.2a
also this build adds x86 back in
2015-07-14 11:04:44 -04:00
Nathan Freitas 865582ec3d move back to 1.0.2a for x86_64 support 2015-07-14 10:28:09 -04:00
Nathan Freitas 0cde639a1c fix translations for common issues 2015-07-13 23:28:44 -04:00
Nathan Freitas 2acdd29634 update localizations for strings and app description 2015-07-13 23:24:07 -04:00
Nathan Freitas 0b6796c951 update changelog 2015-07-13 23:15:02 -04:00
Nathan Freitas 30e37993bb 15.0.1-RC-2-PIE 2015-07-13 23:13:50 -04:00
Nathan Freitas 256ecc4df0 update tor version constant to 0.2.6.10 2015-07-13 23:12:10 -04:00
Nathan Freitas 6aa5ca56b5 update to tor 0.2.6.10 2015-07-13 23:11:45 -04:00
n8fr8 2459aa5151 Merge pull request #15 from aelmahmoudy/openssl_update
Update OpenSSL to v1.0.2a to fix build for x86_64 arch.
2015-07-09 17:37:01 -04:00
n8fr8 b272fcc224 Merge pull request #14 from aelmahmoudy/mipsfix
Define __MIPSEL__ to workaround OpenSSL build failure for mips arch.
2015-07-09 17:36:25 -04:00
أحمد المحمودي (Ahmed El-Mahmoudy) fd4ef77529 Update OpenSSL to v1.0.2a to fix build for x86_64 arch. 2015-07-09 17:19:24 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) d93017fd30 Define __MIPSEL__ to workaround OpenSSL build failure for mips arch. 2015-07-09 17:02:31 +02:00
Nathan Freitas f13f7c82dc update to 15.0.1-RC-1 (PIE only) 2015-07-08 13:04:13 -04:00
Nathan Freitas e00f830eca update changelog 2015-06-26 09:54:19 -04:00
Nathan Freitas dd2a144f4b update to beta 3 2015-06-26 09:53:16 -04:00
Nathan Freitas dc06eedcfd final fixes for AppsVPN mode on boot and Android 4.x support 2015-06-26 09:52:42 -04:00
Nathan Freitas f98f7b4a33 update changelog for v15.0.1 2015-06-25 10:59:23 -04:00
Nathan Freitas c56e5d635f v15.0.1 beta 2 2015-06-25 10:53:01 -04:00
Nathan Freitas 1b6126e3d0 Enable support for app selection to work with VPN mode on Lollipop+
For now we will re-use/overload the app selection transproxy UI in Settings
2015-06-25 10:48:50 -04:00
Nathan Freitas bf8113cd19 update to sdk 22 2015-06-25 10:37:59 -04:00
Nathan Freitas f558a0a67c don't try to build external folders in eclipse 2015-06-25 10:37:48 -04:00
Nathan Freitas fa427a26f2 update tun2socks binaries 2015-06-25 10:37:29 -04:00
Nathan Freitas 76e424e695 update submodule pin 2015-06-25 10:35:28 -04:00
Nathan Freitas 765bc61ded enable background starts by default only for Service intent calls 2015-06-22 12:57:59 -04:00
Nathan Freitas dc16c98ff7 update manifest for v15.0.1 beta 1 2015-06-22 12:45:39 -04:00
Nathan Freitas e11cae883e Merge branch 'the-big-start-stop-makeover' of https://github.com/eighthave/orbot into eighthave-the-big-start-stop-makeover
Conflicts:
	src/org/torproject/android/OrbotMainActivity.java
	src/org/torproject/android/service/TorService.java
2015-06-22 12:43:42 -04:00
Nathan Freitas a8384bde74 Merge branch 'eighthave-the-big-start-stop-makeover' 2015-06-22 12:39:17 -04:00
Nathan Freitas 225ad9d1ac fix handling of foreground intent starts, and set bg start off by default 2015-06-22 12:37:51 -04:00
Nathan Freitas e132a79a61 improve status request/callback interaction and status UI layout 2015-06-22 12:25:37 -04:00
Nathan Freitas 67d1652e57 update tor to 0.2.6.9 2015-06-22 11:30:56 -04:00
Hans-Christoph Steiner aa87e6712a on start, check for running tor daemon, and if TorService stopped, then start
If Orbot was killed when the tor daemon was running, the tor daemon will
still be running when Orbot starts again.  OrbotMainActivity then checks to
see if tor daemon is running while TorService is stopped.  If so, TorService
is started so that the state of everything is in sync.
2015-06-17 12:08:52 -04:00
Hans-Christoph Steiner a81c0001d6 init file path variables (tor, polipo, etc) when the app starts
These file path variables can be set at the very start, OrbotApp.onCreate()
and they will not change during the lifetime of the app, so represent them
as globally accessible static variables.  This is needed for things like
OrbotMainActivity detecting whether the tor daemon is still running, even
though TorService is not.
2015-06-17 12:06:23 -04:00
Hans-Christoph Steiner 943edf094b "Allow Background Starts" prefs also controls the old START_TOR Intent 2015-06-17 11:45:07 -04:00
Hans-Christoph Steiner adf7c09f0e remove delayed handling of Intents in OrbotMainActivity
This is a leftover bit from the old structure, it should no longer be
needed and it causes the status updates to be noticeably delayed so when
OrbotMainActivity is started after being killed, it flashes OFF then ON.
2015-06-17 11:15:31 -04:00
Hans-Christoph Steiner c9e31020e0 prevent a status request from starting TorService
If some internal bit of Orbot is requesting the status of TorService, it
should not cause it to start.  So only request status from TorService if it
is running, otherwise keep status as OFF.

the big imports change is because of the Android auto-formatter
2015-06-17 11:13:35 -04:00
Hans-Christoph Steiner e5c2e1a040 when OrbotMainActivity starts, query TorService for current status
If OrbotMainActivity gets killed while TorService is running, then when
OrbotMainActivity starts again, it needs to get the current status from
TorService to correctly represent things to the user.
2015-06-17 11:00:48 -04:00
Hans-Christoph Steiner f16394b7db include all status messages with "start" in them in the starting sequence
Before, the startup sequence showed "Orbot is starting..." for a long time,
then quickly showed the final tor percentage messages.  This adds a few
more messages to provide useful feedback.
2015-06-12 14:55:17 -04:00
Hans-Christoph Steiner ddaae1d941 drive main screen UI updated entirely from TorService status updates
Now that STATUS_STARTING is sent in TorService.onCreate(), the response
time is snappy enough that we don't need hacks in OrbotMainActivity to
show that long press happened.
2015-06-12 14:54:04 -04:00
Hans-Christoph Steiner 232098eeaf set STATUS_STARTING in TorService.onCreate(), that's where it begins
The very first place that the whole tor start sequence starts is from
TorService's onCreate(), so that is where STATUS_STARTING should be
announced from.  The open question is whether Intents besides ACTION_START
ever cause TorService to start.  In theory, TorService should already be
running when any Intent is sent besides ACTION_START.
2015-06-12 14:49:19 -04:00
Hans-Christoph Steiner 8f57b42e68 rename TorStarter to IncomingIntentRouter, it handles all Intents
TorStarter does lots of things besides starting Tor
2015-06-12 14:46:47 -04:00
Hans-Christoph Steiner ff04bde300 announce Orbot is ON once the first circuit is complete
Before, it was announcing tor was started when it had completed starting
the daemons.  But that does not guarantee that Tor is actually connected
and working.  So instead, this waits for the first circuit to be built,
then announces Tor is ON.
2015-06-12 14:24:57 -04:00
Hans-Christoph Steiner b620f828a1 include dynamic proxy config info in ACTION_STATUS replies
This includes extras in the Intents that are sent as replies to the two
different requests to start tor (ACTION_START and ACTION_START_TOR).  These
extras give all of the current SOCKS and HTTP proxy settings, so that the
app can dynamically use the correct settings.  Sometimes there are port
conflicts, so apps should dynamically adjust in order to reliably find tor.

closes #3612 https://dev.guardianproject.info/issues/3612
refs #4419 https://dev.guardianproject.info/issues/4419
refs #3690 https://dev.guardianproject.info/issues/3690
refs #3687 https://dev.guardianproject.info/issues/3687
refs #3859 https://dev.guardianproject.info/issues/3859
2015-06-11 17:02:56 -04:00
Hans-Christoph Steiner 0937c8838f use constants for setting default ports, and variables when running 2015-06-11 16:32:31 -04:00
Hans-Christoph Steiner 623084548d standardize network port constant variables
use consistent naming and types for code clarity
2015-06-11 16:31:39 -04:00
Hans-Christoph Steiner 775135d07a let the requesting app know that the user has disabled starting via Intent
If an app is using ACTION_START to start Orbot in the background, but the
user had disabled that using the allowBackgroundStarts pref, then the app
will want to know about that so it can fallback on prompting the user to
bring up Orbot itself for the user to manually start it.

refs #3117 https://dev.guardianproject.info/issues/3117
2015-06-10 18:15:29 -04:00
Hans-Christoph Steiner ac8329c7f2 create a new pref: "Allow Background Starts"
This lets the user disable the new ACTION_START Intent, in case they have
more sensitive needs.
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 77b1bdfbc5 on receiving ACTION_START, only send status reply if EXTRA_PACKAGE_NAME set
In order to receive a targeted reply, an app has to send its packageName to
Orbot as an String extra in an ACTION_START Intent.  Also, when Orbot
internally uses ACTION_START, it shouldn't receive replies.
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner f433a5e655 expose start action via a BroadcastReceiver that any app can send to
This allows any app to broadcast an Intent to Orbot in order to make Orbot
start in the background.

closes #3117 https://dev.guardianproject.info/issues/3117
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 13d29878f9 a couple tweaks to make the long press feel more responsive 2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 25a6bb63b2 force all UI status updates through mStatusUpdateHandler
The Handler is a message queue for the main thread, so it should help keep
the UI working while status updates are coming in.

* This removes the constants in TorServiceConstants because the Handler
  messages are only for OrbotMainActivity

* this uses the handy shortcut msg.obj for the status message
2015-06-10 18:02:43 -04:00
Hans-Christoph Steiner 5c2d4501fa make updateStatus() more closely match the state given from TorService
This aims to make the UI more tighly in sync with the data coming from
TorService.  It is not currently perfect in the UI, but it means that the
UI will represent the status bugs in TorService.  This is important because
that status info is now broadcast to any app that wants it.  So the visible
part of Orbot should show want the apps are seeing to aid debugging.  And
status report bugs should be fixed in TorService so that everyone gets the
correctinfo.
2015-06-09 22:01:53 -04:00
Hans-Christoph Steiner 2f1d52f02d purge unused code from OrbotMainActivity
mItemOnOff no longer exists, there is no more start/stop button on the menu
and this code was trying to update menu.getItem(0), which is currently the
settings button.

onSharedPreferenceChanged() was entirely empty, and the prefs are all
handled in their own Activity
2015-06-09 22:01:53 -04:00
Hans-Christoph Steiner bf3572eb82 use the same action string for local and broadcast status
No need to have separate action strings, using the LocalBroadcastManager
enforces the local-only messaging, and Orbot does not claim the global
broadcasts in any kind of receiver.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 2f7ddc4423 purge unused OrbotLogActivity 2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 90b731cc8d strictly target local broadcasts
This sets an action for each kind of local broadcast, and uses the action
to choose how to handle it.  Before, it was a mix of the action and which
extras the Intent included.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 65d8801005 rename mMessageReceiver to mLocalBroadcastReceiver 2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 21c3bfb3c5 use "SIGNAL HUP" to request Tor re-read its config
The tor daemon supports both "SIGNAL HUP" via its control port or the UNIX
signal `kill -HUP` via the terminal as a way to trigger the tor daemon to
reload its config.  This is needed for new bridges and hidden services. It
is not necessary to restart everything to add those.

https://stem.torproject.org/faq.html#how-do-i-reload-my-torrc
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 6ac9a2cee6 use context.stopService() to shutdown TorService instead of custom message
Since running stopService() automatically triggers Service.onDestroy(),
there is a nice way to hook in and run the shutdown procedure.  This
provides an obvious point of entry as well as simplifying the shutdown
procedure.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner bfb0a80a18 rename mHandler to mStatusUpdateHandler
Hopefully this will make the code a little easier to follow...
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 4d8a9dab27 broadcast Tor state to any app that might want to know
In order for apps to follow the current state of Tor, this broadcasts the
state both locally, since global broadcasts are insecure, and globally, for
any app to receive.  The internal workings of Orbot need to use a local
broadcast, otherwise any app could trigger stop, start, etc or DoS in other
ways.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 3580cbe05d only set mCurrentStatus in sendCallbackStatus(), the one stop shop
Make sendCallbackStatus() the one thing that updates the all of the bits
related to running status.
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 780abf003e rework start/stop procedure to have clear points for ON, OFF, STARTING, STOPPING
In order to send reliable information to any app using Tor, Orbot itself
needs reliable state broadcasts.  Before, there the ON/OFF/STARTING state
were being set multiple times during the process, and sometimes not even in
a useful order (i.e. STARTING ON STARTING ON ON).

This reworks the start/stop procedure into startTor() and stopTor().
2015-06-09 22:01:52 -04:00
Hans-Christoph Steiner 4470771c0d rename startService() to sendIntentToService() to reflect what it does
Even though this method is a wrapper around startService(), it is really
used to send various Intents to the Service, not only starting it.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 82f82e1c10 mark TorService methods from EventHandler as overridden
This keeps me from getting confused...
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 86593df6fb rename status to STARTING and STOPPING since it also starts/stops daemons
The CONNECTING status also is starting up daemons as well as connecting to
the tor daemon.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner cf0adc27d6 on start and tor daemon not running, kill all daemons before starting again
To make sure there are not any other daemons still running when trying to
start the whole thing again, kill all daemons before starting tor afresh.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 2bc85a4a3a rework killing all daemons to continue trying after a failure
Before, it would quit the process on the first exception while killing.
This makes it keep on trying each daemon.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 73658ce3cf use Java methods for setting permissions on native executables
As of android-9, java.io.File has native methods for setting permissions,
inherited from Java 1.6.  Using these will help deal with compatibility
across devices, since some devices might not have chmod installed.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner a3d37e8b2a make prefs called directly when needed instead of requiring refresh
The code was using global variables that were refreshed from the prefs on
certain occasions.  That means that the global vars could easily get out of
sync with the actual values.  Instead, just read the prefs directly when
the values are needed, and they will always be up-to-date.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 6e13a7e369 purge dead and unused code from TorService 2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner 12d92f48f5 handle logging native process Exceptions closer to the source
Instead of passing Exceptions through many layers only to log them, just
log them where they are thrown.  Keeps things neater.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner ae83f011b2 purge CMD_INIT/initialize() from TorService, an IntentService doesn't need it
when switching to an IntentService, a new Intent will always start the
Service, and onCreate() can be used to initialize the Service.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner f09379d86c create String constants for Intent actions and extras
Following the Android system naming convention, this uses constants for
the action and extra names for Intents.  This makes it much easier to track
which "log" is which, since there are "log" actions, extras, and messages.
2015-06-09 22:01:51 -04:00
Hans-Christoph Steiner fd23da5237 purge troublesome half-disabled Wizard, rename menu to "Get Apps..."
When clicking on "Wizard" from the menu, then clicking back, it gets stuck
in a strange back stack purgatory, and then randomly changes the language.
So purge the wizard stuff for now, and add back the parts that are still
needed once that is all figured out.

This also simplifies the refactoring of the Intent handling.
2015-06-09 21:48:54 -04:00
Hans-Christoph Steiner a336a294fb convert status variable to String for easy sharing in Intents
Instead of making the apps who receive the broadcasts decipher a number
scheme, send the string of the status.  Then it'll be self-documenting.
2015-06-09 21:48:54 -04:00
Hans-Christoph Steiner 356e79a163 remove unused IntentFilter from TorService 2015-06-09 21:48:54 -04:00
Hans-Christoph Steiner 6352bd4753 convert app description to XLIFF to make translation management easier 2015-06-09 21:48:54 -04:00
n8fr8 9a786d4aca Merge pull request #10 from eighthave/fix-translations
Fix translations
2015-06-08 21:53:30 -04:00
Hans-Christoph Steiner 96b5d90ed1 remove empty translations 2015-06-08 12:24:21 -04:00
Hans-Christoph Steiner aebf3b0760 fixed directory names for Indonesian and Hebrew
https://stackoverflow.com/questions/13291578/how-to-localize-an-android-app-in-indonesian-language

Note that Java uses several deprecated two-letter codes. The Hebrew ("he")
language code is rewritten as "iw", Indonesian ("id") as "in", and Yiddish
("yi") as "ji". This rewriting happens even if you construct your own
Locale object, not just for instances returned by the various lookup
methods.
2015-06-05 17:44:05 -04:00
Hans-Christoph Steiner 5c7171bc87 add config for transifex-client aka tx 2015-06-05 17:37:07 -04:00
Hans-Christoph Steiner a7211999c9 rename zh to zh_CN following convention 2015-06-05 17:15:38 -04:00
Hans-Christoph Steiner fbf9932be3 rework setting locale from pref to have a lighter touch and be dynamic
This leaves the default Locale unchanged, i.e. Locale.setDefault().  This
also will immediately change the language after the user selects it in the
pref.
2015-06-05 17:09:10 -04:00
Hans-Christoph Steiner 807b51fb43 include proxy config info when returning from START_TOR Intent
The recommended way to send a START_TOR Intent is using
startActivityWithResult() so that the sender knows when Tor is actually
started.  The return includes an Intent that can also include the config
info for the proxies that Orbot runs.  Right now, this is based on the
app defaults, but ultimately, it should dynamically get the port numbers
for cases like Samsung devices where there is a port conflict.
2015-06-05 15:24:23 -04:00
Hans-Christoph Steiner d43a6cd2b2 switch language/locale preference to use Languages utility class
The Languages utility class merges the techniques from ChatSecure and
Courier.  It fetches the supported locales from the APK itself, and fetches
the native names of the languages from the system.
2015-06-05 15:19:57 -04:00
Hans-Christoph Steiner fba09263b4 update SettingsActivity to use simpler findPreferences() method 2015-06-05 15:16:08 -04:00
Hans-Christoph Steiner 237366cd27 no need to override methods with nothing 2015-06-05 15:14:40 -04:00
Hans-Christoph Steiner d85a2e87c9 remove global NumberFormat for more flexible Locale handling 2015-06-05 13:11:00 -04:00
n8fr8 541410447d Merge pull request #9 from eighthave/reboot-and-reproducible
Reboot and reproducible
2015-06-05 10:24:13 -04:00
Hans-Christoph Steiner 2372b186c6 add script to compare APKs for the reproducible process 2015-06-04 17:58:53 -04:00
Hans-Christoph Steiner cd48dd2774 ignore build products in the submodules (ignore = dirty) 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 6989f9b2b0 add standard ./make-release-build script 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 6775f86b65 add custom ant rules for automating the release process 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner e66b5a039e ignore all build products from submodules 2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 2f1ad74538 put up error notification if Orbot cannot kill a process
There are a couple of different times when Orbot will be unable to kill the
running processes.  One example is when Orbot is running, then uninstalled,
then installed again.

closes #5254 https://dev.guardianproject.info/issues/5254
2015-06-04 17:50:25 -04:00
Hans-Christoph Steiner 81cf67f955 remove unused icons to save space
These are all reported by `ant debug lint` as unused.
2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner 7787a3f427 run ./fix-translations 2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner d55c7b7eaf ./fix-translations script to fix common problems in the strings.xml 2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner 333343fd3d remove Firefox ProxyMob recommendation, ProxyMob is no longer supported
This removes the translations after the originals were removed in
0e6ba61ac0
2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner e58a15ebd7 Promo Apps: choose "all apps" URL based on which app store is installed
Since most people using devices without Google Play will be in China, where
Google is generally blocked, instead direct people to f-droid.org unless
they have Google Play installed.
2015-06-04 13:40:24 -04:00
Hans-Christoph Steiner 545afe7f6d Promo Apps: use Play or FDroid links, fallback to https://f-droid.org
This automatically detects whether Google Play or FDroid is installed, if
so, clicking the promo app button will take the user straight to the
install page.  If neither is installed, then the user is taken to the page
for that app on https://f-droid.org
2015-06-04 13:32:58 -04:00
Hans-Christoph Steiner 0e6ba61ac0 remove Firefox ProxyMob recommendation, ProxyMob is no longer supported 2015-06-04 13:32:26 -04:00
Hans-Christoph Steiner cf43fa247d switch to standard NDK env var: ANDROID_NDK_HOME
ANDROID_NDK_HOME is hardcoded in gradle as the name of the env var:
https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/internal/Sdk.groovy
2015-06-04 13:32:26 -04:00
Hans-Christoph Steiner 663cade62d ./jenkins-build script for standard Guardian Project Jenkins build 2015-06-04 13:32:26 -04:00
Hans-Christoph Steiner 3c26f67392 update ant setup script to get all settings from their original sources
* target comes from project.properties

*
2015-06-04 13:32:25 -04:00
Nathan Freitas 77d1b82411 adding patch for iptables building on x86 2015-05-13 12:17:54 -04:00
Nathan Freitas 20bf4c7ec6 update Makefile 2015-05-13 11:55:41 -04:00
Nathan Freitas e3244a7f1e update translations 2015-05-13 11:55:34 -04:00
Nathan Freitas 8479a9940c 15.0.1-alpha-1 2015-05-12 02:27:43 -04:00
Nathan Freitas d6ff4131db update Makefile with a few tweaks 2015-05-12 02:27:07 -04:00
Nathan Freitas 2f8c130f02 update to 15.0.1-beta-1 and update openssl to 1.0.2a 2015-05-12 00:38:24 -04:00
Nathan Freitas d6bfed06a9 update for 15.0.1 2015-05-11 22:09:44 -04:00
Nathan Freitas 3a3f701441 Merge branch 'aelmahmoudy-build_system' 2015-05-11 15:46:51 -04:00
Nathan Freitas 4163fc14d7 Merge branch 'build_system' of https://github.com/aelmahmoudy/orbot into aelmahmoudy-build_system 2015-05-11 15:44:29 -04:00
Nathan Freitas fa533e9d52 fix handle intent for hidden service API request 2015-05-11 15:41:43 -04:00
أحمد المحمودي (Ahmed El-Mahmoudy) d5e937d2a0 Fix build for mips* archs.
OpenSSL's 'make depend' fails if _MIPS_SZLONG is not set
2015-04-29 22:57:13 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) 8d7c32c84b Update OpenSSL to 1.0.2a
Also, 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'
2015-04-29 17:48:28 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) 81a945e632 Patch libevent to compile for 64-bit archs. 2015-04-29 15:29:28 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) ebe85e55bc Add iptables-clean prerequisite to clean target 2015-04-29 15:25:49 +02:00
أحمد المحمودي (Ahmed El-Mahmoudy) adb9a19367 Add support for variable arch builds to support mips & 64-bit archs 2015-04-29 15:25:49 +02:00
Nathan Freitas 84c6645220 fixing flag typo 2015-04-15 10:15:38 -04:00
Nathan Freitas dbe3024dfc fix PIE_FLAGS variable to allow for override
also, standardize use of STRIP command
2015-04-15 09:58:02 -04:00
Nathan Freitas 1bc427b50e handle NPE on number format instance 2015-04-13 10:25:58 -04:00
Nathan Freitas ec24428915 fix NPE crash if VPN prepare Intent is null on boot 2015-04-13 10:24:03 -04:00
Nathan Freitas ddecd0ce82 update changelog for v15 rc 3 2015-04-13 08:37:28 -04:00
Nathan Freitas b941a1c7d5 show warning about bridge limits on Intel x86/ATOM devices 2015-04-13 08:36:01 -04:00
Nathan Freitas 325ca1f809 only ARM chips can support the new Obfs4, Meek bridges
so hide the UI options that promote them, and just request
standard bridges
2015-04-12 22:56:16 -04:00
Nathan Freitas 8cbdf18733 update to v15 RC3 2015-04-11 21:20:52 -04:00
Nathan Freitas 3c6f173ede make buttons not resize weirdly with long strings 2015-04-11 21:19:42 -04:00
Nathan Freitas 421764bf33 make socksbypass local port random 2015-04-11 21:16:56 -04:00
Nathan Freitas 4ab1854848 update resource installer to handle different architecture 2015-04-11 21:16:41 -04:00
Nathan Freitas e7a7d8c7cd support variable arch builds to support x86
move asset builds to /assets folder
2015-04-11 21:16:20 -04:00
Nathan Freitas 74deb39c29 support building tun2socks for x86 2015-04-11 21:16:03 -04:00
Nathan Freitas 933b2e9b4e Small VPN and socket monitoring related fixes 2015-04-10 22:29:13 -04:00
Nathan Freitas 1feda73e3f update changelog 2015-04-09 13:16:14 -04:00
Nathan Freitas 60f19ca28f 15.0.0-RC-2 2015-04-09 13:15:31 -04:00
Nathan Freitas d6c51bcc3c Fixes for bridge setup, and root/shell interaction
- If you paste bridge addresses from Gmail, you get some strange
characters that were causing problems. This looks for that, and
other formatting related gotchas.
- This also moves all configuratino to the torrc.custom file
instead of using the control port. These changes require you to
restart anyhow, and using the torrc.custom is more reliable as it
affects the tor process on launch, and not post control port interaction.
2015-04-09 13:04:28 -04:00
Nathan Freitas c39cdcba60 improve root access check for transproxy 2015-04-09 09:14:12 -04:00
Nathan Freitas 7d8eea24b1 switch back to DNS on 10.0.0.1, update after VPN refresh 2015-04-09 09:10:14 -04:00
Nathan Freitas 690a8c3b69 Improved handling of VPN and Tun2Socks on Network Switch 2015-04-09 08:52:59 -04:00
Nathan Freitas 9974654c08 fix for setting root and transproxy preferences 2015-04-09 01:28:38 -04:00
Nathan Freitas 23a28f5a6f update changelog 2015-04-08 17:03:24 -04:00
Nathan Freitas 280f69dfa1 update to 15.0.0-RC-1 2015-04-08 17:02:16 -04:00
Nathan Freitas 776b7af679 use loopback address 2015-04-08 17:01:26 -04:00
Nathan Freitas e6fe25267f auto-restart Tor when config changes 2015-04-08 17:01:09 -04:00
Nathan Freitas 384fe1c21e fix handling of network connectivity state management 2015-04-08 16:46:40 -04:00
Nathan Freitas 02a42e425e update translated strings 2015-04-08 16:33:48 -04:00
Nathan Freitas 628c9d8d6c update tor to 0.2.6.7 2015-04-06 14:05:32 -04:00
Nathan Freitas 906ec7f3a6 v15-beta-2 small fixes for VPN 2015-04-04 00:37:47 -04:00
Nathan Freitas d6eb1dca57 fixes for network switching with VPN enabled 2015-04-04 00:36:24 -04:00
Nathan Freitas f37b935529 modifications to bridge setup strings 2015-04-03 22:37:26 -04:00
Nathan Freitas 1c26ccd694 tag to head 2015-04-03 13:16:59 -04:00
Nathan Freitas 627b04807b update CHANGELOG for v15 beta 1 2015-04-03 13:02:57 -04:00
Nathan Freitas 989d43aca7 v15.0.0 beta 1 2015-04-03 13:02:00 -04:00
Nathan Freitas 6fd6a5a859 tune first-time experience (No more wizard!) 2015-04-03 13:01:29 -04:00
Nathan Freitas b318e6bb69 update tun2socks binaries 2015-04-03 13:01:21 -04:00
Nathan Freitas cd303bd48a commit to latest dev head 2015-04-03 13:01:11 -04:00
Nathan Freitas a2e84b8ea0 fix JNI build info 2015-04-03 12:59:07 -04:00
Nathan Freitas 398ff17e19 remove browser view handlers in manifest 2015-04-03 12:28:59 -04:00
Nathan Freitas 75426bb9e2 Improve VPN service support - fix network switching handling
We now refresh the VPN and tun2socks interfaces when the network
type switches, and we do so in a way that does not cause traffic to leak.
The new interface is established before we close the old one.
2015-04-03 12:27:59 -04:00
Nathan Freitas d14dabb4f3 update tun2socks shared libraries 2015-04-03 12:27:40 -04:00
Nathan Freitas 6d15a46535 update jni build documents 2015-04-03 12:27:28 -04:00
Nathan Freitas ab8f8f12f9 update build path for tun2socks 2015-04-03 12:23:34 -04:00
Nathan Freitas 7774ca3b24 remove old embedded badvpn_dns 2015-04-03 12:22:54 -04:00
Nathan Freitas 2724551cb1 tag badvpn to latest 2015-04-03 12:22:39 -04:00
Nathan Freitas 39ce7f1b22 improved clean-up, shutdown of Tun2Socks and VPN service 2015-04-03 00:20:30 -04:00
Nathan Freitas b1d46e2291 use getbridge email instead of web, as it makes more sense
for users in censored/filtered locations to send an email than to
access *.torproject.org through their browser. Also, even if they
can connect, the browser UI is not great.
2015-04-02 23:37:43 -04:00
Nathan Freitas 9d83a5bb44 update app vpn warning 2015-04-02 23:37:35 -04:00
Nathan Freitas 26aeb67646 updating string resources / localizations 2015-04-02 23:24:23 -04:00
Nathan Freitas 7dd494932d update jsocks with reduced debug output 2015-04-02 23:17:33 -04:00
Nathan Freitas 84932594ce new helper activities for Apps and Bridge setup 2015-04-02 23:11:23 -04:00
Nathan Freitas 150488dd9c fixes for onboot logic and handling 2015-04-02 23:11:04 -04:00
Nathan Freitas 8c5b38eeea more UI clean-up, removing old wizard code 2015-03-28 00:55:28 -04:00
Nathan Freitas 7b830a0df4 remove HTTP proxy for VPN - not needed anymore! 2015-03-28 00:41:06 -04:00
Nathan Freitas 6a7c593353 a little bit of code re-org and new package for wizard 2015-03-28 00:39:58 -04:00
Nathan Freitas 1a66924c39 update ant build for new external jsocks 2015-03-28 00:23:41 -04:00
Nathan Freitas 93939285be add jsocks external modules and project 2015-03-28 00:19:01 -04:00
Nathan Freitas e30c78bd05 remove jsocks from main code and move to external/jsocks 2015-03-28 00:18:28 -04:00
Nathan Freitas 784c1c13d4 peg external to jsocks commit 2015-03-28 00:18:13 -04:00
Nathan Freitas cb7b2716e9 remove maxSDK setting 2015-03-27 23:37:06 -04:00
Nathan Freitas 73dd6302f2 update changelog for v15 alpha 5 2015-03-19 10:53:41 -04:00
Nathan Freitas b7aa69c9c0 update to 15.0.0-alpha-5 2015-03-19 10:51:34 -04:00
Nathan Freitas 2d5ee42894 calling stop() makes tun2socks crash since VPN is still enabled 2015-03-19 10:28:49 -04:00
Nathan Freitas cae2c7c157 don't add new task flag - will start on boot automatically 2015-03-19 10:28:37 -04:00
Nathan Freitas 5bd55f9152 re-add accidentally removed manifest entries! 2015-03-19 09:56:15 -04:00
Nathan Freitas 33acf24757 use LOLLIPOP constant instead of L 2015-03-19 09:14:02 -04:00
Nathan Freitas a226f13374 include res/raw in allowed git paths 2015-03-19 09:13:04 -04:00
Nathan Freitas 0bf26b296a add PT builds based on external/pluto golang build system
this will be added into the Makefile but it isn't there yet
and our build server doesn't have the golang support on it yet
2015-03-19 09:12:33 -04:00
Nathan Freitas 05f14ed420 make sure libs directory exists 2015-03-19 08:50:55 -04:00
Nathan Freitas 3286bb7701 add libs and vpn libraries (binaries for now...)
.so's can be built form external/badvpn source project, but we haven't integrated them in Makefile yet
2015-03-19 08:48:59 -04:00
Nathan Freitas 736e32e221 udpate proguard config 2015-03-18 22:00:56 -04:00
Nathan Freitas ebb5750a57 remove dependencies no longer needed 2015-03-18 22:00:44 -04:00
Nathan Freitas 5e8272dcc8 revert to old logic for opening/showing browser 2015-03-18 22:00:27 -04:00
Nathan Freitas 491822147e remove orweb dependecy for now - don't want to build in webkit yet 2015-03-18 22:00:07 -04:00
Nathan Freitas 7557ad5d71 update external dependencies, add patch for tor build 2015-03-18 21:20:39 -04:00
Nathan Freitas 84e97e6c71 update Makefile for building tor 0.2.6.4 with patch for Android 2015-03-18 21:20:20 -04:00
Nathan Freitas 3a1c603e5d remove ABS dependency (no longer used) 2015-03-18 21:20:03 -04:00
Nathan Freitas 6d05e27793 Improve Bridge and VPN support, working in tandem
You can use Bridges with VPN "App Mode" proxying
On Pre-Lollipop this uses a local loop back SOCKS server to flag outbound sockets as not for the VPN network
On Lollipop+ this uses the "disallow app" feature to set anything in the Orbot process to not be sent through the VPN
2015-03-17 13:04:20 -04:00
Nathan Freitas 3e2b8cff1e remove proxy prefs, parse bridge URLs, and format strings!
- shouldn't set proxy prefs for Orweb as it conflicts with Orbot's own pref keys
- improve parsing of incoming bridge URLs, as they may not have protocol component in URI
- format strings of up/down values better
2015-03-17 13:03:16 -04:00
Nathan Freitas 56df927fb5 remove liballium and obfsclient dependencies
We are switching to Go-based Meek and Obfs4 PT's
2015-03-17 13:02:12 -04:00
Nathan Freitas 16982ebb81 remove liballium and obfsclient (replaced by obfs4 from 'pluto') 2015-03-16 22:50:33 -04:00
Nathan Freitas b278b66b62 switch obfsclient to obfs4 proxy
includes supporting SOCKS outbound proxy for VPN mode
2015-03-09 15:53:02 -04:00
Nathan Freitas 0f0a36883d update changelog for v15 alpha work 2015-02-23 13:06:09 -05:00
Nathan Freitas 28d32bce32 v15 alpha 4 2015-02-23 13:02:08 -05:00
Nathan Freitas fb9a6c9994 support for sharing/display bridge config as QR code
this is needed for sharing of bridge data between people in the
same physical space, or by easily sharing it through chat or other
private messaging system
2015-02-23 13:00:46 -05:00
Nathan Freitas 759966aa13 remove unused activity from old wizard 2015-02-23 12:30:25 -05:00
Nathan Freitas 068cd05836 more bridge and proxy configuration clean up 2015-02-23 12:30:13 -05:00
Nathan Freitas f2490d9032 handle all exceptions in socks proxy 2015-02-23 12:29:55 -05:00
Nathan Freitas dd09c6b19a tuning boot code to work with VPN 2015-02-23 12:29:36 -05:00
Nathan Freitas b2ec768d8d more work to get bridge VPN mode to work 2015-02-23 12:29:21 -05:00
Nathan Freitas 0fc3805997 update new colors 2015-02-23 12:28:52 -05:00
Nathan Freitas 035ab8e895 add more strings for translation 2015-02-23 12:28:43 -05:00
Nathan Freitas 09fc813ce9 update base torrc 2015-02-23 12:28:31 -05:00
Nathan Freitas 2c3b47eb16 look and feel updates 2015-02-23 12:28:11 -05:00
Nathan Freitas 31053adf67 add support for scanning QR codes for bridges 2015-02-23 12:27:49 -05:00
Nathan Freitas a6245037b4 remove unneeded wizard classes 2015-02-15 01:22:38 -05:00
Nathan Freitas 70d6203fdb layout changes for a modern, cleaner (purple!) look 2015-02-15 01:22:15 -05:00
Nathan Freitas f22978e53c update pluto 2015-02-14 02:40:44 -05:00
Nathan Freitas 9c77526f22 move HTTP VPN bypass proxy to 9998 2015-02-14 02:30:14 -05:00
Nathan Freitas a1ba41ce0b add a bridge toggle button 2015-02-14 02:30:02 -05:00
Nathan Freitas ee82b5afb1 update version for alpha 2015-02-14 01:55:11 -05:00
Nathan Freitas 096eae705b implementing http server for meek-client VPN bypass 2015-02-14 01:54:56 -05:00
Nathan Freitas bff6d0f567 add support for meek PT 2015-02-14 00:44:09 -05:00
Nathan Freitas 1e5651eec3 improve VPN clean-up code 2015-02-14 00:44:02 -05:00
Nathan Freitas a2662c325d improve VPN activation 2015-02-14 00:43:36 -05:00
Nathan Freitas b1294f6d60 improve start on boot 2015-02-14 00:43:13 -05:00
Nathan Freitas 266c29701d update to latest pluto for meek-client 2015-02-14 00:42:51 -05:00
Nathan Freitas 22e75a3825 update pluto to latest 2015-02-05 10:53:55 -05:00
Nathan Freitas 431dff53a4 remove integrated pluto code 2015-02-05 10:53:21 -05:00
Nathan Freitas 70643fc29a ignore more things 2015-02-05 09:44:45 -05:00
Nathan Freitas 33a5962fe6 add pluto for PT integration 2015-02-05 09:42:52 -05:00
Nathan Freitas 5a8aa888b1 add new gitmodules for orweb and pluto support 2015-02-05 09:42:39 -05:00
Nathan Freitas 40b8f48c66 set to lib_orweb branch 2015-02-05 09:42:30 -05:00
Nathan Freitas c220ec9183 re-enable DNS settings after you start Tor 2015-02-04 22:02:32 -05:00
Nathan Freitas 44efced5d4 update build files (tmp fix for now) 2015-02-04 16:54:18 -05:00
Nathan Freitas 6546040921 v15 alpha 2 2015-02-04 16:54:14 -05:00
Nathan Freitas 50519d8a0b ensure x86_64 case of NDK is supported 2015-02-04 16:29:03 -05:00
Nathan Freitas a41367cf50 remove unneeded README 2015-02-04 16:28:56 -05:00
Nathan Freitas 9b4ef18b13 fix NPE for when mHandler is null 2015-02-04 16:28:40 -05:00
Nathan Freitas 6832363905 use IP instead of "localhost" name 2015-02-04 16:28:25 -05:00
Nathan Freitas 7f42265158 launch the internal or system browser depending upon VPN mode 2015-02-04 16:07:45 -05:00
Nathan Freitas 1852cde041 enable local DNS listen on 10.0.0.1 for VPN service
also add support for stopping VPNBuilder instance
2015-02-04 14:55:57 -05:00
Nathan Freitas ec4350ee40 update VPN to toggle button 2015-02-04 14:55:42 -05:00
Nathan Freitas 17f2a0bdac remove unused alt manifests 2015-02-04 12:37:04 -05:00
Nathan Freitas 9467d7db27 clean VPN proxy settings before startup 2015-02-04 12:36:42 -05:00
Nathan Freitas 5cb6cb930d add back in log output temporarily in sidebar 2015-02-04 12:36:24 -05:00
Nathan Freitas 8dc2748520 remove unneeded alt manifests, fix bug in main manifest 2015-02-04 11:57:07 -05:00
Nathan Freitas 08c220f88e clean up VPNBuilder setup code 2015-02-04 11:55:36 -05:00
Nathan Freitas 91a72ef5d1 add in basic debug output 2015-02-04 11:55:23 -05:00
Nathan Freitas fb3e27bdcf more clean-up of VPN service code 2015-02-02 16:21:04 -05:00
Nathan Freitas 5131c62c3e add toolbar and drawer handlers back in 2015-02-02 16:20:46 -05:00
Nathan Freitas 4c49822861 clarify vpnprotect code and add basic debug log 2015-02-02 16:20:26 -05:00
Nathan Freitas ede4128777 remove unused 2015-02-02 16:20:09 -05:00
Nathan Freitas 46aa51f4f8 make browser and VPN buttons enabed by default 2015-02-02 16:19:12 -05:00
Nathan Freitas d6d3c5dd79 return app name to Orbot 2015-02-02 16:19:05 -05:00
Nathan Freitas d6ea648665 update permissions 2015-02-02 16:18:50 -05:00
Nathan Freitas d63d10d8ae massive cleanup of merged code from Ony fork
removal/comment out of LoggerFactory log system
2015-02-02 14:01:08 -05:00
Nathan Freitas a78e458a43 Merge branch 'ony-dev' into v15-dev 2015-02-02 13:43:54 -05:00
Nathan Freitas 5c80572264 Merge branch 'master' of https://github.com/SuppSandroB/Ony into ony-dev
Conflicts:
	AndroidManifest.xml
	jni/Android.mk
	res/menu/main.xml
	src/org/torproject/android/OrbotMainActivity.java
	src/org/torproject/android/service/TorService.java
	src/org/torproject/android/ui/TipsAndTricks.java
	src/org/torproject/android/vpn/OrbotVpnService.java
	src/org/torproject/android/wizard/ConfigureTransProxy.java
	src/org/torproject/android/wizard/Permissions.java
2015-02-02 13:42:56 -05:00
Nathan Freitas 48f40b3494 update resources for new design 2015-02-02 11:26:43 -05:00
Nathan Freitas 7c303f1589 refactoring into cleaner packages 2015-02-02 11:04:32 -05:00
Nathan Freitas ee1d54826b clean up of manifest for unused functions 2015-02-01 23:36:46 -05:00
Nathan Freitas c1fe536aeb add button handle logic 2015-02-01 23:36:19 -05:00
Nathan Freitas 753e21f367 update makefile for badvpn tun2socks 2015-02-01 23:36:07 -05:00
Nathan Freitas cf50ec1433 more tweaks to new layout 2015-02-01 23:35:57 -05:00
Nathan Freitas 6a83a0d2f6 update project and layout for v15 merged browser + VPN 2015-02-01 12:49:10 -05:00
SandroB 1464901fe3 added badvpn as local folder 2015-01-25 12:08:34 +01:00
SandroB 72a017369b delete as it should not be as subproject 2015-01-25 12:06:02 +01:00
SandroB 90db557cec clone of badvpn for dns fix 2015-01-25 12:01:00 +01:00
SandroB 1472b4e35d some missing files added to git repo 2015-01-25 11:42:15 +01:00
SandroB 21b75b4c56 vpn changes 2015-01-20 15:47:24 +01:00
Nathan Freitas 09bdd8fd29 renable the network state receiver code 2014-12-03 09:36:35 -05:00
Nathan Freitas 2f899cb680 the lead developer appears! 2014-12-03 09:36:00 -05:00
Nathan Freitas 7ee0622a5e Revert "Deleted unnecessary files."
This reverts commit c013c071eb.
2014-12-01 11:04:56 -05:00
Nathan Freitas 84d7f4978b updating primary manifest for Lollipop 2014-12-01 11:04:31 -05:00
Nathan Freitas 6feb32cfa9 re-enable network receiver 2014-12-01 11:03:56 -05:00
Nathan Freitas b34d971193 update for 14.1.4 2014-11-29 15:06:18 -05:00
Nathan Freitas b7fcbdc4e8 update all the manifests! 2014-11-29 00:54:33 -05:00
Nathan Freitas 68c123749e add dummy activity 2014-11-29 00:45:29 -05:00
Nathan Freitas 917cfa1932 support SDK 16, add custom theme, make Orbot singleTop activity 2014-11-29 00:44:52 -05:00
Nathan Freitas 32119c428c ignore a few more things 2014-11-29 00:44:37 -05:00
Nathan Freitas 91f4fa0e16 cleanup landscape layout 2014-11-29 00:43:18 -05:00
Nathan Freitas ad7d92fb4a clean-up / remove un-used code 2014-11-29 00:43:01 -05:00
Nathan Freitas 2d6c26a999 show exit node info in log 2014-11-29 00:42:51 -05:00
Nathan Freitas 23bc4208d0 remove unused jar depends (from old jsocks code) 2014-11-28 23:57:03 -05:00
Nathan Freitas ec9204a5f3 clean-up of code to make service more long-lived and stable 2014-11-28 23:54:04 -05:00
Nathan Freitas 695b5c32f1 removing jsocks proxy code (for VPN not needed anymore) 2014-11-28 23:53:19 -05:00
Nathan Freitas d5823e3059 updates to layout to make it cleaner 2014-11-28 23:52:57 -05:00
Nathan Freitas da4866c648 update polipo to latest head 2014-11-26 21:32:37 -05:00
Nathan Freitas ce580b1a4b update lollipop manifest 2014-11-24 23:13:14 -05:00
Nathan Freitas 1e0f640a20 adding dummyactivity to stop task/broadcast from killing foreground service 2014-11-24 23:12:53 -05:00
Nathan Freitas 88873193c2 update changelog for 14.1.3 2014-11-24 13:23:29 -05:00
Nathan Freitas c1f3e64b6b update version specific manifests 2014-11-24 13:21:31 -05:00
Nathan Freitas 87d5ac9c44 changes to improve longevity of background service/Tor process 2014-11-24 13:11:38 -05:00
Nathan Freitas 611558218d onResume() must finish before we call some APIs 2014-11-24 13:11:14 -05:00
Nathan Freitas 406d83cb50 add layout tweaks for v21 2014-11-24 13:10:56 -05:00
Nathan Freitas cf21809052 improves in start/stop logic for background service 2014-11-17 23:28:33 -05:00
Nathan Freitas e3b9dae1c5 update changelog for 14.1.1 2014-11-17 16:49:12 -05:00
Nathan Freitas ec1c92f519 updated version for lollipop 2014-11-17 16:17:22 -05:00
Nathan Freitas e389d007c3 remove unneeded imports 2014-11-17 16:06:37 -05:00
Nathan Freitas f4e7129304 update to SDK 21 2014-11-17 16:04:08 -05:00
Nathan Freitas f994c63423 add targeted manifests 2014-11-17 15:03:23 -05:00
Nathan Freitas d70a36f64d Merge branch 'build_nonPIE'
Conflicts:
	AndroidManifest.xml
2014-11-17 14:12:13 -05:00
Nathan Freitas 16d87310a3 make sure polipo is really cleaned; add only PIE flags for polipo 2014-11-17 14:11:17 -05:00
Nathan Freitas 4df4586476 update to 14.1.1
- also add new support onboot events
2014-11-17 14:10:55 -05:00
Nathan Freitas a7f458758f version build to ensure nonPIE binaries are installed 2014-11-17 14:10:33 -05:00
Nathan Freitas f180f13d80 add support for other onboot events, including external storage mount
also version up to ensure install for PIE fix
2014-11-17 14:10:12 -05:00
Nathan Freitas dbd4efe86b set values for nonPIE build 2014-11-17 11:59:49 -05:00
Nathan Freitas ba2619804c putting torrc back in 2014-11-17 11:59:16 -05:00
Nathan Freitas 4fa49b3cc7 update to target 21 2014-11-14 12:48:50 -05:00
Nathan Freitas 9d841857df setting target to 21 to fix build 2014-11-14 12:48:31 -05:00
Nathan Freitas 4559d61f8a manifest for non-PIE build 2014-11-14 11:25:18 -05:00
Nathan Freitas c9adcfb797 update CHANGELOG for 14.1 2014-11-13 13:50:54 -05:00
Nathan Freitas 5917e63693 updates for Android L and PIE binary support 2014-11-13 13:42:14 -05:00
Nathan Freitas ff8677496e let's not build vpn support for now 2014-11-13 13:41:53 -05:00
Nathan Freitas 5f495973ea updates to appcompat v12 for Android L 2014-11-13 13:40:59 -05:00
Nathan Freitas 3ef94e009c more fixes for VPN but not quite ready yet 2014-11-13 13:40:50 -05:00
Nathan Freitas 7f50f79b0e update Makefile to support PIE arguments
make PIEFLAGS="-fPIE -pie" NDK_PLATFORM_LEVEL="16"
2014-11-06 14:05:19 -05:00
Nathan Freitas aeb15e8396 add sl4j jar dependecies for socks proxying 2014-10-28 01:06:01 -04:00
Nathan Freitas 97ca6fbd05 set MTU back to 1500 default 2014-10-28 01:05:53 -04:00
Nathan Freitas 284a5398b4 update badvpn commit 2014-10-25 20:33:48 -04:00
Nathan Freitas 1b44dcbbe0 remove unused routes 2014-10-25 08:47:18 -04:00
Nathan Freitas 6a53ddbdcd adding in new jni build files 2014-10-25 08:47:04 -04:00
Nathan Freitas a964bef825 moves VPN service to background Service so it doesn't die
(and other important fixes)
2014-10-24 15:44:17 -04:00
Nathan Freitas cd22a68615 update to 15.0.0-ALPHA-1 2014-10-24 01:17:01 -04:00
Nathan Freitas 6b1a78fda1 update commit pegs 2014-10-24 01:15:29 -04:00
Nathan Freitas 9f311a2d89 update service config to run in same process, and not use largeheap 2014-10-24 01:15:14 -04:00
Nathan Freitas 2d98a29d82 temporarily use udpgw-client to make DNS and UDP tunneling to work 2014-10-24 01:14:54 -04:00
Nathan Freitas f9e340b465 goodbye AIDL file... no longer using bound services 2014-10-24 01:14:39 -04:00
Nathan Freitas c9bb1c2890 remove bind service and use localbroadcast instead
this should fix problems with the service being killed on unbind
2014-10-24 01:14:02 -04:00
Nathan Freitas f6ad0fff3d initial modifications for PIE support 2014-10-24 01:13:31 -04:00
Nathan Freitas 6877aaf2e1 update to gp fork of badvpn 2014-10-21 12:44:05 -04:00
Nathan Freitas e45991899a first commit of new OrbotVPN integration into Orbot 2014-10-21 12:30:13 -04:00
Nathan Freitas dbbd8292c2 Merge branch 'master' of https://github.com/freckles-the-pirate/orbot into freckles-the-pirate-master 2014-09-30 23:34:08 -04:00
n8fr8 3c4642cc82 Merge pull request #7 from SecUpwN/master
Fixed annoying typo
2014-09-25 10:47:38 -04:00
SecUpwN cdae262a2b Fixed annoying typo 2014-09-24 07:24:30 +00:00
Nathan Freitas 939df61cef update changelog 2014-09-14 21:09:54 -04:00
Nathan Freitas 2bcb1ee5fb removing binaries from source repo 2014-09-14 21:08:40 -04:00
Nathan Freitas 5af082e9fe update to 14.0.8.1 2014-09-14 16:19:20 -04:00
Nathan Freitas a64e6b164f update Orbot about dialog display to show tor version 2014-09-14 16:19:04 -04:00
Nathan Freitas 93614ddd61 update english versions strings 2014-09-14 16:15:55 -04:00
Nathan Freitas ef98429068 update tor binary constant to force on device upgrade 2014-09-14 16:11:53 -04:00
Nathan Freitas a3dc39d41b updating binaries 2014-09-14 16:10:27 -04:00
Nathan Freitas 08317a94d7 fixes for transproxy/iptables rules
- not all rules were not being cleared in flush
- per-app transproxy now still transproxies DNS for full device (not all DNS is done under the app UID)
- root shell now created only once and shared across calls
2014-09-14 16:07:18 -04:00
Nathan Freitas ee10ac0f07 update to Tor 0.2.5.7-rc 2014-09-14 16:06:47 -04:00
Nathan Freitas 826b629cad update changelog 2014-09-07 09:41:38 -04:00
Nathan Freitas b35a239e44 ensure all iptables rules are always wiped
and reapply rules settings if modifed after settings menu accessed
2014-09-07 09:34:48 -04:00
Nathan Freitas 3d67ce58bb update to 14.0.8 2014-09-06 01:03:04 -04:00
Nathan Freitas 313c92f863 add warning about restarting Orbot after settings changes 2014-09-06 01:02:38 -04:00
Nathan Freitas 8ee5e9e0fb more tuning of Tor service startup and status checking 2014-09-06 00:46:57 -04:00
Jordan 37c831975d Add drawables
.
2014-09-05 18:14:09 -07:00
Nathan Freitas 9c4c3496f1 fix for reconnecting to exiting Tor process after service restart 2014-09-03 22:45:31 -04:00
Jordan 1229da66cb Merge branch 'master' of https://git.torproject.org/orbot 2014-09-01 19:27:17 -07:00
Nathan Freitas a0b32ba068 don't manually call onDestroy, just call finish() 2014-08-29 00:16:31 -04:00
Nathan Freitas d1b08ee4e8 update to 14.0.7.3 2014-08-28 23:24:38 -04:00
Nathan Freitas b8912adbfb improve error handling of tor startup sequence
don't use executor thread pool for time critical commands
2014-08-28 23:23:55 -04:00
Nathan Freitas c98509d8e6 remove duplicate service start/bind code in onResume()
also disable startup button if service is null
2014-08-28 23:22:45 -04:00
Nathan Freitas 9879b53932 update change log 2014-08-26 23:15:27 -04:00
Nathan Freitas d2c71d7268 update to 14.0.7.2 2014-08-26 23:14:17 -04:00
Nathan Freitas 6e6546972a ensure settings are updated and binary paths are on service restart 2014-08-26 23:01:46 -04:00
Nathan Freitas af433d37ba remove unused variables/patterns 2014-08-26 22:43:58 -04:00
Nathan Freitas b76be6dee0 disable stdout log by default and enable daemon mode 2014-08-26 22:43:09 -04:00
Nathan Freitas dafd295b97 simplify process reconnect and transproxy setup
- on reconnect to service, don't require call to getInfo before STATUS_ON is set
- transproxy should always delete/flush before adding in order to make sure old rules are cleared
2014-08-26 22:41:20 -04:00
Nathan Freitas 390b89ed57 remove debug file logging for now until we can improve it 2014-08-22 11:10:47 -04:00
Nathan Freitas e53e03a727 tuning Orbot app conflict checker code 2014-08-22 11:09:11 -04:00
Nathan Freitas c2672cc95f update to 14.0.7.1 2014-08-21 12:01:58 -04:00
Nathan Freitas eaccf77116 don't call handle intents twice! 2014-08-21 10:10:14 -04:00
Nathan Freitas 24a3db8873 update to 14.0.7 2014-08-21 09:48:44 -04:00
Nathan Freitas add04f238d exit menu option should be a menu 2014-08-21 09:48:06 -04:00
Nathan Freitas 186e74b5dc add new transproxy flush pref and strings 2014-08-21 09:47:51 -04:00
Nathan Freitas c78a8225d6 add transproxy flush option to settings 2014-08-21 09:47:33 -04:00
Nathan Freitas 68495c3118 make delete iptables rules process match add for specific behavior
no more drop all output tables, etc
2014-08-21 09:47:01 -04:00
Nathan Freitas 25bc4c0a6f add new flush transproxy interface method 2014-08-21 09:46:36 -04:00
Nathan Freitas 79a32e69c8 make sure control connection is not null on rebind
- also tune app conflict checker code for Samsung Link
2014-08-21 09:46:00 -04:00
Nathan Freitas b307d510f8 make default SOCKs port auto, and THEN try to set specified port
- also remove exit IP lookup loop bad code
2014-08-21 09:45:13 -04:00
Jordan a07333dfb0 Merge branch 'master' of https://github.com/freckles-the-pirate/orbot 2014-08-14 14:38:23 -07:00
Jordan c013c071eb Deleted unnecessary files. 2014-08-14 14:35:58 -07:00
Nathan Freitas 9dee2a96e4 update changelog 2014-08-14 14:35:58 -07:00
Nathan Freitas 495e2c7de4 bumped to 14.0.6 2014-08-14 14:35:57 -07:00
Nathan Freitas 8df98f5618 update to latest jtorctl with patches for thread, error handling 2014-08-14 14:35:57 -07:00
Jordan a8b737a05c Merge branch 'app-selection' 2014-08-14 14:01:57 -07:00
Jordan f3a9cbd84c User has full control over app management. BUG: Button size will render text with incorrect line breaks on devices with small screens. BUG: interface is slow to respond, but is due to the app interfacing with shared preferences. 2014-08-14 14:01:38 -07:00
Jordan 67555d1ed4 User can "Proxy all" or "Proxy none" apps in AppManager. TODO: fix invert button. It currently just selects none. 2014-08-14 13:15:17 -07:00
Jordan c0dd584651 Merge branch 'app-selection' 2014-08-13 21:39:46 -07:00
Jordan 3f4b76a171 Merge branch 'master' of https://git.torproject.org/orbot 2014-08-13 21:31:12 -07:00
Jordan 59b333984d Add buttons to filter application selection. 2014-08-13 17:23:33 -07:00
Nathan Freitas 9cc5f98e92 don't obfuscate class names; we just need to remove unused classes 2014-08-12 02:04:36 -04:00
Nathan Freitas 3698e46105 create new thread for connecting to existing process
don't rely on executor yet, as we need it to happen fast
2014-08-12 02:04:10 -04:00
Nathan Freitas ea37b44fa3 create new thread to just for existing process
dont' rely on executor there yet
2014-08-12 02:03:43 -04:00
Nathan Freitas 3a82421b63 no need for asynctask - just grab the status directly 2014-08-12 02:03:22 -04:00
Nathan Freitas e2f4f5f1f2 don't make these final, because the user might change them 2014-08-12 02:02:48 -04:00
Nathan Freitas 7d243af276 update changelog 2014-08-11 16:22:53 -04:00
Nathan Freitas 56dfff0971 bumped to 14.0.6 2014-08-11 16:22:29 -04:00
Nathan Freitas 05dd3317f1 update to latest jtorctl with patches for thread, error handling 2014-08-11 16:05:08 -04:00
Jordan d02c5ea594 Update BUILD doc to reflect changes in build. 2014-08-11 11:00:26 -07:00
Nathan Freitas bacdf5438d update changelog 2014-08-11 11:36:22 -04:00
Nathan Freitas 73d4297d05 bump to 14.0.5.4 2014-08-11 11:35:50 -04:00
Nathan Freitas ade6172145 enable transproxy refresh feature, default off 2014-08-11 11:18:46 -04:00
Nathan Freitas 0d424797a2 make expanded notif off by default; handle exceptions better
- some devices seem to not like these new expanded/remoteviews notifications, so we are turning them off by default. This will also help with load issues on onionoo servers
2014-08-11 10:10:18 -04:00
Nathan Freitas 11d3f59543 reduce the onionoo lookup to just the required fields 2014-08-07 15:54:12 -04:00
Nathan Freitas 3e58ee9b75 multiple fixes for status check and new transproxy calls
- update to the new transproxy selective calls
- improve status resume/check code
2014-08-07 15:34:16 -04:00
Nathan Freitas 6955c44e36 selectively disable/enable transproxy rules 2014-08-07 15:33:57 -04:00
Nathan Freitas 5a9b9dc5b1 update changelog 2014-08-07 13:11:32 -04:00
Nathan Freitas f13269fae2 update to 14.0.5.3 2014-08-07 13:10:56 -04:00
Nathan Freitas 28877b12e2 new strings for app conflict checker function 2014-08-07 12:43:00 -04:00
Nathan Freitas ac6cdb70ba enable app conflict checker for samsung users 2014-08-07 12:42:49 -04:00
Nathan Freitas 1801ec179f don't stop Tor when service is destroyed() 2014-08-07 12:11:53 -04:00
Nathan Freitas 113b18900d update to latest OpenSSL 1.0.1i for important fixes 2014-08-07 11:55:42 -04:00
Nathan Freitas 888b7cddaa update version to latest OpenSSL 1.0.1i 2014-08-07 11:55:27 -04:00
Nathan Freitas c517d0fcee Notification fix and change in finding existing process
- Only build expanded notification on supported platforms
- If service is re-created() try to find existing process then, and don't wait for bind() from client
2014-08-07 11:54:31 -04:00
Nathan Freitas 387e74ec7c bump to 14.0.5.2 2014-08-05 06:20:12 -04:00
Nathan Freitas 5b014da621 update changelog 2014-08-05 06:19:59 -04:00
Nathan Freitas 03b39eae7a make sure to clean up ps process/shell 2014-08-05 06:14:27 -04:00
Nathan Freitas e3385ab137 fixes for Tor processs tracking, control port, and start/stop 2014-08-03 14:39:01 -04:00
Nathan Freitas 8481e6199f update to 14.0.5.1 2014-08-02 01:34:39 -04:00
Nathan Freitas 803620957a fixes for transparent proxy tethering 2014-08-02 01:15:01 -04:00
Nathan Freitas 0709b0e486 remove this, as torrc.custom is built at runtime 2014-08-02 01:14:43 -04:00
Nathan Freitas 754139a566 add new strings 2014-08-02 00:58:47 -04:00
Nathan Freitas 31cf9816fb Address issues related to onionoo relay/node info lookup
-Ensure streams, files are closed
-Add timeout values to socket, streams
-Change torrc CircuitStreamTimeout to 120
2014-08-02 00:57:18 -04:00
Nathan Freitas 0c239b434e update to 14.0.5 2014-07-30 05:34:25 -04:00
Nathan Freitas 3f93bcd62b update changelog 2014-07-28 21:40:45 -04:00
Nathan Freitas 668ed68c10 update to 14.0.5-RC1 2014-07-28 21:40:08 -04:00
Nathan Freitas 7ff49ff193 update Tor binary version number 2014-07-28 21:39:12 -04:00
Nathan Freitas 6626b6551c update strings, localisations 2014-07-28 21:39:02 -04:00
Nathan Freitas 543c887dc0 update to latest tor and obfsclient 2014-07-28 21:38:47 -04:00
Nathan Freitas 023ef2d4ce boot receive does not need HOME category 2014-07-19 20:40:19 -04:00
Nathan Freitas cbf4e99d32 handle CONNECTING state properly 2014-07-19 20:39:55 -04:00
Nathan Freitas 6ed7ab0d6d onBoot perm should default to true 2014-07-19 20:39:42 -04:00
Nathan Freitas 8f1b345827 update for beta 2 2014-07-17 13:57:45 -04:00
Nathan Freitas 5f52092cd9 update for 14.0.5-beta-2 2014-07-17 13:57:16 -04:00
Nathan Freitas 816d7d717a new icons for martus 2014-07-17 13:43:46 -04:00
Nathan Freitas 6574312609 new tips for app download 2014-07-17 13:43:09 -04:00
Nathan Freitas 29a06410a5 make sure start on boot works properly 2014-07-17 13:42:59 -04:00
Nathan Freitas 54a39f2046 only show notifications if we have data 2014-07-16 17:07:08 -04:00
Nathan Freitas 9d541d8aad added mobile martus to rec'd apps 2014-07-16 17:06:50 -04:00
Nathan Freitas 4d6c32a6a2 support dynamic SOCKS ip in polipo configuration 2014-07-15 16:10:24 -04:00
Nathan Freitas 1cd0dcf71c fix proguard path for new sdk 2014-07-15 16:10:13 -04:00
Nathan Freitas 8cc8886b23 update CHANGELOG 2014-07-14 13:39:38 -04:00
Nathan Freitas d439176fea update to 14.0.5-beta 2014-07-14 13:39:16 -04:00
Nathan Freitas c4cf845650 handle NPE in case service disconnects 2014-07-14 13:16:19 -04:00
Nathan Freitas 1e6ff3579b updating ant build shell permissions 2014-07-14 10:48:37 -04:00
Nathan Freitas 498f6472bf remove external storage perm (debug log written internally)
need to add ability to share internal file after
marking it global read
2014-07-14 09:20:09 -04:00
Nathan Freitas e1ec776cb8 re-arch status callbacks and improve notification 2014-07-14 09:19:30 -04:00
Nathan Freitas c7409b78c9 update commit pegs for external 2014-07-10 12:34:53 -04:00
Nathan Freitas f2f076c29c fixes for layout and notification data
be sure to only get the IP of the last hop (that is the exit)
2014-07-10 12:34:31 -04:00
Nathan Freitas a6da4bf530 small cleanup of asynctask and error handling 2014-07-10 11:23:49 -04:00
Nathan Freitas 181b92276a make the notification larger for more display room! 2014-07-10 11:23:34 -04:00
Nathan Freitas a82d2e4695 remove unnecessary jar file 2014-07-10 11:23:25 -04:00
Nathan Freitas 3bc8760beb Merge branch 'new_notification_expanded' of github.com:amoghbl1/orbot-1 into amoghbl1-new_notification_expanded 2014-07-10 11:05:59 -04:00
Nathan Freitas 41064d8548 add persistent flag 2014-07-10 11:04:46 -04:00
Nathan Freitas b4079f4c79 update transifex config 2014-07-10 11:04:36 -04:00
Nathan Freitas 8a934c9cab don't close socket, and use HALT for shutdown 2014-07-10 11:04:21 -04:00
Nathan Freitas f9b38e6379 if service is null, please start it 2014-07-10 11:04:11 -04:00
Nathan Freitas a447bbf07e update strings 2014-07-10 11:03:56 -04:00
Nathan Freitas 646bc66e51 update for 14.0.4.3 2014-06-30 15:46:24 -04:00
Nathan Freitas 522f2938c7 update to 14.0.4.3 2014-06-30 15:45:57 -04:00
Nathan Freitas 70615d669b fixes for status, service, binding and start/stop 2014-06-30 15:45:14 -04:00
Nathan Freitas fbc1a87c28 update to 14.0.5-alpha 2014-06-27 13:03:21 -04:00
Nathan Freitas bfa1d56208 remove diag/test menu 2014-06-27 13:03:06 -04:00
Nathan Freitas 10ceafad3b ensure status is not set to CONNECTING incorrectly 2014-06-27 13:02:55 -04:00
Nathan Freitas 7f8e9b80be remove test/diag option 2014-06-27 13:02:41 -04:00
Nathan Freitas e13d228dfc fix bug with wrong apps being transproxied (typo!) 2014-06-27 13:02:21 -04:00
Nathan Freitas 312c6da2c7 apps should only show those with internet permission 2014-06-27 13:01:48 -04:00
Nathan Freitas d56c87eaf5 update to 14.0.4.2 2014-06-24 10:11:30 -04:00
Nathan Freitas 0e95ddaeac update translations from transifex 2014-06-24 10:11:12 -04:00
Nathan Freitas bb0b7e8fe2 unbind the service when the activity is destroyed
we don't want leaky services
2014-06-24 10:06:26 -04:00
Nathan Freitas 247e2ed86d don't kill Tor process and make sure service is sticky 2014-06-24 10:06:11 -04:00
amoghbl1 367002bf3d matcher null pointer fix 2014-06-20 02:20:13 +05:30
amoghbl1 ff8bf0bddf moved ip lookup into asynctask and also added some extra checking before the external ip is updated 2014-06-20 02:15:13 +05:30
amoghbl1 43eac85644 fixed merge conflicts 2014-06-20 02:01:17 +05:30
Nathan Freitas 8b6cff0dc0 update CHANGELOG entries 2014-06-19 10:31:18 -04:00
Nathan Freitas 7ec6de72e6 update to 14.0.4.1 2014-06-19 10:30:17 -04:00
Nathan Freitas 298a01e519 make sure transproxy is renabled when network returns 2014-06-19 10:30:02 -04:00
amoghbl1 133922f7b4 updated the expanded notification ui, calls for getting exit ip implemented, exit ip added temporarily in the title of the notification till the final ui is ready. Regex to match ip address on getting response from the exit node written. 2014-06-18 06:02:23 +05:30
Nathan Freitas 2eb79a5185 fulfilles the wishes of #12413 by support --default-torrc and -f 2014-06-17 16:32:49 -04:00
Nathan Freitas b6715b4d3c fixes #12411 and #12412 enables DNS and transport by default
with new Orbot settings to enable user to easily change/disable
2014-06-17 15:42:54 -04:00
Nathan Freitas fc608d364f update to 14.0.4 2014-06-14 05:56:46 -04:00
Nathan Freitas 01299768e3 improve ability to do a full clean stop of all services 2014-06-13 13:51:51 -04:00
Nathan Freitas af51290aa9 add support for updating Polipo config 2014-06-13 13:51:28 -04:00
Nathan Freitas 156ed574e8 clean up unbind process and service shutdown 2014-06-13 13:50:55 -04:00
Nathan Freitas 8a59cfb6d2 use canonical paths to ensure shell commands are correct
also cleanup torrc updating
2014-06-13 13:00:42 -04:00
Nathan Freitas f3d21eec4f improve resource installer ability to update torrc 2014-06-13 12:59:36 -04:00
Nathan Freitas c0f7d754dd use one prefs instance 2014-06-13 12:59:02 -04:00
Nathan Freitas 2ce9ea92f1 make default config files have ports off by default (0) 2014-06-13 12:58:39 -04:00
Nathan Freitas 9025fc52f4 update to 14.0.3.1 2014-06-11 22:04:56 -04:00
Nathan Freitas dee0d19fe7 improve logic for updating torrc files (not so often) 2014-06-11 22:04:41 -04:00
Nathan Freitas 44648f16c3 clean up bind/unbind and handleIntent wizard logic 2014-06-11 22:04:15 -04:00
Nathan Freitas 917ec8d7a0 update torrc and torrcdiag when you need to 2014-06-11 22:03:57 -04:00
Nathan Freitas f91a35bbac update tor binary constants to force upgrade 2014-06-11 22:03:30 -04:00
Nathan Freitas 65eb7ad249 fix torrc defaults - add back in avoiddiskwrites 2014-06-11 22:02:32 -04:00
Nathan Freitas c04fc9599c update to 14.0.3 2014-06-11 20:25:05 -04:00
Nathan Freitas 42e069800a don't stop tor when service onStartCommand() is called again 2014-06-11 20:24:32 -04:00
Nathan Freitas fc6392932f ensure diag/test mode stop's Tor on activity exit 2014-06-11 20:24:21 -04:00
Nathan Freitas 328c6af2c6 tune bind/create service logic 2014-06-11 20:24:08 -04:00
Nathan Freitas 4716696515 make transport settings dynamic (remove from torrc) 2014-06-11 20:23:38 -04:00
Nathan Freitas 2fe57e84ad pegging tor to 0.2.4.22 2014-06-11 19:33:56 -04:00
Nathan Freitas 00b535e7dd updated to 14.0.2.1 2014-06-11 11:27:26 -04:00
Nathan Freitas c2be4ac15b ensure polipo conf is updated; default to 9051 for ctrl port 2014-06-11 11:26:30 -04:00
Nathan Freitas 6ab9a7bff1 reduce memory usage of polipo 2014-06-11 11:26:10 -04:00
Nathan Freitas b26b9d4739 update to 14.0.2 2014-06-11 08:57:01 -04:00
Nathan Freitas aa8ff95e29 ensure readers are closed; ensure socks settings are applied 2014-06-11 08:08:11 -04:00
Nathan Freitas b4fa943fe9 improve process id finding using android 'toolbox' 2014-06-11 07:51:22 -04:00
Nathan Freitas 2d6a7b35c0 renable large heap request 2014-06-11 07:50:33 -04:00
Nathan Freitas d7f3f1989d more fixes for UI disconnect issue
ensure service and status updates occur on new layout updates
2014-06-11 07:07:48 -04:00
Nathan Freitas 7e76162b88 bumping to 14.0.1 2014-06-09 18:48:54 -04:00
Nathan Freitas af51a98535 allow support for adding custom lines to torrc 2014-06-09 18:47:48 -04:00
Nathan Freitas 22938c9ed9 multiple fixes for tor start including "auto" control port
also try to kill hung tor process
2014-06-09 18:35:08 -04:00
Nathan Freitas 022436515d ensure torrc values are overwritten 2014-06-09 18:34:40 -04:00
Nathan Freitas 81bd61764c updating to 14.0.0 build 100! 2014-06-07 23:10:17 -04:00
Nathan Freitas 98ea6d5093 update changelog 2014-06-06 21:50:49 -04:00
Nathan Freitas 5776a870ce update to 14.0.0-RC3 2014-06-06 21:50:00 -04:00
Nathan Freitas bf6a1da3fa update state when service connects 2014-06-06 21:49:21 -04:00
Nathan Freitas 451cfed0ac keep SOCKS port as default 9050 (instead of 'auto') 2014-06-06 17:01:18 -04:00
Nathan Freitas 53637209ae updated changelog 2014-06-06 15:15:59 -04:00
Nathan Freitas f94e27acc6 updated to 14.0.0-RC-1 2014-06-06 15:11:25 -04:00
Nathan Freitas bedeb71cf2 more fixes for hidden service configuration
now multiple ports are properly configured
and notification will display correctly
2014-06-06 15:05:06 -04:00
Nathan Freitas 051cce472c don't allow the tor control port socket to timeout 2014-06-06 14:40:11 -04:00
Nathan Freitas f4baf4d6bb updated to 2.0.21-stable 2014-06-06 14:21:55 -04:00
Nathan Freitas 120da6bfe2 more wizard flow fixes 2014-06-06 14:19:06 -04:00
Nathan Freitas 816a6b2be0 updating to 1.1.1 2014-06-06 12:26:18 -04:00
Nathan Freitas 24773c302d update to OpenSSL 1.0.1h 2014-06-06 12:22:22 -04:00
Michael Rogers 8b5bb041d1 Makefile patch for Orbot
Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-06-06 12:07:22 -04:00
Nathan Freitas ccaec1ebd3 update 14.0.0-BETA-2 2014-06-06 09:59:48 -04:00
Nathan Freitas da3c95575a fixes for tor setConf/control port
fixes hidden service support
manages socks port conflicts
2014-06-06 09:59:10 -04:00
Nathan Freitas 93451865f8 remove unnecessary line 2014-06-06 09:59:03 -04:00
Nathan Freitas 707bca4daf amek sure wizard only is shown once on start (not twice!) 2014-06-06 08:56:32 -04:00
Nathan Freitas 0fddd80305 fix for missing libs folder 2014-06-05 15:03:25 -04:00
Nathan Freitas 7abea23429 removing binaries from repo 2014-06-05 12:21:22 -04:00
Nathan Freitas 70d779256b updated changelog 2014-06-05 12:20:54 -04:00
Nathan Freitas 2650fda101 update to 14.0.0-BETA-1 2014-06-05 11:14:17 -04:00
Nathan Freitas 476dc1a036 update binaries for 0.2.4.22 Tor 2014-06-05 11:12:02 -04:00
Nathan Freitas b6116b5d5a switch to 0.2.4.22 version of Tor for release 2014-06-05 11:11:39 -04:00
Nathan Freitas 148e7eb4bf remove deletion of polipo folder 2014-06-05 11:08:06 -04:00
Nathan Freitas 352c23b702 updated binaries for OpenSSL 1.0.1h 2014-06-05 10:59:13 -04:00
Nathan Freitas 7622d2cb2f update constant for 1.0.1h and latest openssl vuln
http://ccsinjection.lepidum.co.jp/blog/2014-06-05/CCS-Injection-en/index.html
2014-06-05 10:58:36 -04:00
Nathan Freitas d3924396e3 fix bridge append value from qrcode scan 2014-06-04 23:52:37 -04:00
Nathan Freitas d6f5720f27 remove synchronized - not needed, and causing blocking 2014-06-04 23:52:28 -04:00
Nathan Freitas f52c22aa0d Merge branch 'amoghbl1-issue_3014_wizard_workflow' 2014-06-04 23:24:43 -04:00
Nathan Freitas f6750e135a sometimes text can be null 2014-06-04 23:24:21 -04:00
Nathan Freitas fd47e70f44 fix control port connections with socket timeouts 2014-06-04 23:24:11 -04:00
Nathan Freitas 36a6349b67 status should update whether there is msg or not 2014-05-30 11:26:48 -04:00
Nathan Freitas 63b43047ed Merge branch 'issue_3014_wizard_workflow' of https://github.com/amoghbl1/orbot-1 into amoghbl1-issue_3014_wizard_workflow 2014-05-30 10:40:53 -04:00
Nathan Freitas 25f6499f6b Merge branch 'master' of github.com:n8fr8/orbot 2014-05-30 10:37:14 -04:00
Nathan Freitas e2e0d2659b Merge branch 'hans_feature_desc' 2014-05-30 10:36:58 -04:00
Nathan Freitas c1f9296164 new work on binding and service starting 2014-05-30 10:36:03 -04:00
Nathan Freitas e2e00ccc6a removed largeheap value 2014-05-30 10:35:41 -04:00
Hans-Christoph Steiner 13ef14340d add app description to manifest to support p2p distribution
This allows other methods of distributing APKs to also include the
description text, like the FDroid local repo swapping.
2014-05-28 20:33:41 -04:00
Amogh Pradeep 758633c9e6 Merge branch 'master' of https://github.com/n8fr8/orbot into new_notification_expanded 2014-05-29 05:02:08 +05:30
Amogh Pradeep 99dfdd711d added styles to build the custom notification, minor tweaks to old code 2014-05-29 04:56:06 +05:30
Amogh Pradeep a787fdf8cd notification layout for the expanded notification, still in testing. Also includes integration of remote view for the big layout 2014-05-29 04:27:07 +05:30
n8fr8 c1110309d2 Merge pull request #1 from amoghbl1/issue_2374_story_maker
Issue 2374 story maker
2014-05-26 13:00:58 -04:00
Amogh Pradeep 4759d9f143 implemented button click function for the story maker button, also url added in strings, change to liking at review 2014-05-24 03:15:33 +05:30
Amogh Pradeep 53e82b1769 general cleanup, removed log.d's 2014-05-24 02:57:22 +05:30
Amogh Pradeep 6488e6a699 cleaned Permissions workflow, implemented override for back button 2014-05-24 02:55:36 +05:30
Amogh Pradeep 935fa91199 cleaned LotsaText workflow, implemented override for back button 2014-05-24 02:43:28 +05:30
Amogh Pradeep f29a49439e cleaned ConfigureTransProxy workflow, implemented override for back button 2014-05-24 02:38:19 +05:30
Amogh Pradeep ea384f95f6 cleaned ChooseLocaleWizardActivity workflow, implemented override for back button and added toast warning message string 2014-05-24 02:31:57 +05:30
Amogh Pradeep ffcfce742b cleaned TipsAndTricks workflow 2014-05-24 02:01:36 +05:30
Amogh Pradeep 255623a1dd added the story maker button to the tips wizard page, also added tip string to the strings file. 2014-05-23 02:45:57 +05:30
Amogh Pradeep 23c689c8a1 added icon for story maker button to be added to the hints and tips page 2014-05-23 02:38:33 +05:30
Nathan Freitas cfc8a995a0 updated to 14.0.0-ALPHA-4 2014-05-08 09:56:08 -04:00
Nathan Freitas 278997de38 simple notification of bridge settings via URL 2014-05-08 09:54:48 -04:00
Nathan Freitas 17934e6b33 initial support for setting bridge through URL 2014-05-08 09:52:11 -04:00
Nathan Freitas 96c0a54768 add large heap and remote process settings back in 2014-05-07 23:50:40 -04:00
Nathan Freitas 726cf0c6c9 work to stabilize Tor background service
auto-restart tor binary process if killed by Android OS
print out debug info related to memory mgmt requests
move bind/start code to async task
2014-05-07 23:49:54 -04:00
Nathan Freitas 11c31fae84 update the changelog 2014-05-05 00:09:14 -04:00
Nathan Freitas 583c758a71 updated to 14.0.0-ALPHA-3 2014-05-05 00:01:46 -04:00
Nathan Freitas 90848b00d6 reduce memory usage of app and make single process 2014-05-05 00:01:07 -04:00
Nathan Freitas ba90f73828 cleanup of notification and process kill code 2014-05-05 00:00:50 -04:00
Nathan Freitas 76ec147c7a add some more externalized strings 2014-05-05 00:00:14 -04:00
Nathan Freitas e80c3bf162 check if installed apps are enabled 2014-05-05 00:00:01 -04:00
Nathan Freitas 60a822a218 updated to 14.0.0-ALPHA-2b 2014-05-04 00:40:34 -04:00
Nathan Freitas 69614fb649 updated Tor version to 0.2.5.4-alpha
heartbleed blacklists for non-updated tor nodes
2014-05-04 00:38:29 -04:00
Nathan Freitas 53673dae75 fix bridge/PT enable code based on bridge types 2014-05-04 00:35:14 -04:00
Nathan Freitas 9096f8c7b8 update 14.0.0-ALPHA-2a for some testers (samsung) 2014-05-02 14:59:18 -04:00
Nathan Freitas 42d8ca1377 for some devices, the process-id is listed first 2014-05-02 14:58:47 -04:00
Nathan Freitas fd5128170a make sure the unbind intent is not null 2014-05-02 14:58:36 -04:00
Nathan Freitas b8140191ef improvement for network state checking code 2014-05-02 10:10:09 -04:00
Nathan Freitas 648b10c235 updated changelog for v14 2014-05-02 01:18:22 -04:00
Nathan Freitas ea919c55b7 add the basic proguard support 2014-05-02 00:40:57 -04:00
Nathan Freitas 147b57af42 remove unused preference 2014-05-02 00:40:19 -04:00
Nathan Freitas 0dc50cc492 add log max size feature 2014-05-02 00:39:59 -04:00
Nathan Freitas b9f14b318b ensure setConft on control port works consistently 2014-05-02 00:39:37 -04:00
Nathan Freitas b056e7f6cd remove debug waiter 2014-05-01 21:37:36 -04:00
Nathan Freitas b2d4bb3507 updated to v14-alpha-2 2014-05-01 21:37:01 -04:00
Nathan Freitas cbbc5e45e1 improve how we start/stop Tor, Polipo
to find process id, do ps of all, then filter (most compat)
use async service for Tor start/stop instead of threads
2014-05-01 21:36:03 -04:00
Nathan Freitas b31c11f3cb updated icons with dark background 2014-05-01 16:15:25 -04:00
Nathan Freitas 2b6ff4e64c update manifest for v14-alpha-1 2014-04-25 12:45:34 -04:00
Nathan Freitas 05b6553cba add binary stripping to makefile 2014-04-25 12:45:11 -04:00
Nathan Freitas 21c1cadcca update binaries and torrc for obfs/PT work 2014-04-25 12:44:37 -04:00
Nathan Freitas 144460beed fixes for preference handling in multi process context 2014-04-25 12:44:21 -04:00
Nathan Freitas 38700f9c9c updated to 0.2.5.3 for scramblesuit/obfs support 2014-04-25 12:43:59 -04:00
Nathan Freitas d3865c0e78 fix settings handling and add more debug output
also make SOCKS a runtime config
2014-04-25 12:43:30 -04:00
Nathan Freitas d5293340d5 clean up wizard context use 2014-04-25 12:42:31 -04:00
Nathan Freitas 0178d3e4de add new binaries and configs for polipo and others 2014-04-24 23:44:29 -04:00
Nathan Freitas 40546c9ee5 change from privoxy to polipo for http proxy 2014-04-24 23:43:33 -04:00
Nathan Freitas a4d8669cc2 fix variable name to obfsclient 2014-04-24 12:35:52 -04:00
Nathan Freitas 2f7a9dd052 update to new obfsclient repo 2014-04-24 12:30:39 -04:00
Nathan Freitas 000cf579b9 update jtorctrl jar 2014-04-24 12:30:31 -04:00
Nathan Freitas f485015f83 install obfsclient binary 2014-04-24 12:30:23 -04:00
Nathan Freitas d003826c98 update binaries 2014-04-24 12:30:08 -04:00
Nathan Freitas 4d3754bbb2 remove obfsproxy, update obfsclient 2014-04-24 12:29:49 -04:00
Nathan Freitas 7af85b5cc3 small updates to Makefile for NDK 2014-04-24 12:29:41 -04:00
Yawning Angel 2c2d094601 Integrate obfsclient/liballium into the build process
* Compiler/toolchain version changed to 4.8 for C++11
 * Build and package obfsclient/liballium

NB: Currently obfsclient is build with debugging information which
results in a binary that is rather large, strongly consider stripping.

Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-04-22 22:46:52 -04:00
Yawning Angel 43c259accc Update the obfsclient submodule to include Android fixes
Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-04-22 22:46:09 -04:00
Yawning Angel a6af8784ad liballium/obfsclient should be sourced from tp.o repos
Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-04-22 22:45:54 -04:00
Nathan Freitas c906f7ed55 13.0.7 is stable enough for a release 2014-04-18 12:03:39 -04:00
Nathan Freitas 2e0639b256 back to BETA: 13.0.7-BETA-1 2014-04-18 06:28:20 -04:00
Nathan Freitas 1295f5cd24 don't kill Tor anymore; just reconnect to running instance! 2014-04-18 06:25:35 -04:00
Nathan Freitas 16f3a53529 enable diagnostics and menu option 2014-04-18 06:22:37 -04:00
Nathan Freitas 4aa3cd6ea2 moved diagnotics to menu option (not launcher) 2014-04-18 06:22:10 -04:00
Nathan Freitas b6e7a02fb4 cleaned up graphics/colors 2014-04-18 06:21:47 -04:00
Nathan Freitas a2c8e919f2 13.0.6-RC-4a 2014-04-17 13:40:33 -04:00
Nathan Freitas b870dd3c7d limit log length for diag share 2014-04-17 13:39:49 -04:00
Nathan Freitas edd3195ec8 only show app warning if debug is on 2014-04-17 13:39:40 -04:00
Nathan Freitas 78e7af4372 check if needed ports are available
dont' reapply transproxy on network reconnect
2014-04-17 11:34:47 -04:00
Nathan Freitas 2628565b45 fix issues with per-app filtering and ipv6 2014-04-17 11:34:31 -04:00
Nathan Freitas 557dabd143 updated to 13.0.6-RC-4 2014-04-17 10:17:20 -04:00
Nathan Freitas 5551c59e50 fixes to ensure service does not block 2014-04-17 10:16:56 -04:00
Nathan Freitas ae906d00ac use 127.0.0.1 and not localhost 2014-04-17 10:16:49 -04:00
Nathan Freitas 1ea5281f82 improve diagnostics apps 2014-04-17 10:16:25 -04:00
Nathan Freitas 2996fb2078 ensure ipv6 packets are dropped and shell cmds exit 2014-04-17 10:16:03 -04:00
Nathan Freitas 71de5c602a fix menu to now show share 2014-04-17 10:15:26 -04:00
Nathan Freitas 4c0d7ada8f check for evil samsung proxy app that blocks 9050 2014-04-17 10:15:15 -04:00
Nathan Freitas 37eddfcbd2 add torrcdiag file to installer 2014-04-17 10:14:57 -04:00
Nathan Freitas eab54f7af9 small fixes for service (NPE handling) and resource installer 2014-04-16 16:22:09 -04:00
Nathan Freitas e1ea8dbd07 updated binaries 2014-04-16 16:22:01 -04:00
Nathan Freitas e70c8aca87 add new diagnostics activity for problem childs 2014-04-16 16:21:42 -04:00
Nathan Freitas 1e8ae2a68d updated changelog for 13.0.6-RC-3 2014-04-15 23:15:45 -04:00
Nathan Freitas 89fc2e6d5c updated to 13.0.6-RC-3 2014-04-15 22:59:01 -04:00
Nathan Freitas b9eeb3711b ensure Service has foreground priority so it is not killed
(and improve onBind() calls to reset state if it is killed)
2014-04-15 22:31:24 -04:00
Nathan Freitas 3824bc56e5 improving control port connection code
adding additional logging for problems with Samsungs
2014-04-15 00:47:59 -04:00
Nathan Freitas fa6c1015d8 bump version to 13.0.6-RC-2 2014-04-15 00:26:24 -04:00
Nathan Freitas cc020f54b6 small tweaks to Tor binary startup code 2014-04-15 00:25:28 -04:00
Nathan Freitas 16799ef0c6 add automapresolve to ensure .onion address are handled 2014-04-15 00:25:06 -04:00
Nathan Freitas 06d5a6fc09 improve process lookup code 2014-04-15 00:24:55 -04:00
Nathan Freitas cd8b7e45db connect to "localhost" instead of 127.0.0.1 2014-04-15 00:24:17 -04:00
Nathan Freitas 4673f04f8b update UI on rebind of service 2014-04-15 00:24:01 -04:00
Nathan Freitas c68ce2ce1e fixes for transproxy to fix DNS leaks in some cases
latest RC was leaking DNS due to updates iptables/xtables binary
and need for new iptables rules format
2014-04-15 00:22:52 -04:00
Nathan Freitas 915ff8a7f3 updated to 13.0.6-RC-1 2014-04-09 22:54:36 -04:00
Nathan Freitas 3413b341fc fixes for getting process id of Tor process 2014-04-09 22:53:08 -04:00
Nathan Freitas e9d0feade0 updates resources and tx config for tagalog 2014-04-09 11:44:21 -04:00
Nathan Freitas 10938edff0 update string resources from transifex 2014-04-09 11:39:20 -04:00
Nathan Freitas 5326d2b1de updated string values for components 2014-04-09 11:31:49 -04:00
Nathan Freitas 8d73be655e bump to 13.0.6-BETA-8 2014-04-09 09:13:23 -04:00
Nathan Freitas af95098ae8 remove "persistant" flag, as its only for system apps 2014-04-09 09:12:32 -04:00
Nathan Freitas 831a52a7e9 improved logging and exit code reporting for transproxy 2014-04-09 09:12:00 -04:00
Nathan Freitas f8532715c0 fix Service init/bind logic
also remove updates for background drawing to save memory
2014-04-09 09:11:38 -04:00
Nathan Freitas 8445f2e55d ensure appmgr doesn't fail on loading apps
also don't load icons to improve memory usage
2014-04-09 09:10:56 -04:00
Nathan Freitas 227253de76 updates to optimize resource memory usage 2014-04-09 09:10:23 -04:00
Nathan Freitas ed76f8b53b update to 13.0.6-BETA-7 2014-04-08 16:10:10 -04:00
Nathan Freitas 60a79a2ae0 more updates to install clean-up process 2014-04-08 16:09:04 -04:00
Nathan Freitas f885059b94 fix problem with UI rotation and screen update 2014-04-08 15:46:10 -04:00
Nathan Freitas efb9a8c965 update to 13.0.6-BETA-6 2014-04-08 15:34:03 -04:00
Nathan Freitas bf8a92cb7a use AbsolutePath instead of Canonical; fix kill code 2014-04-08 15:33:05 -04:00
Nathan Freitas e1b1ca072e add constants for folder names 2014-04-08 15:31:15 -04:00
Nathan Freitas e8116f4542 ensure existing files are deleted before upgrade 2014-04-08 15:31:02 -04:00
Nathan Freitas 25f4ac8617 adding new small icon 2014-04-08 12:19:44 -04:00
Nathan Freitas 981123f5fe update to 13.0.6-BETA-5 2014-04-08 11:38:24 -04:00
Nathan Freitas b6a9b48e77 ensure existing binaries are removed before install
problems may be caused by soft links or old bins
2014-04-08 11:37:45 -04:00
Nathan Freitas ef14ac5c3e fix large icon incorrect display in alert dialogs 2014-04-08 11:37:18 -04:00
Nathan Freitas bab67b7c13 small fixes for the wizard with new UI 2014-04-08 11:36:59 -04:00
Nathan Freitas 3d1f3912ea updates for icons, backgrounds and improved drawing
code to solve issues related to outofmemory
2014-04-08 10:46:52 -04:00
Nathan Freitas 9d1311c342 updated to dark icon 2014-04-08 10:46:11 -04:00
Nathan Freitas b32992067b update to BETA-4 for Permission changes 2014-04-08 01:54:35 -04:00
Nathan Freitas c9bf8d2585 fix Shell calls so that we close() shell when done 2014-04-08 01:12:56 -04:00
Nathan Freitas e78486a41f update to support specific permissions for Service
this is an attempted fix for Samsung S3/Note3 issues
2014-04-08 01:12:35 -04:00
Nathan Freitas 7990644ecd update version to 13.0.6-BETA-3 2014-04-07 23:37:33 -04:00
Nathan Freitas 917ea6e09f fix for mikeperry transproxy leak bug find
https://lists.torproject.org/pipermail/tor-talk/2014-March/032503.html
2014-04-07 23:36:10 -04:00
Nathan Freitas fc0554f9ff fix for binary version upgrade support 2014-04-07 23:35:58 -04:00
Nathan Freitas 4ed6ea1e9c updated pre-built binaries 2014-04-07 22:43:09 -04:00
Nathan Freitas 7229c52f9c updated to openssl 1.0.1g 2014-04-07 22:42:59 -04:00
Nathan Freitas 6bce7d579d fix ant build script and target 2014-04-07 12:17:23 -04:00
Nathan Freitas e5b70ba4ab improve shell command, root and permissions handling 2014-04-07 11:10:31 -04:00
Nathan Freitas b734c6c232 add new library for superuser/shell commands 2014-04-07 11:10:19 -04:00
Nathan Freitas dda56335f0 updated to 13.0.6-BETA-1 2014-04-04 10:53:04 -04:00
Nathan Freitas 298f73c843 update Tor version code 2014-04-04 10:50:22 -04:00
Nathan Freitas 75d3ecb2ec update language wizard display to be more clear 2014-04-04 10:46:28 -04:00
Nathan Freitas fe44c29164 add binaries (for non NDK developers) 2014-04-04 10:27:36 -04:00
Nathan Freitas 05bf5b7b42 add/update translations from transifex 2014-04-04 10:27:26 -04:00
Nathan Freitas 344e914a53 add transifex tx config 2014-04-04 10:27:09 -04:00
Nathan Freitas 8140b32714 a little bit of cleanup of new binary installs 2014-04-04 10:19:23 -04:00
Nathan Freitas a309cece79 update changelog for 13.0.6 2014-04-03 23:28:42 -04:00
Nathan Freitas e25dc08fe5 fixes the menus for appcompat library 2014-04-03 23:23:20 -04:00
Nathan Freitas cc8d3e1eab update to return to binaries as ZIPd res/raw
stop using the libs/armeabi hack method
2014-04-03 23:01:39 -04:00
Nathan Freitas b59bd1a156 remove binary apps/libs 2014-04-03 22:24:18 -04:00
Nathan Freitas 445f63f0e2 updates ant build for new actionbarcompat 2014-04-03 22:22:32 -04:00
Nathan Freitas 765a3bfec4 updated graphic 2014-04-03 21:56:06 -04:00
Nathan Freitas 8c20759bed removed ABS depdency in favor of AppCompat 2014-04-03 21:54:26 -04:00
Daniel Martí d0d78809f5 Signed-off-by: Nathan Freitas <nathan@freitas.net> 2014-03-27 13:47:16 -04:00
Daniel Martí 75a0d34e28 Signed-off-by: Nathan Freitas <nathan@freitas.net> 2014-03-27 13:46:34 -04:00
Nathan Freitas e5fdf28aa6 updated binaries from new build script 2014-03-26 11:54:28 -04:00
Daniel Martí 57ef1c3f61 Fix building of openssl on newer systems
Forcing CC when running make works around this problem.

Signed-off-by: Nathan Freitas <nathan@freitas.net>
2014-03-26 11:47:01 -04:00
Nathan Freitas b5a043a6a0 updated Makefile to not build libevent TESTS 2014-03-26 11:33:58 -04:00
Nathan Freitas dab37b576e setting to 4.6 for compat 2014-03-24 14:45:13 -04:00
Nathan Freitas 1a346cf25e updated makefile 2014-03-24 14:34:20 -04:00
Nathan Freitas 02c389cf28 updated obfsclient external 2014-03-24 14:20:36 -04:00
Nathan Freitas 06b46f1a35 updated to only build tor binary and not tests, etc 2014-03-24 14:18:23 -04:00
Nathan Freitas d311f71ebf 13.0.6 minor UI updates, Tor version update 2014-03-03 10:38:32 -05:00
Nathan Freitas a24eacd57a add hi-res icon for the web 2014-03-03 10:38:11 -05:00
Nathan Freitas f322f6b2c8 add new graphics and icons 2014-03-03 10:37:58 -05:00
Nathan Freitas 806fe40985 update external commit tags 2014-03-03 10:37:45 -05:00
Nathan Freitas 27d5945add remove redundant iptables rules for transproxy 2014-03-03 10:37:35 -05:00
Nathan Freitas 4e1357bcca add new background graphics state change to main UI 2014-03-03 10:37:20 -05:00
Nathan Freitas 714af31a20 updated icon and main graphics 2014-03-03 10:37:01 -05:00
Nathan Freitas dc58c40b27 updated binaries built from "make -C external" 2014-03-03 10:36:44 -05:00
Nathan Freitas ce5ef9572c updating change log 2014-02-22 19:28:57 -05:00
Nathan Freitas 03667e2c91 update version to 13.0.5 2014-02-22 19:20:15 -05:00
Nathan Freitas d605b45488 add obfsclient build but don't include binary yet 2014-02-22 19:19:50 -05:00
Nathan Freitas 0aa4294a1e add new obfsclient module 2014-02-22 19:17:26 -05:00
Nathan Freitas c1cb30d1bb remove issue with service launching via explicit intent 2014-02-22 19:16:55 -05:00
Nathan Freitas 87411bea85 fix code for finding existing processes 2014-02-22 19:16:47 -05:00
Nathan Freitas 16c5426ea0 adding new bg images for next release 2014-02-22 19:16:20 -05:00
Nathan Freitas c3327d7ae8 13.0.4a fix for Tor link setup 2014-01-15 00:34:32 -05:00
Nathan Freitas 3b9d6c8eaa make sure Tor path link is cleanly setup and chmod'd 2014-01-15 00:33:51 -05:00
Nathan Freitas e55f724b00 bump to 13.0.4 2014-01-15 00:01:10 -05:00
Nathan Freitas cac2a28d50 updated TorBinaryInstaller now just handles resources 2014-01-14 23:58:54 -05:00
Nathan Freitas f538930b7c fix xtables installation and permission setting
more fixes for running from sdcard
2014-01-14 23:57:20 -05:00
Nathan Freitas 43625f835b bump to 13.0.3 2014-01-13 21:49:00 -05:00
Nathan Freitas c5959637af solves problem with binaries being stored on external SDcard 2014-01-13 21:48:28 -05:00
Nathan Freitas 649ca401e7 enable compiliation for all android not just armv7 2014-01-12 22:15:50 -05:00
Nathan Freitas 591161f1b8 updated to 13.0.2 2014-01-12 22:15:40 -05:00
Nathan Freitas 635e307182 cleanup imports 2014-01-12 22:15:21 -05:00
Nathan Freitas db53c191f1 updated binary versions in strings 2014-01-12 22:15:12 -05:00
Nathan Freitas 62a5da616f updated tor binary that works with armv5 and v7 2014-01-12 22:14:53 -05:00
Nathan Freitas 69271262cd updated torrc without automap settings (not needed) 2014-01-12 22:14:42 -05:00
Nathan Freitas 92d19e3402 ensures binary permissions are set 2014-01-12 22:14:30 -05:00
Nathan Freitas 14fab242af bump to 13.0.1 2014-01-09 22:01:28 -05:00
Nathan Freitas 39699e69c6 add new icons showing different status 2014-01-09 22:01:02 -05:00
Nathan Freitas d3c11bed4b add geoip v6 file and support in TorService 2014-01-09 21:32:07 -05:00
Nathan Freitas e24ae6cb07 update Makefile - try building with older toolchain 2014-01-09 21:15:23 -05:00
Nathan Freitas a60c614e6e change jtorctl path to github updated version 2014-01-09 21:14:49 -05:00
Nathan Freitas 8c4f09e2f5 new binaries built with update Makefile 2014-01-09 21:14:16 -05:00
Nathan Freitas 852792962e unregister receive and check for alternate library path 2014-01-09 21:14:01 -05:00
Nathan Freitas 1fa568d04c peg to new repo and head with fix for empty element bug 2014-01-09 21:12:57 -05:00
Nathan Freitas 8b8e51bb1b remove double entry for jtorctrl 2014-01-09 15:32:43 -05:00
Nathan Freitas cf5e4454eb fixes #2848 newnym might call a null conn in service 2014-01-09 15:29:51 -05:00
Nathan Freitas 069a9bf377 fixes #2847 use class name to start service 2014-01-09 15:28:53 -05:00
Nathan Freitas 2735a59151 update to 13.0.0; release candidate 1 2014-01-06 22:30:36 -05:00
Nathan Freitas 096144b4bc adding in binaries for UI/Android devs without NDK
All binaries can be built from source using Makefile in /external
2014-01-06 22:29:29 -05:00
Nathan Freitas f69c1aa445 updated jtorctrl build 2014-01-06 22:28:35 -05:00
Nathan Freitas 0b024c9efa Merge branch 'master' of https://github.com/eighthave/orbot into hans_build_patches
Conflicts:
	external/Makefile
2014-01-02 13:49:33 -05:00
Nathan Freitas d54cf74e3c bump to 13.0.0-alpha-1 2013-12-29 22:01:31 -05:00
Nathan Freitas 276e6c347d remove old external openssl-static path 2013-12-29 06:17:05 -05:00
Nathan Freitas e0a7fbb450 check for both link and original path in process lookup 2013-12-28 09:52:36 -05:00
Nathan Freitas b48bbc1487 updated AUTHORS for amoghbl1 2013-12-28 09:39:59 -05:00
Nathan Freitas e9396b7cc2 use new bundled xtables binary appropriately 2013-12-28 09:21:25 -05:00
Nathan Freitas ca28aded12 add patches for iptables/xtables building on Android 2013-12-28 09:21:13 -05:00
Nathan Freitas 76b15ddf58 adding new iptables/xtables build from source 2013-12-28 09:10:05 -05:00
Nathan Freitas 8b65332bbb clean up of error notifications 2013-12-28 02:18:00 -05:00
Nathan Freitas 8722db9f2d put threading of settings reload into TorService 2013-12-28 01:07:54 -05:00
Nathan Freitas d2006b219f remove static openssl android and replace with real openssl 2013-12-28 00:44:45 -05:00
Nathan Freitas 0e6bb4292d add new openssl 2013-12-28 00:44:16 -05:00
Nathan Freitas c4d8c97321 stop button for notification bar 2013-12-28 00:44:09 -05:00
Nathan Freitas c80c5d49df improvements on notification code 2013-12-28 00:43:51 -05:00
Nathan Freitas 5891feee9a service should be unbound when activity is destroyed
also some other cleanup of unused code
2013-12-28 00:43:36 -05:00
Nathan Freitas 867ff53b8b remove simple server source bundle 2013-12-27 21:44:55 -05:00
Nathan Freitas 3069fb5af4 run Tor from link to keep compatibility with OrbotHelper class
some apps use our OrbotHelper.java class and are expecting the
Tor binary process to be at /data/data/org.torproject.android/app_bin/tor
so we link that path to the lib/libtor.so path
2013-12-27 21:43:55 -05:00
Nathan Freitas 17f7d46e5c update menu, strings, icons for ChatSecure (from Gibberbot) 2013-12-27 21:43:33 -05:00
Nathan Freitas 198974a053 update to build openssl latest 2013-12-27 16:41:54 -05:00
Nathan Freitas 468076e3af set to 1.0.1e release 2013-12-27 15:58:29 -05:00
Nathan Freitas 8666b1b4df updating tor to 0.2.4.20 2013-12-27 15:29:03 -05:00
Nathan Freitas 95461da386 adding back in jtorctrl jar file 2013-12-27 15:28:39 -05:00
Nathan Freitas f3cbb6ed88 updating SDK and removing share intents 2013-12-27 15:28:28 -05:00
Nathan Freitas 6e795961f7 updating to Android 18 / 4.4 2013-12-27 15:28:15 -05:00
Nathan Freitas 420dd1e966 adding geoip ipv4 db back in for now 2013-12-27 15:27:54 -05:00
Nathan Freitas 1739473a1d more updates for moving binaries to libs/armeabi 2013-12-27 15:27:20 -05:00
Nathan Freitas 5870a674d8 update for 0.2.4.20 constant 2013-12-27 15:27:09 -05:00
Nathan Freitas 6a125a9dee more removal of share service from core Orbot
moving to a separate app
2013-12-27 13:34:16 -05:00
Nathan Freitas a0de73667f change "network conn" preference to be more clear 2013-12-27 13:25:03 -05:00
Nathan Freitas c58f009e84 remove simple jar from project (moving sharing to sep app) 2013-12-27 13:24:46 -05:00
Nathan Freitas 528642149d remove "ShareService" from projet (moving to separate app) 2013-12-27 13:24:25 -05:00
Nathan Freitas a8ca927610 remove simple file sharing server from build process 2013-12-27 13:24:15 -05:00
Nathan Freitas fbd4fdc857 updated to android-18 2013-12-27 12:43:12 -05:00
Nathan Freitas 6b0b0fa069 more changes for executing binaries from libs/jni folder 2013-12-27 12:30:20 -05:00
Nathan Freitas d40016b54a move minimum device support to API 9 or 2.3 2013-12-27 12:30:09 -05:00
Nathan Freitas d6d989af09 updated jar for jtor control 2013-12-27 12:29:59 -05:00
Nathan Freitas 4d6e0cca96 update makefile for new install process
update tags for libevent and tor
2013-12-27 11:14:11 -05:00
Nathan Freitas d236708e41 removing binaries from repo
binaries will now be stored in /libs/armeabi as psuedo shared libraries (actually executables)
android handles unpacking of shared libraries and makes them executable for user automatically
geoip will be available as an add-on download to reduce size of default app
2013-12-27 11:12:43 -05:00
Hans-Christoph Steiner ca8197fa5b update native build to include Android NDK build flags
This updates external/Makefile to be more integrated into the Android NDK,
by using the same variable names and including build flags from the NDK.
2013-12-05 19:28:54 -05:00
Hans-Christoph Steiner 2d34745b87 include note about git submodules in BUILD instructions 2013-12-05 18:49:23 -05:00
Hans-Christoph Steiner ddd62f29ae remove spaces and tabs where 'make' complains about them
spaces and tabs can have meaning in a Makefile, so stray ones can cause
troubles.  emacs makefile-mode warns about potentially troublesome errant
whitespace.
2013-12-05 18:38:11 -05:00
Nathan Freitas f4e73e9cd7 updating version to 12.0.5 2013-08-23 16:59:12 -04:00
Nathan Freitas abe1788648 another shared prefs fix 2013-08-23 16:46:48 -04:00
Nathan Freitas e632b3b04f fixes for sharing preferences across processes 2013-08-23 16:44:15 -04:00
Nathan Freitas 9a10cdda9d updated orbot glow icon 2013-08-23 13:03:59 -04:00
Nathan Freitas a9b41a8266 make orbot another background process 2013-08-23 12:56:18 -04:00
Nathan Freitas 8f44c516e1 make sure binaries and config files are updated 2013-08-23 12:56:04 -04:00
Nathan Freitas e84ee7101d added GUI support for flinging to a newnym identity 2013-08-23 12:47:31 -04:00
Nathan Freitas f12e556997 added support for NEWNYM signalling 2013-08-23 12:47:15 -04:00
Nathan Freitas 9dacb5be73 updated transproxy iptables rules to ensure clear/flush 2013-08-23 12:46:54 -04:00
Nathan Freitas 965dab26a9 updated to 12.0.4 2013-08-20 13:37:57 -04:00
Nathan Freitas 4407257e1c adding raw design resources 2013-08-20 13:26:39 -04:00
Nathan Freitas 5930964362 new green/tor on mode 2013-08-20 13:26:19 -04:00
Nathan Freitas cea338dab2 add new Root utility for checking if root is possible 2013-08-20 13:26:04 -04:00
Nathan Freitas 82fcea0dab fixes for superuser and iptables check code 2013-08-20 13:25:42 -04:00
Nathan Freitas 9d6f3c836b removed unneeded old iptables binaries 2013-08-20 13:25:23 -04:00
Nathan Freitas 38e2f49c9f 12.0.3 0.2.4.16-rc 2013-08-19 11:26:17 -04:00
Nathan Freitas 1bc97c6cc6 change default "disable network" pref to true 2013-08-19 11:24:43 -04:00
Nathan Freitas a97432c6e7 update manifest to 12.0.2 2013-08-19 11:20:38 -04:00
Nathan Freitas fb49463e10 update to latest tor 0.2.4.16-rc 2013-08-19 11:20:32 -04:00
Nathan Freitas 5bcb607391 update the readme copyright 2013-08-19 11:18:11 -04:00
Nathan Freitas 3d387af744 add our new icon source CC license link 2013-08-19 11:17:46 -04:00
Nathan Freitas eb1c6b0829 make the "check" button a bit smarter 2013-08-19 11:17:20 -04:00
Nathan Freitas 9a2a9897de updates to graphics, layouts and strings 2013-08-19 11:17:11 -04:00
Nathan Freitas 2cfd6af6c5 update torctrl jar 2013-08-19 09:35:24 -04:00
Nathan Freitas 79e6eecb5f update tor to tor-0.2.4.16-rc 2013-08-19 09:35:13 -04:00
Nathan Freitas 0a3cc50ce4 add resources for airplane mode/network disable 2013-08-19 09:34:27 -04:00
Nathan Freitas 2c278f3d52 fix for notifications and debug option for "airplane mode" 2013-08-19 09:34:03 -04:00
Nathan Freitas cdd75f31af disable share/send feature for this release 2013-08-19 09:33:55 -04:00
Nathan Freitas cfb047314a remove unneeded view and share intents 2013-08-19 09:33:44 -04:00
Nathan Freitas adc57ae291 removed android Debug code 2013-07-22 15:39:16 -04:00
Nathan Freitas d407f32166 update Tor binary version number to ensure upgrade 2013-07-22 15:20:47 -04:00
Nathan Freitas 5b574078c7 updated classpath for latest eclipse 2013-07-22 15:18:26 -04:00
Nathan Freitas bebb143fb9 make Orbot just one process 2013-07-22 15:18:15 -04:00
Nathan Freitas 21d1023ada fixes for prefs/settings management 2013-07-22 15:18:02 -04:00
n8fr8 303ceb416a updates for building 2013-07-22 13:57:10 -04:00
n8fr8 edd855f5ad new builds of binaries 2013-07-22 13:56:48 -04:00
n8fr8 42b111a216 updating commit peg for ndk8 fix 2013-07-22 13:39:40 -04:00
n8fr8 179ef6e04d updated git submodules to public https paths 2013-07-17 22:46:31 -04:00
305 changed files with 208668 additions and 18858 deletions

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="libs/jtorctl.jar"/>
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
<classpathentry kind="output" path="bin/classes"/>
</classpath>

79
.gitignore vendored
View File

@ -1,21 +1,68 @@
external/bin/
external/include/
external/iptables.foo/
external/iptables/
external/jtorctl-build-stamp
external/lib/
external/libevent-build-stamp
external/obfsproxy-build-stamp
external/openssl-static-build-stamp
external/privoxy-build-stamp
external/privoxy/
external/test.c
external/test.h.gch
external/tor-build-stamp
external/translation/
external/simple*
# 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/include/
/external/*-build-stamp
/external/lib/
/external/privoxy/
/external/test.c
/external/test.h.gch
/external/translation/
bin
gen
native
libs/jtorctl.jar
local.properties
builds
external/patches/*
obj
app/src/main/jniLibs/
app/src/main/libs/
orbotservice/src/main/libs/
orbotservice/src/main/jniLibs/

30
.gitmodules vendored
View File

@ -1,18 +1,20 @@
[submodule "external/openssl-static"]
path = external/openssl-static
url = git://github.com/guardianproject/android-external-openssl-ndk-static.git
[submodule "external/tor"]
path = external/tor
url = git://git.torproject.org/git/tor.git
url = https://git.torproject.org/git/tor.git
ignore = dirty
[submodule "external/libevent"]
path = external/libevent
url = git://github.com/libevent/libevent.git
[submodule "external/jtorctrl"]
path = external/jtorctrl
url = git://git.torproject.org/git/jtorctl
[submodule "external/jtorctl"]
path = external/jtorctl
url = git://git.torproject.org/git/jtorctl
[submodule "external/obfsproxy"]
path = external/obfsproxy
url = git://git.torproject.org/obfsproxy.git
url = https://github.com/libevent/libevent.git
ignore = dirty
[submodule "external/openssl"]
path = external/openssl
url = https://github.com/openssl/openssl.git
ignore = dirty
[submodule "external/zstd"]
path = external/zstd
url = https://github.com/facebook/zstd.git
ignore = dirty
[submodule "external/xz"]
path = external/xz
url = https://git.tukaani.org/xz.git
ignore = dirty

View File

@ -5,6 +5,16 @@
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value>&lt;project&gt;/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
<arguments>
@ -30,10 +40,40 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
<nature>org.eclipse.jdt.core.javanature</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>
<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>

View File

@ -1,11 +0,0 @@
<?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>

View File

@ -1 +0,0 @@
org.eclipse.wst.jsdt.launching.baseBrowserLibrary

View File

@ -1 +0,0 @@
Window

View File

@ -35,4 +35,10 @@ __sporkbomb <manuel@acanthephyra.net> implemented an updated set of logic
in TorTransProxy for handling the "transproxy all" mode of operation. Before
certain system processes were leaking traffic, and this was also detected
by his excellent auditing.
Amogh Pradeep <amoghbl1@gmail.com> submitted a patch to address an issue
with the ongoing data transfer notification dying now and then, and is
working on improving the notification display in general
We found a nice new power button vector set here under the CC license:
http://vector4free.com/vector/free-vector-power-buttons/

View File

@ -1,98 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.torproject.android"
android:versionName="v12-beta-tor-0.2.4.15-rc"
android:versionCode="56"
android:installLocation="auto"
>
<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-sdk android:minSdkVersion="5" android:targetSdkVersion="17"/>
<application android:name=".OrbotApp" android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:configChanges="locale|orientation|screenSize"
android:theme="@style/Theme.Sherlock"
android:largeHeap="true"
android:persistent="true"
android:allowBackup="false"
android:allowClearUserData="true"
android:hardwareAccelerated="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" />
<data android:scheme="bridge+obfs" />
</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=".wizard.LotsaText"/>
<activity android:name=".wizard.Permissions"/>
<activity android:name=".wizard.TipsAndTricks"/>
<activity android:name=".wizard.ConfigureTransProxy"/>
<activity android:name=".wizard.ChooseLocaleWizardActivity"/>
<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:process=":orbot"
>
<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>

70
BUILD
View File

@ -1,5 +1,6 @@
This document explains how to properly build an Android package of Orbot from source.
This document explains how to properly build an Android package of Orbot from
source.
Orbot includes, in the external directory, git repo submodules of:
- Tor
@ -7,71 +8,38 @@ Orbot includes, in the external directory, git repo submodules of:
- LibEvent
- 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):
ant: http://ant.apache.org/
Android Native Dev Kit or NDK (for C/C++ code): 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 Native Dev Kit or NDK (for C/C++ code):
http://developer.android.com/sdk/ndk/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 Android platform supports (ICS 4.x or android-15)
You will need to run the 'android' command in the SDK to install the necessary
Android platform supports (ICS 4.x or android-15)
To begin building, from the Orbot root directory, you first need to build all external C/native dependencies:
Be sure that you have all of the git submodules up-to-date:
export NDK_BASE={PATH TO YOUR NDK INSTALL}
make -C external
./tor-droid-make.sh fetch
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:
To begin building, from the Orbot root directory, it builds all submodules and
the project.
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
./tor-droid-make.sh build
Now build the Android app
ant release
(gradle / android studio instructions here)
This will produce an unsigned Tor package in ./bin/Orbot-unsigned.apk!
This will produce an unsigned Tor package APK.
To produce a usable package, you'll need to sign the .apk. The basics on
signing can be found on the Android developer site:
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!

186
CHANGELOG
View File

@ -1,186 +0,0 @@
NOTE: Specific #s below correspond to Trac tickets logged and maintained at https://trac.torproject.org/projects/tor/
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)

40
INSTALL
View File

@ -1,40 +0,0 @@
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
View File

@ -41,6 +41,41 @@ 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 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/)
Copyright © 2001-2010 by Privoxy Developers <ijbswa-developers@lists.sourceforge.net>
@ -158,3 +193,32 @@ is explicitely stated in the header of every file.
The GPL also contains some obligations. If you distribute netfilter/iptables code
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.
===============================================================================

33
README
View File

@ -1,15 +1,28 @@
Orbot: Android Onion Routing Robot
Tor 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.
This is a project forked from Orbot for building the tor binary for Android
How to Build
***********************************************
Orbot is a component of the Guardian Project, an effort to develop
a secure, anonymous smartphone for use by human rights activists, journalists
and others around the world. Learn more: https://guardianproject.info/
Please see: https://raw.githubusercontent.com/n8fr8/tor-android/master/BUILD
How to Use via Gradle
***********************************************
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
@ -21,7 +34,3 @@ Tor Frequently Asked Questions:
https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ
https://www.torproject.org/faq.html.en
***********************************************
/* Copyright (c) 2009-2012, Nathan Freitas, The Guardian Project
* https://guardianproject.info/ */

View File

@ -1,46 +0,0 @@
<!-- 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>

View File

@ -1,3 +0,0 @@
Manifest-Version: 1.0
Sealed: true

17
build.gradle Normal file
View File

@ -0,0 +1,17 @@
// 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()
}
}

View File

@ -1,83 +0,0 @@
<?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" />
<!-- 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 an env var"
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>

View File

@ -1,45 +0,0 @@
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

View File

@ -1,90 +0,0 @@
.
└── 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

425
external/Makefile vendored
View File

@ -5,107 +5,183 @@
# on Debian or Ubuntu
### these modify the calling shell
# point pkg-config to the .pc files generated from these builds
export PKG_CONFIG_PATH=$(LOCAL)/lib/pkgconfig
# workaround for cross-compiling bug in autoconf
export ac_cv_func_malloc_0_nonnull=yes
export ac_cv_func_setpgrp_void=yes
CWD = $(shell pwd)
PROJECT_ROOT = $(CWD)/..
EXTERNAL_ROOT = $(CWD)
EXTERNAL_ROOT := $(shell pwd)
# Android NDK setup:
NDK_BASE ?= /usr/local/android-ndk
NDK_PLATFORM_LEVEL ?= 8
NDK_TOOLCHAIN_VERSION=4.6
NDK_SYSROOT=$(NDK_BASE)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-arm
NDK_UNAME=`uname -s | tr '[A-Z]' '[a-z]'`
#NDK_TOOLCHAIN=$(NDK_BASE)/toolchains/arm-linux-androideabi-4.4.3/prebuilt/$(NDK_UNAME)-x86
NDK_TOOLCHAIN=$(NDK_BASE)/toolchains/arm-linux-androideabi-4.6/prebuilt/$(NDK_UNAME)-x86
DEBUG ?= 0
# to use the real HOST tag, you need the latest libtool files:
# http://stackoverflow.com/questions/4594736/configure-does-not-recognize-androideabi
#HOST := arm-none-linux-gnueabi
HOST := arm-linux-androideabi
# No-op command.
NOOP = true
# install root for built files
DESTDIR = $(EXTERNAL_ROOT)
# TODO try adding the Android-style /data/app.name here
prefix =
LOCAL := $(DESTDIR)$(prefix)
# 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
# user building this will have to manually set NDK_PROCESSOR or NDK_TOOLCHAIN.
CPU := $(shell uname -m)
ifeq ($(CPU),x86_64)
NDK_PROCESSOR=x86_64
else
NDK_PROCESSOR=x86
endif
export PATH := ${PATH}:$(NDK_TOOLCHAIN)/bin:$(LOCAL)/bin
# Android NDK setup
ANDROID_NDK_HOME ?= /opt/android-ndk
ANDROID_NDK ?= $(ANDROID_NDK_HOME)
NDK_PLATFORM_LEVEL ?= 16
NDK_TOOLCHAIN_VERSION=4.9
APP_ABI ?= armeabi
NDK_ABI ?= $(APP_ABI)
CC := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-gcc --sysroot=$(NDK_SYSROOT)
CXX := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-g++
CPP := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-cpp
LD := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-ld
AR := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-ar
RANLIB := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-ranlib
STRIP := $(NDK_TOOLCHAIN)/bin/arm-linux-androideabi-strip \
--strip-unneeded -R .note -R .comment
# PIEFLAGS for SDK 16/Android L must be set to -fPIE -pie, but can override for earlier targets
PIEFLAGS ?= -fPIE -pie
CFLAGS = -DANDROID -I$(LOCAL) -I$(LOCAL)/include -I$(NDK_SYSROOT)/usr/include
LDFLAGS = -L$(LOCAL) -L$(LOCAL)/lib -L$(NDK_SYSROOT)/usr/lib
ifneq ($(filter arm%, $(APP_ABI)),)
NDK_ABI := arm
endif
ifneq ($(filter arm64%, $(APP_ABI)),)
NDK_ABI := arm64
endif
# build as small as possible, mostly useful for static binaries
CFLAGS += -fdata-sections -ffunction-sections -Os
LDFLAGS += -Wl,--gc-sections
NDK_SYSROOT=$(ANDROID_NDK_HOME)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-$(NDK_ABI)
NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
ifneq ($(filter mips%, $(NDK_ABI)),)
HOST := $(NDK_ABI)el-linux-android
endif
ifneq ($(filter arm64, $(NDK_ABI)),)
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
TARGET_ARCH_ABI = $(APP_ABI)
#include $(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/setup.mk
CC := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-gcc --sysroot=$(NDK_SYSROOT)
CXX := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-g++ --sysroot=$(NDK_SYSROOT)
CPP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-cpp --sysroot=$(NDK_SYSROOT)
LD := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ld
AR := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ar
RANLIB := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-ranlib
ifeq ($(DEBUG), 1)
STRIP := $(NOOP)
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
ifeq ($(APP_ABI),armeabi-v7a)
CFLAGS += $(TARGET_arm_release_CFLAGS)
endif
ifeq ($(APP_ABI),armeabi)
CFLAGS += $(TARGET_thumb_release_CFLAGS)
endif
.PHONY = clean showsetup \
assets assets-clean \
openssl-static openssl-static-clean \
libevent libevent-clean \
lzma lzma-clean \
zstd zstd-clean \
tor tor-clean
all: assets
#------------------------------------------------------------------------------#
# openssl-static
# openssl
openssl-static/obj/local/armeabi/libcrypto.a:
cd openssl-static && \
ndk-build
# 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-static/obj/local/armeabi/libssl.a:
cp config.sub openssl-static
cp config.guess openssl-static
cd openssl-static && \
ndk-build
# 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:
cd openssl && \
./Configure android -D__ANDROID_API__=$(NDK_PLATFORM_LEVEL) -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr depend && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
openssl-static-build-stamp: openssl-static/obj/local/armeabi/libcrypto.a openssl-static/obj/local/armeabi/libssl.a
touch openssl-static-build-stamp
lib/libssl.a:
cp config.sub openssl
cp config.guess openssl
cd openssl && \
./Configure android -D__ANDROID_API__=$(NDK_PLATFORM_LEVEL) -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr depend && \
make CC="$(CC)" ANDROID_DEV=$(NDK_SYSROOT)/usr build_libs
openssl-static: openssl-static-build-stamp
openssl-build-stamp: lib/libcrypto.a lib/libssl.a
touch openssl-build-stamp
openssl: openssl-build-stamp
test -d lib || mkdir lib
test -d include || mkdir include
test -d include/openssl || mkdir include/openssl
cp openssl-static/obj/local/armeabi/libcrypto.a lib
cp openssl-static/obj/local/armeabi/libssl.a lib
cp openssl-static/include/openssl/* include/openssl
cp openssl/libcrypto.a lib/libcrypto.a
cp openssl/libssl.a lib/libssl.a
cp openssl/include/openssl/* include/openssl
openssl-static-clean:
-cd openssl-static && \
ndk-build clean
-rm openssl-static-build-stamp
openssl-clean:
-rm openssl-build-stamp
-rm lib/libcrypto.a
-rm lib/libssl.a
-cd openssl-static && \
-cd openssl && \
git clean -fdx
#------------------------------------------------------------------------------#
# libevent
libevent/Makefile:
sed -i 's@\(SUBDIRS = . include\) sample test@\1@' libevent/Makefile.am
cp libevent-patch-1 libevent
-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
cp config.sub libevent
cp config.guess libevent
cd libevent && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
./configure \
--host=$(HOST) \
--disable-shared
libevent-build-stamp: libevent/Makefile
$(MAKE) -C libevent
$(MAKE) -C libevent ./include/event2/event-config.h all-am
touch libevent-build-stamp
libevent: openssl-static libevent-build-stamp
libevent: openssl libevent-build-stamp
test -d lib || mkdir lib
test -d include || mkdir include
cp libevent/.libs/libevent.a lib
@ -117,30 +193,57 @@ libevent-clean:
-rm -f libevent-build-stamp
-cd libevent && \
git clean -fdx
#------------------------------------------------------------------------------#
# iptables
# lzma
iptables/Makefile:
cd iptables && ./autogen.sh
cp config.sub iptables
cp config.guess iptables
cd iptables && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -DNO_SHARED_LIBS -DXTABLES_INTERNAL -DIPTABLES_VERSION=\"1.4.10\" =-DXTABLES_VERSION=\"1.4.10\" # -DIPT_LIB_DIR=\"$(IPT_LIBDIR)\" -DXTABLES_LIBDIR -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
./configure \
--host=$(HOST) \
--disable-shared
xz/Makefile:
cd xz && ./autogen.sh
cp config.sub xz
cp config.guess xz
cd xz && \
CC="$(CC)" CXX="$(CXX)" PKG_CONFIG_PATH="$(EXTERNAL_ROOT)/lib/pkgconfig" AR="$(AR)" RANLIB="$(RANLIB)" CFLAGS="$(CFLAGS) -std=c99" LDFLAGS="$(LDFLAGS)" \
./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)
iptables-build-stamp: iptables/Makefile
$(MAKE) -C iptables
touch iptables-build-stamp
lzma: lzma-build-stamp
$(MAKE) -C xz install
iptables: iptables-build-stamp
lzma-build-stamp: xz/Makefile
touch lzma-build-stamp
iptables-clean:
-rm -f iptables-build-stamp
-cd iptables
lzma-clean:
-rm -rf include/lzma
-rm -f include/lzma.h
-rm -f lib/liblzma.a
-rm -f lib/liblzma.la
-rm -f lzma-build-stamp
-cd xz && \
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
@ -152,21 +255,20 @@ tor/Makefile: tor/configure
cp config.sub tor
cp config.guess tor
cd tor && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow" LDFLAGS="$(LDFLAGS)" \
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)" \
LIBS="-L$(EXTERNAL_ROOT)/lib" CFLAGS="-I$(EXTERNAL_ROOT)/include -I$(EXTERNAL_ROOT)/include/event2" \
./configure \
--host=$(HOST) \
--prefix=$(NDK_TOOLCHAIN) \
--disable-asciidoc \
--enable-static-libevent --with-libevent-dir=$(EXTERNAL_ROOT) \
--enable-static-openssl --with-openssl-dir=$(EXTERNAL_ROOT) \
--disable-linker-hardening --disable-gcc-hardening
--disable-linker-hardening --disable-gcc-hardening --disable-tool-name-check --disable-systemd --disable-module-dirauth
tor-build-stamp: tor/Makefile
$(MAKE) -C tor
$(MAKE) -C tor all-am
touch tor-build-stamp
tor: libevent openssl-static tor-build-stamp
tor: lzma zstd libevent openssl tor-build-stamp
test -d bin || mkdir bin
cp tor/src/or/tor bin
@ -175,145 +277,38 @@ tor-clean:
-rm -f tor-build-stamp
-cd tor && \
git clean -fdx
-cd tor && \
git reset HEAD --hard
#------------------------------------------------------------------------------#
# obfsproxy
#create and clean assets: FYI - tor is stored as a ZIP file with an so extension
#in the libs directly, so it is handled like a shared library for local installation
obfsproxy/Makefile:
cp obfsproxy_android_no_hardening.patch obfsproxy
-cd obfsproxy && \
patch -N -p1 --reject-file=- < obfsproxy_android_no_hardening.patch
cd obfsproxy && \
./autogen.sh
cp config.sub obfsproxy
cp config.guess obfsproxy
cd obfsproxy && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -fPIE -fwrapv -fno-strict-aliasing -fno-strict-overflow" LDFLAGS="$(LDFLAGS)" \
libevent_LIBS="-L$(EXTERNAL_ROOT)/lib -levent" libevent_CFLAGS="-I$(EXTERNAL_ROOT)/include" \
libcrypto_LIBS="-L$(EXTERNAL_ROOT)/lib -lcrypto" libcrypto_CFLAGS="-I$(EXTERNAL_ROOT)/include" \
./configure \
--host=$(HOST) \
--prefix=$(NDK_TOOLCHAIN) \
obfsproxy-build-stamp: obfsproxy/Makefile
$(MAKE) -C obfsproxy
touch obfsproxy-build-stamp
obfsproxy: openssl-static libevent obfsproxy-build-stamp
test -d bin || mkdir bin
cp obfsproxy/obfsproxy bin
obfsproxy-clean:
-rm -f bin/obfsproxy
-rm -f obfsproxy-build-stamp
-cd obfsproxy && \
git clean -fdx
#------------------------------------------------------------------------------#
# privoxy
privoxy/config.log:
tar xzvf privoxy.tar.gz
mv privoxy*stable privoxy
cp privoxy.configure.in privoxy/configure.in
cd privoxy && \
autoheader
cd privoxy && \
autoconf
cp config.sub privoxy
cp config.guess privoxy
cd privoxy && \
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
./configure \
--host=arm-linux-eabi --enable-pthread
## --disable-pthread
privoxy-build-stamp: privoxy/config.log
$(MAKE) -C privoxy
touch privoxy-build-stamp
privoxy: privoxy-build-stamp
test -d bin || mkdir bin
cp privoxy/privoxy bin
privoxy-clean:
-rm -f bin/privoxy
-rm -f privoxy-build-stamp
-rm -rf privoxy
#------------------------------------------------------------------------------#
# SimpleServer library #
simple/bin/simple.jar:
tar xzvf simple.tar.gz
mv simple-* simple
test -d simple/bin || mkdir simple/bin
cd simple/src && \
javac -source 1.6 -target 1.6 org/simpleframework/http/core/ContainerServer.java -d ../bin
cd simple/src && \
javac -source 1.6 -target 1.6 org/simpleframework/transport/connect/Connection.java -d ../bin
cd simple/src && \
javac -source 1.6 -target 1.6 org/simpleframework/transport/connect/SocketConnection.java -d ../bin
cd simple/bin && \
jar cvf simple.jar *
simple-build-stamp: simple/bin/simple.jar
touch simple-build-stamp
simple: simple-build-stamp
test -d bin || mkdir bin
cp simple/bin/simple.jar bin
simple-clean:
- rm -f bin/simple.jar
- rm -f simple-build-stamp
- rm -rf simple
#------------------------------------------------------------------------------#
# 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 privoxy jtorctl obfsproxy simple
install -d ../res/raw
install -d ../libs
install bin/privoxy ../res/raw
install bin/obfsproxy ../res/raw
install bin/jtorctl.jar ../libs
install bin/simple.jar ../libs
cd bin && \
zip ../../res/raw/tor.mp3 tor
assets: tor
install -d ../tor-android-binary/src/main/libs/$(APP_ABI)
-$(STRIP) bin/tor
-zip ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so bin/tor
assets-clean:
-rm ../res/raw/tor.mp3
-rm ../res/raw/privoxy
-rm ../libs/*
-rm ../res/raw/obfsproxy
-rm ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so
#------------------------------------------------------------------------------#
# cleanup, cleanup, put the toys away
clean: openssl-static-clean libevent-clean tor-clean privoxy-clean jtorctl-clean assets-clean
##clean: openssl-clean libevent-clean tor-clean polipo-clean assets-clean
clean: openssl-clean libevent-clean lzma-clean zstd-clean tor-clean
#------------------------------------------------------------------------------#
# debugging stuff
showsetup:
@echo "NDK_TOOLCHAIN_VERSION: $(NDK_TOOLCHAIN_VERSION)"
@echo "NDK_TOOLCHAIN: $(NDK_TOOLCHAIN)"
@echo "NDK_PLATFORM_LEVEL: $(NDK_PLATFORM_LEVEL)"
@echo "NDK_SYSROOT: $(NDK_SYSROOT)"
@echo "APP_ABI: $(APP_ABI)"
@echo "HOST: $(HOST)"
@echo "CC: $(CC)"
@echo "LD: $(LD)"
@echo "CFLAGS: $(CFLAGS)"
@echo "LDFLAGS: $(LDFLAGS)"

0
external/config.guess vendored Executable file → Normal file
View File

0
external/config.sub vendored Executable file → Normal file
View File

1
external/jtorctl vendored

@ -1 +0,0 @@
Subproject commit d818f4381e164273aadfcbff131da8e1a2cbc1f8

2
external/libevent vendored

@ -1 +1 @@
Subproject commit 5a12d8359727e8f10d08f8cd2b36c9f78747908f
Subproject commit 90ae4c5013032158bafad41279823d90eec4d206

29
external/libevent-patch-1 vendored Normal file
View File

@ -0,0 +1,29 @@
For some reason arc4random_addrandom isn't present in 64-bit android archs. !
diff --git a/configure.ac b/configure.ac
index d42edd8..c511be7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -290,7 +290,7 @@ AC_HEADER_TIME
dnl Checks for library functions.
AC_CHECK_FUNCS([gettimeofday vasprintf fcntl clock_gettime strtok_r strsep])
-AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
+AC_CHECK_FUNCS([getnameinfo strlcpy inet_ntop inet_pton signal sigaction strtoll inet_aton pipe eventfd sendfile mmap splice arc4random arc4random_buf arc4random_addrandom issetugid geteuid getegid getprotobynumber setenv unsetenv putenv sysctl])
AC_CHECK_FUNCS([umask])
AC_CACHE_CHECK(
diff --git a/evutil_rand.c b/evutil_rand.c
index 284341c..97161e4 100644
--- a/evutil_rand.c
+++ b/evutil_rand.c
@@ -174,7 +174,9 @@ evutil_secure_rng_get_bytes(void *buf, size_t n)
void
evutil_secure_rng_add_bytes(const char *buf, size_t n)
{
+#ifdef _EVENT_HAVE_ARC4RANDOM_ADDRANDOM
arc4random_addrandom((unsigned char*)buf,
n>(size_t)INT_MAX ? INT_MAX : (int)n);
+#endif
}

1
external/obfsproxy vendored

@ -1 +0,0 @@
Subproject commit 94ebc4c3edf1e3e5f313444e59981ac557578df5

View File

@ -1,19 +0,0 @@
commit d42eec7683ce9d47fc846e511e815ec1b2950c27
Author: n8fr8 <nathan@freitas.net>
Date: Fri May 4 17:32:51 2012 -0400
remove hardening for android
diff --git a/configure.ac b/configure.ac
index facd3c6..ad405ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@ AC_CHECK_HEADERS([sys/types.h])
AC_CHECK_HEADERS([netinet/in.h])
### Compiler Hardening ###
-AX_ENABLE_HARDENING
+##AX_ENABLE_HARDENING
### Libraries ###

1
external/openssl vendored Submodule

@ -0,0 +1 @@
Subproject commit e71ebf275da66dfd601c92e0e80a35114c32f6f8

@ -1 +0,0 @@
Subproject commit 85061d07ccc04ee40f9cc66cbac86d53196d1f3f

File diff suppressed because it is too large Load Diff

Binary file not shown.

BIN
external/simple.tar.gz vendored

Binary file not shown.

2
external/tor vendored

@ -1 +1 @@
Subproject commit e7b435872cce464fee8efa75cdb228f07a367c2b
Subproject commit da95b91355248ad8f3a6aa6733cc6d24915f59ce

1
external/xz vendored Submodule

@ -0,0 +1 @@
Subproject commit 3d566cd519017eee1a400e7961ff14058dfaf33c

1
external/zstd vendored Submodule

@ -0,0 +1 @@
Subproject commit f4340f46b2387bc8de7d5320c0b83bb1499933ad

17
gradle.properties Normal file
View File

@ -0,0 +1,17 @@
## Project-wide Gradle settings.
#
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
#
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
# Default value: -Xmx10248m -XX:MaxPermSize=256m
#
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
#Mon Jun 20 21:44:59 EDT 2016
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
android.useDeprecatedNdk=true
aar.deployPath=/media/n8fr8/nate128/dev/repos/gpmaven

BIN
gradle/wrapper/gradle-wrapper.jar vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,6 @@
#Thu Oct 11 16:49:15 EDT 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

172
gradlew vendored Executable file
View File

@ -0,0 +1,172 @@
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"

84
gradlew.bat vendored Normal file
View File

@ -0,0 +1,84 @@
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega

Binary file not shown.

Binary file not shown.

View File

@ -1,243 +0,0 @@
From c2620d6939713762e30badc3ed5da981e296b742 Mon Sep 17 00:00:00 2001
From: patch <patrickbx@gmail.com>
Date: Mon, 23 Jul 2012 16:12:55 -0400
Subject: [PATCH] Modified iptables rules for transproxying. UDP is now
blocked. Also removed some redundant rules and reordered
others. I reordered by the idea that its generally easier
to specifically allow traffic before your reject it.
---
.../torproject/android/service/TorTransProxy.java | 133 ++++++++++----------
1 file changed, 64 insertions(+), 69 deletions(-)
diff --git a/src/org/torproject/android/service/TorTransProxy.java b/src/org/torproject/android/service/TorTransProxy.java
index 2571123..c248a9f 100644
--- a/src/org/torproject/android/service/TorTransProxy.java
+++ b/src/org/torproject/android/service/TorTransProxy.java
@@ -224,6 +224,15 @@ public class TorTransProxy implements TorServiceConstants {
int torUid = context.getApplicationInfo().uid;
+ // Allow everything for Tor
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(torUid);
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
//build up array of shell cmds to execute under one root context
for (TorifiedApp tApp:apps)
{
@@ -235,9 +244,9 @@ public class TorTransProxy implements TorServiceConstants {
{
TorService.logMessage("enabling transproxy for app: " + tApp.getUsername() + "(" + tApp.getUid() + ")");
-
- // Set up port redirection
- script.append(ipTablesPath);
+
+ // Set up port redirection
+ script.append(ipTablesPath);
script.append(" -t nat");
script.append(" -A OUTPUT -p tcp");
script.append(" ! -d 127.0.0.1"); //allow access to localhost
@@ -251,14 +260,28 @@ public class TorTransProxy implements TorServiceConstants {
// Same for DNS
script.append(ipTablesPath);
script.append(" -t nat");
- script.append(" -A OUTPUT -p udp -m owner --uid-owner ");
+ script.append(" -A OUTPUT -p udp");
+ script.append(" -m owner --uid-owner ");
script.append(tApp.getUid());
script.append(" -m udp --dport ");
script.append(STANDARD_DNS_PORT);
script.append(" -j REDIRECT --to-ports ");
script.append(TOR_DNS_PORT);
script.append(" || exit\n");
-
+
+ // Allow loopback
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(tApp.getUid());
+ script.append(" -o lo");
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
+ /*
+ //Outgoing loopback already allowed (23/7/12)
+
int[] ports = {TOR_DNS_PORT,TOR_TRANSPROXY_PORT,PORT_SOCKS,PORT_HTTP};
for (int port : ports)
@@ -276,53 +299,32 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" -j ACCEPT");
script.append(" || exit\n");
}
-
- // Allow loopback
+ */
+
+ // Reject all other outbound TCP packets
script.append(ipTablesPath);
script.append(" -t filter");
script.append(" -A OUTPUT");
script.append(" -m owner --uid-owner ");
script.append(tApp.getUid());
script.append(" -p tcp");
- script.append(" -o lo");
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
- // Reject DNS that is not from Tor (order is important - first matched rule counts!)
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -m owner --uid-owner ");
- script.append(tApp.getUid());
- script.append(" -p udp");
- script.append(" --dport ");
- script.append(STANDARD_DNS_PORT);
script.append(" -j REJECT");
script.append(" || exit\n");
-
- // Reject all other outbound TCP packets
+
+ // Reject all other outbound UDP packets
script.append(ipTablesPath);
script.append(" -t filter");
script.append(" -A OUTPUT");
script.append(" -m owner --uid-owner ");
script.append(tApp.getUid());
- script.append(" -p tcp");
+ script.append(" -p udp");
script.append(" -j REJECT");
script.append(" || exit\n");
+
}
}
-
- // Allow everything for Tor
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -m owner --uid-owner ");
- script.append(torUid);
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
String[] cmdAdd = {script.toString()};
code = TorServiceUtils.doShellCommand(cmdAdd, res, runRoot, waitFor);
@@ -450,8 +452,8 @@ public class TorTransProxy implements TorServiceConstants {
int torUid = context.getApplicationInfo().uid;
- // Set up port redirection
- script.append(ipTablesPath);
+ // Set up port redirection
+ script.append(ipTablesPath);
script.append(" -t nat");
script.append(" -A OUTPUT -p tcp");
script.append(" ! -d 127.0.0.1"); //allow access to localhost
@@ -465,14 +467,36 @@ public class TorTransProxy implements TorServiceConstants {
// Same for DNS
script.append(ipTablesPath);
script.append(" -t nat");
- script.append(" -A OUTPUT -p udp -m owner ! --uid-owner ");
+ script.append(" -A OUTPUT -p udp");
+ script.appent(" -m owner ! --uid-owner ");
script.append(torUid);
script.append(" -m udp --dport ");
script.append(STANDARD_DNS_PORT);
script.append(" -j REDIRECT --to-ports ");
script.append(TOR_DNS_PORT);
script.append(" || exit\n");
+
+ // Allow loopback
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -o lo");
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+ // Allow everything for Tor
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(torUid);
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
+
+ /*
+ //Outgoing loopback already allowed (23/7/12)
+
int[] ports = {TOR_DNS_PORT,TOR_TRANSPROXY_PORT,PORT_SOCKS,PORT_HTTP};
for (int port : ports)
@@ -490,25 +514,8 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" -j ACCEPT");
script.append(" || exit\n");
- }
-
- // Allow loopback
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -p tcp");
- script.append(" -o lo");
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
+ } */
- // Allow everything for Tor
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -m owner --uid-owner ");
- script.append(torUid);
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
if (TorService.ENABLE_DEBUG_LOG)
{
@@ -532,23 +539,11 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" --log-uid");
script.append(" || exit\n");
}
-
- // Reject DNS that is not from Tor (order is important - first matched rule counts!)
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -p udp");
- script.append(" --dport ");
- script.append(STANDARD_DNS_PORT);
- script.append(" -j REJECT");
- script.append(" || exit\n");
-
- // Reject all other outbound TCP packets
+
+ // Reject all other outbound packets by default
script.append(ipTablesPath);
script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -p tcp");
- script.append(" -j REJECT");
+ script.append(" -P OUTPUT DROP");
script.append(" || exit\n");
String[] cmdAdd = {script.toString()};
--
1.7.9.5

View File

@ -1,11 +0,0 @@
_______________________________________________
Guardian-dev mailing list
Post: Guardian-dev@lists.mayfirst.org
List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev
To Unsubscribe
Send email to: Guardian-dev-unsubscribe@lists.mayfirst.org
Or visit: https://lists.mayfirst.org/mailman/options/guardian-dev/nathan%40guardianproject.info
You are subscribed as: nathan@guardianproject.info

View File

@ -1,390 +0,0 @@
Index: src/org/torproject/android/service/TorService.java
===================================================================
--- src/org/torproject/android/service/TorService.java (revision 24697)
+++ src/org/torproject/android/service/TorService.java (working copy)
@@ -710,10 +710,36 @@
if (enableTransparentProxy)
{
- showAlert("Status", "Setting up transparent proxying...");
-
- //TorTransProxy.setDNSProxying();
- int code = TorTransProxy.setTransparentProxyingByApp(this,AppManager.getApps(this),transProxyAll);
+ //TODO: Find a nice place for the next (commented) line
+ //TorTransProxy.setDNSProxying();
+
+ int code = 0; // Default state is "okay"
+
+ if(transProxyPortFallback)
+ {
+ showAlert("Status", "Setting up port-based transparent proxying...");
+ StringTokenizer st = new StringTokenizer(portProxyList, ",");
+ int status = code;
+ while (st.hasMoreTokens())
+ {
+ status = TorTransProxy.setTransparentProxyingByPort(this, Integer.parseInt(st.nextToken()));
+ if(status != 0)
+ code = status;
+ }
+ }
+ else
+ {
+ if(transProxyAll)
+ {
+ showAlert("Status", "Setting up full transparent proxying...");
+ code = TorTransProxy.setTransparentProxyingAll(this);
+ }
+ else
+ {
+ showAlert("Status", "Setting up app-based transparent proxying...");
+ code = TorTransProxy.setTransparentProxyingByApp(this,AppManager.getApps(this),transProxyAll);
+ }
+ }
TorService.logMessage ("TorTransProxy resp code: " + code);
@@ -725,17 +751,7 @@
{
showAlert("Status", "WARNING: error starting transparent proxying!");
}
-
- //this is for Androids w/o owner module support as a circumvention only fallback
- if (transProxyPortFallback)
- {
- StringTokenizer st = new StringTokenizer(portProxyList, ",");
-
- while (st.hasMoreTokens())
- TorTransProxy.setTransparentProxyingByPort(this, Integer.parseInt(st.nextToken()));
-
- }
-
+
return true;
}
Index: src/org/torproject/android/service/TorTransProxy.java
===================================================================
--- src/org/torproject/android/service/TorTransProxy.java (revision 24697)
+++ src/org/torproject/android/service/TorTransProxy.java (working copy)
@@ -136,8 +136,6 @@
//redirectDNSResolvConf(); //not working yet
String ipTablesPath = new File(context.getDir("bin", 0),"iptables").getAbsolutePath();
-
- boolean ipTablesOld = false;
StringBuilder script = new StringBuilder();
@@ -145,14 +143,12 @@
int code = -1;
purgeIptables(context);
-
- script = new StringBuilder();
-
+
//build up array of shell cmds to execute under one root context
for (int i = 0; i < apps.length; i++)
{
- if (forceAll || apps[i].isTorified()) //if "Tor Everything" on or app is set to true
+ if (apps[i].isTorified()) //if app is set to true
{
if (apps[i].getUsername().equals(TorServiceConstants.TOR_APP_USERNAME))
@@ -170,14 +166,8 @@
script.append(" -m owner --uid-owner ");
script.append(apps[i].getUid());
script.append(" -m tcp --syn");
-
- if (ipTablesOld)
- script.append(" -j DNAT --to 127.0.0.1:");
- else
- script.append(" -j REDIRECT --to-ports ");
-
+ script.append(" -j REDIRECT --to-ports ");
script.append(TOR_TRANSPROXY_PORT);
-
script.append(" || exit\n");
//DNS
@@ -187,57 +177,37 @@
script.append(apps[i].getUid());
script.append(" -m udp --dport ");
script.append(STANDARD_DNS_PORT);
+ script.append(" -j REDIRECT --to-ports ");
+ script.append(TOR_DNS_PORT);
+ script.append(" || exit\n");
- if (ipTablesOld)
- script.append(" -j DNAT --to 127.0.0.1:");
- else
- script.append(" -j REDIRECT --to-ports ");
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT -p tcp");
+ script.append(" -m owner --uid-owner ");
+ script.append(apps[i].getUid());
+ script.append(" -m tcp --dport ");
+ script.append(TOR_TRANSPROXY_PORT);
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT -p udp");
+ script.append(" -m owner --uid-owner ");
+ script.append(apps[i].getUid());
+ script.append(" -m udp --dport ");
script.append(TOR_DNS_PORT);
-
+ script.append(" -j ACCEPT");
script.append(" || exit\n");
+
+ script.append(ipTablesPath);
+ script.append(" -t filter -A OUTPUT -m owner --uid-owner ");
+ script.append(apps[i].getUid());
+ script.append(" -j DROP"); //drop all other packets as Tor won't handle them
+ script.append(" || exit\n");
- if (ipTablesOld) //for some reason this doesn't work on iptables 1.3.7
- {
- script.append(ipTablesPath);
- script.append(" -t nat");
- script.append(" -A OUTPUT -m owner --uid-owner ");
- script.append(apps[i].getUid());
- script.append(" -j DROP");
- script.append(" || exit\n");
- }
- else
- {
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT -p tcp");
- script.append(" -m owner --uid-owner ");
- script.append(apps[i].getUid());
- script.append(" -m tcp --dport ");
- script.append(TOR_TRANSPROXY_PORT);
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT -p udp");
- script.append(" -m owner --uid-owner ");
- script.append(apps[i].getUid());
- script.append(" -m udp --dport ");
- script.append(TOR_DNS_PORT);
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
- script.append(ipTablesPath);
- script.append(" -t filter -A OUTPUT -m owner --uid-owner ");
- script.append(apps[i].getUid());
- script.append(" -j DROP"); //drop all other packets as Tor won't handle them
- script.append(" || exit\n");
-
- }
-
-
}
}
@@ -260,20 +230,13 @@
//String baseDir = context.getDir("bin",0).getAbsolutePath() + '/';
String ipTablesPath = new File(context.getDir("bin", 0),"iptables").getAbsolutePath();
-
- boolean ipTablesOld = false;
StringBuilder script = new StringBuilder();
StringBuilder res = new StringBuilder();
int code = -1;
-
- String[] cmdFlush = {script.toString()};
- code = TorServiceUtils.doShellCommand(cmdFlush, res, true, true);
- //String msg = res.toString(); //get stdout from command
+ purgeIptables(context);
- script = new StringBuilder();
-
//TCP
//iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $srcPortNumber -j REDIRECT --to-port $dstPortNumbe
@@ -283,14 +246,8 @@
script.append(" --dport ");
script.append(port);
//script.append(" -m tcp --syn");
-
- if (ipTablesOld)
- script.append(" -j DNAT --to 127.0.0.1:");
- else
- script.append(" -j REDIRECT --to-ports ");
-
+ script.append(" -j REDIRECT --to-ports ");
script.append(TOR_TRANSPROXY_PORT);
-
script.append(" || exit\n");
script.append(ipTablesPath);
@@ -298,14 +255,8 @@
script.append(" -A OUTPUT -p udp");
script.append(" --dport ");
script.append(port);
-
- if (ipTablesOld)
- script.append(" -j DNAT --to 127.0.0.1:");
- else
- script.append(" -j REDIRECT --to-ports ");
-
+ script.append(" -j REDIRECT --to-ports ");
script.append(TOR_TRANSPROXY_PORT);
-
script.append(" || exit\n");
//DNS
@@ -314,24 +265,134 @@
script.append(" -A OUTPUT -p udp ");
script.append(" -m udp --dport ");
script.append(STANDARD_DNS_PORT);
+ script.append(" -j REDIRECT --to-ports ");
+ script.append(TOR_DNS_PORT);
+ script.append(" || exit\n");
- if (ipTablesOld)
- script.append(" -j DNAT --to 127.0.0.1:");
- else
- script.append(" -j REDIRECT --to-ports ");
+
+ String[] cmdAdd = {script.toString()};
+ code = TorServiceUtils.doShellCommand(cmdAdd, res, true, true);
+ String msg = res.toString();
+ TorService.logMessage(cmdAdd[0] + ";errCode=" + code + ";resp=" + msg);
+ return code;
+ }
+
+ public static int setTransparentProxyingAll(Context context) throws Exception {
+ boolean runRoot = true;
+ boolean waitFor = true;
+
+ //android.os.Debug.waitForDebugger();
+
+ //redirectDNSResolvConf(); //not working yet
+
+ String ipTablesPath = new File(context.getDir("bin", 0),"iptables").getAbsolutePath();
+
+ StringBuilder script = new StringBuilder();
+
+ StringBuilder res = new StringBuilder();
+ int code = -1;
+
+ purgeIptables(context);
+
+ int torUid = context.getApplicationInfo().uid;
+
+ // Set up port redirection
+ script.append(ipTablesPath);
+ script.append(" -t nat");
+ script.append(" -A OUTPUT -p tcp");
+ script.append(" -m owner ! --uid-owner ");
+ script.append(torUid);
+ script.append(" -m tcp --syn");
+ script.append(" -j REDIRECT --to-ports ");
+ script.append(TOR_TRANSPROXY_PORT);
+ script.append(" || exit\n");
+
+ // Same for DNS
+ script.append(ipTablesPath);
+ script.append(" -t nat");
+ script.append(" -A OUTPUT -p udp -m owner ! --uid-owner ");
+ script.append(torUid);
+ script.append(" -m udp --dport ");
+ script.append(STANDARD_DNS_PORT);
+ script.append(" -j REDIRECT --to-ports ");
script.append(TOR_DNS_PORT);
+ script.append(" || exit\n");
+ // Allow packets to localhost (contains all the port-redirected ones)
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p tcp");
+ script.append(" -d 127.0.0.1");
+ script.append(" -j ACCEPT");
script.append(" || exit\n");
+ // Allow loopback
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p tcp");
+ script.append(" -o lo");
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
+ // Allow everything for Tor
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(torUid);
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
+ //XXX: Comment the following rules for non-debug builds
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p udp");
+ script.append(" --dport ");
+ script.append(STANDARD_DNS_PORT);
+ script.append(" -j LOG");
+ script.append(" --log-prefix='ORBOT_DNSLEAK_PROTECTION'");
+ script.append(" --log-uid");
+ script.append(" || exit\n");
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p tcp");
+ script.append(" -j LOG");
+ script.append(" --log-prefix='ORBOT_TCPLEAK_PROTECTION'");
+ script.append(" --log-uid");
+ script.append(" || exit\n");
+
+
+ // Reject DNS that is not from Tor (order is important - first matched rule counts!)
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p udp");
+ script.append(" --dport ");
+ script.append(STANDARD_DNS_PORT);
+ script.append(" -j REJECT");
+ script.append(" || exit\n");
+
+ // Reject all other outbound TCP packets
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p tcp");
+ script.append(" -j REJECT");
+ script.append(" || exit\n");
+
+ String[] cmdAdd = {script.toString()};
- String[] cmdAdd = {script.toString()};
- code = TorServiceUtils.doShellCommand(cmdAdd, res, true, true);
+ code = TorServiceUtils.doShellCommand(cmdAdd, res, runRoot, waitFor);
String msg = res.toString();
TorService.logMessage(cmdAdd[0] + ";errCode=" + code + ";resp=" + msg);
- return code;
- }
+ return code;
+ }
}

View File

@ -1,110 +0,0 @@
<4>[ 115.319671] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=9997 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK URGP=0 UID=10035 GID=10035
<4>[ 115.482788] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=9998 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK URGP=0 UID=10035 GID=10035
<4>[ 116.037658] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=9999 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK URGP=0 UID=10035 GID=10035
<4>[ 116.699127] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10000 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10035 GID=10035
<4>[ 116.724517] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10001 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0 UID=10035 GID=10035
<4>[ 116.922515] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10002 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 117.330810] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10003 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 118.150726] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10004 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 118.903320] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10005 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 119.310729] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10006 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 120.130737] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10007 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 121.770690] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10008 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 122.695465] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10009 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 123.100708] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10010 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 123.920684] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10011 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 125.565673] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10012 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 128.840789] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10013 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 130.366333] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10014 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 130.785339] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10015 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 131.600799] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10016 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 132.835144] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50247 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 133.240753] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10017 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 133.410705] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50248 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 133.443481] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50249 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 134.031341] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50250 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 134.782196] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50251 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 135.360778] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50252 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 136.520782] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10018 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 136.526306] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50253 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 137.334716] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50254 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 137.915832] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50255 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 139.075378] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50256 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 140.435913] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10019 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 140.850799] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10020 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 141.395019] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50257 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 141.675140] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10021 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 142.455352] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50258 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 143.030792] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50259 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 143.310852] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10022 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 144.190734] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50260 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 146.510803] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50261 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 146.590789] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10023 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 151.150726] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50262 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 151.166290] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10024 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 151.570739] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10025 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 152.390686] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10026 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 152.694427] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50263 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 153.270721] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50264 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 154.030731] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10027 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 154.430694] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50265 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 156.750701] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50266 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 157.310699] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10028 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 160.383117] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10029 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 160.790832] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10030 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 161.390716] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50267 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 161.610717] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10031 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 163.250701] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10032 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 166.531494] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10033 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 170.670715] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50268 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 170.842285] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10034 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 171.250732] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10035 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 172.070800] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10036 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 173.309783] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50269 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 173.710784] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10037 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 173.880828] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50270 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 175.040710] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50271 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 176.990692] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10038 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 177.360687] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50272 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 181.682952] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10039 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 182.000701] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50273 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 182.090698] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10040 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 182.910797] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10041 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 184.550689] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10042 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 187.830749] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10043 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 191.280700] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50274 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 193.917053] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10044 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 194.330749] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10045 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 195.150695] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10046 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 196.790679] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10047 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 200.070709] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10048 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 201.567718] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10049 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 201.970703] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10050 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 202.790771] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10051 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 204.430816] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10052 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 207.710693] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10053 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 209.840789] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50275 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 212.362884] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10054 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 212.770812] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10055 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 213.590698] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10056 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 215.235809] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10057 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 217.285766] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=261 TOS=0x00 PREC=0x00 TTL=64 ID=50276 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 217.860687] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50277 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 218.510803] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10058 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 219.020721] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50278 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 220.840667] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.101 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=40218 DPT=80 WINDOW=0 RES=0x00 RST URGP=0
<4>[ 220.842559] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.101 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=40218 DPT=80 WINDOW=0 RES=0x00 RST URGP=0
<4>[ 220.844512] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.101 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=40218 DPT=80 WINDOW=0 RES=0x00 RST URGP=0
<4>[ 221.340820] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50279 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 221.478881] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=91 TOS=0x00 PREC=0x00 TTL=64 ID=10059 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 221.890777] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10060 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 221.898010] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.101 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=40218 DPT=80 WINDOW=0 RES=0x00 RST URGP=0
<4>[ 222.710754] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10061 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 224.350677] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10062 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 225.617523] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.101 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=40218 DPT=80 WINDOW=0 RES=0x00 RST URGP=0
<4>[ 225.980743] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=87.238.52.70 LEN=249 TOS=0x00 PREC=0x00 TTL=64 ID=50280 DF PROTO=TCP SPT=53939 DPT=993 WINDOW=32044 RES=0x00 ACK PSH URGP=0 UID=10053 GID=10053
<4>[ 227.630798] ORBOT_TCPLEAK_PROTECTIONIN= OUT=eth0 SRC=192.168.0.14 DST=74.125.39.139 LEN=79 TOS=0x00 PREC=0x00 TTL=64 ID=10063 DF PROTO=TCP SPT=53388 DPT=443 WINDOW=32044 RES=0x00 ACK PSH FIN URGP=0
<4>[ 241.522155] ORBOT_TCPLEAK_PROTECTIONIN= OUT=rmnet0 SRC=46.206.239.134 DST=84.22.122.5 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=20341 DF PROTO=TCP SPT=49138 DPT=9001 WINDOW=32044 RES=0x00 ACK URGP=0
<4>[ 241.792358] ORBOT_TCPLEAK_PROTECTIONIN= OUT=rmnet0 SRC=46.206.239.134 DST=84.22.122.5 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=49138 DPT=9001 WINDOW=32044 RES=0x00 ACK URGP=0
<4>[ 242.362335] ORBOT_TCPLEAK_PROTECTIONIN= OUT=rmnet0 SRC=46.206.239.134 DST=84.22.122.5 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=49138 DPT=9001 WINDOW=32044 RES=0x00 ACK URGP=0
<4>[ 243.452331] ORBOT_TCPLEAK_PROTECTIONIN= OUT=rmnet0 SRC=46.206.239.134 DST=84.22.122.5 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=49138 DPT=9001 WINDOW=32044 RES=0x00 ACK URGP=0

View File

@ -1,247 +0,0 @@
From a81741afe06ac2309b4306dedbd5a0ebf755b7e1 Mon Sep 17 00:00:00 2001
From: patch <patrickbx@gmail.com>
Date: Fri, 31 Aug 2012 17:25:52 -0400
Subject: [PATCH] Addendum to the last commit on UDP transproxy rules. Trying
to simplfy the iptables rules didn't work out so this is a
minimal change from the original TorTransProxy.java file.
UDP is blocked and tested as working.
---
.../torproject/android/service/TorTransProxy.java | 144 ++++++++++++--------
1 file changed, 84 insertions(+), 60 deletions(-)
diff --git a/src/org/torproject/android/service/TorTransProxy.java b/src/org/torproject/android/service/TorTransProxy.java
index c248a9f..90bdc34 100644
--- a/src/org/torproject/android/service/TorTransProxy.java
+++ b/src/org/torproject/android/service/TorTransProxy.java
@@ -224,15 +224,6 @@ public class TorTransProxy implements TorServiceConstants {
int torUid = context.getApplicationInfo().uid;
- // Allow everything for Tor
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -m owner --uid-owner ");
- script.append(torUid);
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
//build up array of shell cmds to execute under one root context
for (TorifiedApp tApp:apps)
{
@@ -244,9 +235,9 @@ public class TorTransProxy implements TorServiceConstants {
{
TorService.logMessage("enabling transproxy for app: " + tApp.getUsername() + "(" + tApp.getUid() + ")");
-
- // Set up port redirection
- script.append(ipTablesPath);
+
+ // Set up port redirection
+ script.append(ipTablesPath);
script.append(" -t nat");
script.append(" -A OUTPUT -p tcp");
script.append(" ! -d 127.0.0.1"); //allow access to localhost
@@ -260,28 +251,14 @@ public class TorTransProxy implements TorServiceConstants {
// Same for DNS
script.append(ipTablesPath);
script.append(" -t nat");
- script.append(" -A OUTPUT -p udp");
- script.append(" -m owner --uid-owner ");
+ script.append(" -A OUTPUT -p udp -m owner --uid-owner ");
script.append(tApp.getUid());
script.append(" -m udp --dport ");
script.append(STANDARD_DNS_PORT);
script.append(" -j REDIRECT --to-ports ");
script.append(TOR_DNS_PORT);
script.append(" || exit\n");
-
- // Allow loopback
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -m owner --uid-owner ");
- script.append(tApp.getUid());
- script.append(" -o lo");
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
- /*
- //Outgoing loopback already allowed (23/7/12)
-
+
int[] ports = {TOR_DNS_PORT,TOR_TRANSPROXY_PORT,PORT_SOCKS,PORT_HTTP};
for (int port : ports)
@@ -299,8 +276,30 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" -j ACCEPT");
script.append(" || exit\n");
}
- */
-
+
+ // Allow loopback
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(tApp.getUid());
+ script.append(" -p tcp");
+ script.append(" -o lo");
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
+ // Reject DNS that is not from Tor (order is important - first matched rule counts!)
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(tApp.getUid());
+ script.append(" -p udp");
+ script.append(" --dport ");
+ script.append(STANDARD_DNS_PORT);
+ script.append(" -j REJECT");
+ script.append(" || exit\n");
+
// Reject all other outbound TCP packets
script.append(ipTablesPath);
script.append(" -t filter");
@@ -321,10 +320,19 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" -j REJECT");
script.append(" || exit\n");
-
}
}
+
+ // Allow everything for Tor
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(torUid);
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+
String[] cmdAdd = {script.toString()};
code = TorServiceUtils.doShellCommand(cmdAdd, res, runRoot, waitFor);
@@ -452,8 +460,8 @@ public class TorTransProxy implements TorServiceConstants {
int torUid = context.getApplicationInfo().uid;
- // Set up port redirection
- script.append(ipTablesPath);
+ // Set up port redirection
+ script.append(ipTablesPath);
script.append(" -t nat");
script.append(" -A OUTPUT -p tcp");
script.append(" ! -d 127.0.0.1"); //allow access to localhost
@@ -467,36 +475,14 @@ public class TorTransProxy implements TorServiceConstants {
// Same for DNS
script.append(ipTablesPath);
script.append(" -t nat");
- script.append(" -A OUTPUT -p udp");
- script.appent(" -m owner ! --uid-owner ");
+ script.append(" -A OUTPUT -p udp -m owner ! --uid-owner ");
script.append(torUid);
script.append(" -m udp --dport ");
script.append(STANDARD_DNS_PORT);
script.append(" -j REDIRECT --to-ports ");
script.append(TOR_DNS_PORT);
script.append(" || exit\n");
-
- // Allow loopback
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -o lo");
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
- // Allow everything for Tor
- script.append(ipTablesPath);
- script.append(" -t filter");
- script.append(" -A OUTPUT");
- script.append(" -m owner --uid-owner ");
- script.append(torUid);
- script.append(" -j ACCEPT");
- script.append(" || exit\n");
-
-
- /*
- //Outgoing loopback already allowed (23/7/12)
-
int[] ports = {TOR_DNS_PORT,TOR_TRANSPROXY_PORT,PORT_SOCKS,PORT_HTTP};
for (int port : ports)
@@ -514,8 +500,25 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" -j ACCEPT");
script.append(" || exit\n");
- } */
+ }
+
+ // Allow loopback
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p tcp");
+ script.append(" -o lo");
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
+ // Allow everything for Tor
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -m owner --uid-owner ");
+ script.append(torUid);
+ script.append(" -j ACCEPT");
+ script.append(" || exit\n");
if (TorService.ENABLE_DEBUG_LOG)
{
@@ -539,13 +542,34 @@ public class TorTransProxy implements TorServiceConstants {
script.append(" --log-uid");
script.append(" || exit\n");
}
-
- // Reject all other outbound packets by default
+
+ // Reject DNS that is not from Tor (order is important - first matched rule counts!)
script.append(ipTablesPath);
script.append(" -t filter");
- script.append(" -P OUTPUT DROP");
+ script.append(" -A OUTPUT");
+ script.append(" -p udp");
+ script.append(" --dport ");
+ script.append(STANDARD_DNS_PORT);
+ script.append(" -j REJECT");
script.append(" || exit\n");
+ // Reject all other outbound TCP packets
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p tcp");
+ script.append(" -j REJECT");
+ script.append(" || exit\n");
+
+ // Reject all other outbound UDP packets
+ script.append(ipTablesPath);
+ script.append(" -t filter");
+ script.append(" -A OUTPUT");
+ script.append(" -p udp");
+ script.append(" -j REJECT");
+ script.append(" || exit\n");
+
+
String[] cmdAdd = {script.toString()};
code = TorServiceUtils.doShellCommand(cmdAdd, res, runRoot, waitFor);
--
1.7.9.5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -1,285 +0,0 @@
Index: res/values-ca/strings.xml
===================================================================
--- res/values-ca/strings.xml (revision 24406)
+++ res/values-ca/strings.xml (working copy)
@@ -97,7 +97,7 @@
<string name="wizard_tips_tricks">Aplicacions per a usar-se amb Orbot</string>
<string name="wizard_tips_msg">T\'animem a descarregar-te &amp; utilitza aplicacions que sàpiguen com connectar-se directament a Orbot. Fes clic als botons de sota per instal·lar.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Client de missatgeria instantània segura per a Android</string>
+ <string name="wizard_tips_otrchat">GibberBot - Client de missatgeria instantània segura per a Android</string>
<string name="wizard_tips_orweb">ORWEB (Només Android 1.x) - Navegador dissenyat per la privacitat &amp; per a Orbot</string>
<string name="wizard_tips_proxy">Coniguració de Proxy - Aprèn a configurar aplicacions per a què funcionin amb Orbot</string>
@@ -115,7 +115,7 @@
<string name="wizard_final">Orbot és a punt!</string>
<string name="wizard_final_msg">Centenars de milers de persones arreu del món utilitzen Tor per un gran ventall de raons: periodistes i blocaires, treballadors pels drets humans, agents de l\'autoritat, soldats, corporacions, ciutadans de règims opressors, i ciutadans qualssevol... I ara tu també ho pots fer!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/drawable/icon_otrchat.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Index: res/drawable/ic_launcher_gibberbot.png
===================================================================
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes on: res/drawable/ic_launcher_gibberbot.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Index: res/values-fa/strings.xml
===================================================================
--- res/values-fa/strings.xml (revision 24406)
+++ res/values-fa/strings.xml (working copy)
@@ -95,7 +95,7 @@
<string name="wizard_tips_tricks">اپلیکیشن هایی که برای اوربات تنظیم شده اند</string>
<string name="wizard_tips_msg">توصیه می کنیم داون لود و فعال کنید؛ اپلیکیشن هایی را استفاده کنید که مستقیم به اوربات وصل می شوند. دکمه های زیر را فشار دهید تا نصب شود. </string>
- <string name="wizard_tips_otrchat">OTRCHAT - کاربر ایمن انتقال پیام فوری برای آندروید</string>
+ <string name="wizard_tips_otrchat">GibberBot - کاربر ایمن انتقال پیام فوری برای آندروید</string>
<string name="wizard_tips_orweb">ORWEB (فقط آندروید 1.x) - مرورگر طراحی شده برای حفظ حریم خصوصی و افزونساز اوربات</string>
<string name="wizard_tips_proxy">تنظیمات پروکسی - یادگیری تنظیم اپلیکیشن ها برای کار با اوربات</string>
@@ -105,7 +105,7 @@
<string name="wizard_final">اوربات آماده استفاده میباشد!</string>
<string name="wizard_final_msg">صدها هزار نفر در سراسر جهان به دلایل گوناگون از Tor استفاده می کنند: روزنامه نویسها و بلاگرها، کارکنان حقوق بشر، ماموران انتظامی، سربازان، شرکتها، شهروندان دولتهای سرکوبگر، و شهروندان عادی، و حالا شما نیز آماده استفاده از آن هستید!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-ru/strings.xml
===================================================================
--- res/values-ru/strings.xml (revision 24406)
+++ res/values-ru/strings.xml (working copy)
@@ -95,7 +95,7 @@
<string name="wizard_tips_tricks">Orbot-задействованные приложения</string>
<string name="wizard_tips_msg">Мы советуем вам скачать и использовать приложения, которые умеют работать напрямую через Orbot. Нажмите на кнопки ниже, чтобы запустить процесс установки.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Обезопасте обмен мгновенными сообщениями для клиентов в Android</string>
+ <string name="wizard_tips_otrchat">GibberBot - Обезопасте обмен мгновенными сообщениями для клиентов в Android</string>
<string name="wizard_tips_orweb">ORWEB (Только для версии Android 1.x) - Браузер, разработанный для обеспечения безопасности и для Orbot</string>
<string name="wizard_tips_proxy">Настройки прокси - узнайте как настроить приложения для работы с Orbot</string>
@@ -109,7 +109,7 @@
<string name="wizard_final">Программа Orbot готова к использованию!</string>
<string name="wizard_final_msg">Сотни тысяч людей по всему миру используют Tor по различным причинам: журналисты и блоггеры, активисты организаций, выступающих в защиту прав человека, судебные исполнители, солдаты, корпорации, граждане стран с репрессивным режимом, и простые люди... а теперь готовы и вы!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-de/strings.xml
===================================================================
--- res/values-de/strings.xml (revision 24406)
+++ res/values-de/strings.xml (working copy)
@@ -97,7 +97,7 @@
<string name="wizard_tips_tricks">Programme, für die Orbot aktiviert ist</string>
<string name="wizard_tips_msg">Wir raten Ihnen Programme herunterzuladen &amp; zu nutzen, die wissen, wie sie sich direkt mit Orbot verbinden. Klicken Sie zum Installieren auf den Knopf unten.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Ein sicheres Instant-Messaging-Programm für Android</string>
+ <string name="wizard_tips_otrchat">GibberBot - Ein sicheres Instant-Messaging-Programm für Android</string>
<string name="wizard_tips_orweb">ORWEB (Nur Android 1.x) - Ein für Privatsphäre &amp; Orbot entworfener Browser</string>
<string name="wizard_tips_proxy">Proxy-Einstellungen - Lernen Sie Anwendungen so zu konfigurieren, dass sie mit Orbot zusammenarbeiten.</string>
@@ -115,7 +115,7 @@
<string name="wizard_final">Orbot ist bereit!</string>
<string name="wizard_final_msg">Hunderttausende Menschen auf der ganzen Welt nutzen Tor aus einer Vielzahl von Gründen: Journalisten und Blogger, Menschenrechtsaktivisten, Strafverfolgungsbehörden, Soldaten, Unternehmen, Bürger repressiver Regime und ganz normale Menschen... und sind Sie ebenfalls bereit!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values/strings.xml
===================================================================
--- res/values/strings.xml (revision 24406)
+++ res/values/strings.xml (working copy)
@@ -94,7 +94,7 @@
<string name="wizard_tips_tricks">Orbot-enabled Apps</string>
<string name="wizard_tips_msg">We encourage you to download &amp; use apps that know how to connect directly to Orbot. Click on the buttons below to install.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Secure instant messaging client for Android</string>
+ <string name="wizard_tips_otrchat">Gibberbot - Secure instant messaging client for Android</string>
<string name="wizard_tips_orweb">ORWEB (Android 1.x Only) - Browser designed for privacy &amp; for Orbot</string>
<string name="wizard_tips_proxy">Proxy Settings - Learn how to configure apps to work with Orbot</string>
@@ -108,7 +108,7 @@
<string name="wizard_final">Orbot is ready!</string>
<string name="wizard_final_msg">Hundreds of thousands of people around the world use Tor for a wide variety of reasons: journalists and bloggers, human rights workers, law enforcement officers, soldiers, corporations, citizens of repressive regimes, and just ordinary citizens... and now you are ready to, as well!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-ar/strings.xml
===================================================================
--- res/values-ar/strings.xml (revision 24406)
+++ res/values-ar/strings.xml (working copy)
@@ -97,7 +97,7 @@
<string name="wizard_tips_tricks">تطبيقات مهيئة لأوربوت</string>
<string name="wizard_tips_msg">نشجعكم على تحميل واستخدام التطبيقات التي تعرف كيفية الاتصال مباشرة بأوربوت. اضغط على الأزرار في الأسفل للتثبيت.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - عميل التراسل الفوري الآمن للأندرويد</string>
+ <string name="wizard_tips_otrchat">GibberBot - عميل التراسل الفوري الآمن للأندرويد</string>
<string name="wizard_tips_orweb">ORWEB (أندرويد 1.x فقط) - متصفح مصمّم للخصوصية لأوربوت </string>
<string name="wizard_tips_proxy">إعدادات الوكيل - تعلم كيفية تكوين التطبيقات لتعمل مع أوربوت</string>
@@ -115,7 +115,7 @@
<string name="wizard_final">أوربوت جاهز!</string>
<string name="wizard_final_msg">مئات الآلاف من الناس في جميع أنحاء العالم يستخدمون تور لأسباب عديدة: الصحفيين والمدونين، والعاملين في مجال حقوق الإنسان، والجنود والشركات والمواطنين من الأنظمة القمعية، والمواطنين العاديين ... والآن أنت مستعد لأن تستخدمه كذلك!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-es/strings.xml
===================================================================
--- res/values-es/strings.xml (revision 24406)
+++ res/values-es/strings.xml (working copy)
@@ -97,7 +97,7 @@
<string name="wizard_tips_tricks">Aplicaciones activas en Orbot</string>
<string name="wizard_tips_msg">Le invitamos a descargar y utilizar aplicaciones que saben cómo conectarse directamente a Orbot. Haga clic en los botones a continuación para Instalar.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Cliente de mensajería instantánea seguro para Android</string>
+ <string name="wizard_tips_otrchat">GibberBot - Cliente de mensajería instantánea seguro para Android</string>
<string name="wizard_tips_orweb">ORWEB (Sólo Android 1.x) - Navegador diseñado para la privacidad y para Orbot</string>
<string name="wizard_tips_proxy">Configuraciones Proxy - Aprenda cómo configurar aplicaciones para que trabajen con Orbot</string>
@@ -115,7 +115,7 @@
<string name="wizard_final">¡Orbot está listo!</string>
<string name="wizard_final_msg">Cientos de miles de personas alrededor del mundo usan Tor por una amplia variedad de razones: periodistas y bloggers, trabajadores de los derechos humanos, oficiales de policía, soldados, corporaciones, ciudadanos de regímenes represivos y ciudadanos ordinarios... ¡y ahora también lo estás!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-mk/strings.xml
===================================================================
--- res/values-mk/strings.xml (revision 24406)
+++ res/values-mk/strings.xml (working copy)
@@ -95,7 +95,7 @@
<string name="wizard_tips_tricks">Орбот-вклучени апликации</string>
<string name="wizard_tips_msg">Ви препорачуваме да презимате и користите апликации кои што знаат како директно да се поврзат со Орбот. Притиснете на копчињата подолу за инсталирање.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Безбеден клиент за инстант-пораки за Андроид</string>
+ <string name="wizard_tips_otrchat">GibberBot - Безбеден клиент за инстант-пораки за Андроид</string>
<string name="wizard_tips_orweb">ORWEB (само Андроид 1.x) - Браусер дизајниран за приватност и за Орбот</string>
<string name="wizard_tips_proxy">Подесувања на прокси - Научете како да ги конфигурирате апликациите да работат со Орбот</string>
@@ -109,7 +109,7 @@
<string name="wizard_final">Орбот е спремен!</string>
<string name="wizard_final_msg">Стотици илјади луѓе низ целиот Свет го користат Тор од многу различни причини: новинари и блогери, борци за човекови права, полицајци, војници, корпорации, граѓани на репресивни режими, и обични граѓани... а сега и Вие сте спремин да го користите!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-nl/strings.xml
===================================================================
--- res/values-nl/strings.xml (revision 24406)
+++ res/values-nl/strings.xml (working copy)
@@ -97,7 +97,7 @@
<string name="wizard_tips_tricks">Orbot-beschikbare Apps</string>
<string name="wizard_tips_msg">We raden u aan om te apps te downloaden welke zich zich automatisch verbinden met Orbot. Klik op de buttons hier beneden om te installeren.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Veilige instant message programma voor Android</string>
+ <string name="wizard_tips_otrchat">GibberBot - Veilige instant message programma voor Android</string>
<string name="wizard_tips_orweb">ORWEB (Alleen Android 1.x) - Browser gemaakt voor privacy &amp; voor Orbot</string>
<string name="wizard_tips_proxy">Proxy Instellingen - Leer hoe u uw apps kunt configureren voor Orbot</string>
@@ -114,7 +114,7 @@
<string name="wizard_final">Orbot is klaar!</string>
<string name="wizard_final_msg">Honderdduizenden verschillende mensen over de wereld gebruiken Tor, zoals: journalisten, bloggers, mensen rechten medewerkers, soldaten, bedrijven, burgers met onderdrukte religies, en natuurlijk normale mensen... En nu bent u ook klaar om te gaan!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/values-pl/strings.xml
===================================================================
--- res/values-pl/strings.xml (revision 24406)
+++ res/values-pl/strings.xml (working copy)
@@ -95,7 +95,7 @@
<string name="wizard_tips_tricks">Aplikacje skonfigurowane dla Orbota</string>
<string name="wizard_tips_msg">Zachęcamy do pobierania i używania aplikacji, które wiedzą, jak łączyć się bezpośrednio z Orbotem. Kliknij na poniższe przyciski, by zainstalować.</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Bezpieczny klieny rozmów dla Androida</string>
+ <string name="wizard_tips_otrchat">GibberBot - Bezpieczny klieny rozmów dla Androida</string>
<string name="wizard_tips_orweb">ORWEB (tylko Android 1.x) - Przeglądarka zaprojektowana do prywatności i dla Orbota</string>
<string name="wizard_tips_proxy">Ustawienia Proxy - NDowiedz się, jak konfiguroać aplikacje do współpracy z Orbotem</string>
@@ -109,7 +109,7 @@
<string name="wizard_final">Orbot jest gotowy!</string>
<string name="wizard_final_msg">Setki tysięcy ludzi na całym świecie używają Tora z różnych powodów: dziennikarze i blogerzy, działacze na rzecz praw człowieka, stróże prawa, żołnierze, korporacje, obywatele represyjnych reżimów i zwykli obywatele... teraz Ty też możesz!</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: res/layout/layout_wizard_tips.xml
===================================================================
--- res/layout/layout_wizard_tips.xml (revision 24406)
+++ res/layout/layout_wizard_tips.xml (working copy)
@@ -17,7 +17,7 @@
<TextView android:text="@string/wizard_tips_msg" android:layout_gravity="left" android:textColor="#ffffff" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
-<Button android:text="@string/wizard_tips_otrchat" android:layout_gravity="left" android:drawableLeft="@drawable/icon_otrchat" android:layout_marginTop="10px" android:id="@+id/WizardRootButtonInstallOtrchat" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
+<Button android:text="@string/wizard_tips_otrchat" android:layout_gravity="left" android:drawableLeft="@drawable/ic_launcher_gibberbot" android:layout_marginTop="10px" android:id="@+id/WizardRootButtonInstallOtrchat" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
<Button android:text="@string/wizard_tips_orweb" android:drawableLeft="@drawable/icon_orweb" android:layout_marginTop="10px" android:id="@+id/WizardRootButtonInstallOrweb" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
Index: res/values-zh/strings.xml
===================================================================
--- res/values-zh/strings.xml (revision 24406)
+++ res/values-zh/strings.xml (working copy)
@@ -95,7 +95,7 @@
<string name="wizard_tips_tricks">可用 Orbot 的应用程序</string>
<string name="wizard_tips_msg">我们建议您下载和使用能直接连接到 Orbot 的应用程序。点击以下按钮安装。</string>
- <string name="wizard_tips_otrchat">OTRCHAT - Android 上的安全即时消息客户端</string>
+ <string name="wizard_tips_otrchat">GibberBot - Android 上的安全即时消息客户端</string>
<string name="wizard_tips_orweb">ORWEB (仅 Android 1.x) - 着重隐私设计的浏览器</string>
<string name="wizard_tips_proxy">代理设置 - 学习如何配置应用程序使用 Orbot</string>
@@ -108,7 +108,7 @@
<string name="wizard_final">Orbot 已就绪!</string>
<string name="wizard_final_msg">数以万计的各国人们因为各种原因使用 Tor记者、人权工作者、法律工作者、士兵、公司、迫于实际情况使用的市民当然也有普通的市民。现在你也即将成为其中的一员</string>
- <string name="otrchat_apk_url">https://guardianproject.info/getgibber</string>
+ <string name="otrchat_apk_url">market://search?q=pname:info.guardianproject.otr.app.im</string>
<string name="orweb_apk_url">https://guardianproject.info/getorweb</string>
<!-- END Welcome Wizard strings (DJH) -->
Index: .classpath
===================================================================
--- .classpath (revision 24406)
+++ .classpath (working copy)
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="libs/asocks.jar"/>
<classpathentry kind="lib" path="libs/jtorctrl.jar"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="gen"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,31 +0,0 @@
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembernames class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

View File

@ -1,20 +0,0 @@
# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

View File

@ -6,7 +6,8 @@
# To customize properties used by the Ant build system use,
# "ant.properties", and override values to adapt the script to your
# project structure.
#proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:proguard-project.txt
# Project target.
target=android-17
android.library.reference.1=../ActionBarSherlock/library
target=android-16
aar.deployPath=/media/n8fr8/nate128/dev/repos/gpmaven/

Binary file not shown.

Before

Width:  |  Height:  |  Size: 900 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 758 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1014 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 466 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 358 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 729 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 319 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 761 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 606 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 484 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 644 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 458 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 970 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 716 B

Some files were not shown because too many files have changed in this diff Show More