Compare commits
550 Commits
15.0.1-bet
...
master
Author | SHA1 | Date |
---|---|---|
n8fr8 | e822160b00 | |
n8fr8 | b0e62e58cc | |
n8fr8 | 43b10491a1 | |
n8fr8 | c4cf800488 | |
n8fr8 | 0417acf570 | |
n8fr8 | ff7ecbdba9 | |
n8fr8 | 3e8e5ace65 | |
n8fr8 | 0fda8f7779 | |
n8fr8 | 6548d3630b | |
n8fr8 | d1ee65a795 | |
n8fr8 | a2fba85a5b | |
n8fr8 | 6ef0a45050 | |
n8fr8 | b82b6a4cb1 | |
n8fr8 | de522e2ec8 | |
n8fr8 | 0756d058f7 | |
n8fr8 | b98cad65d4 | |
n8fr8 | cd678980f9 | |
n8fr8 | 8a66040c4f | |
n8fr8 | 75bd78b287 | |
n8fr8 | fa1ed5505d | |
n8fr8 | 84ab10731c | |
n8fr8 | 63656611dc | |
n8fr8 | 84d7745cde | |
n8fr8 | b0e2d4e63b | |
n8fr8 | e97d5a1016 | |
n8fr8 | 0ba24f8ca4 | |
n8fr8 | 93663355fa | |
n8fr8 | 63723e06ef | |
n8fr8 | ae61770960 | |
n8fr8 | 45ecbcb298 | |
n8fr8 | d2342ed7ec | |
n8fr8 | 549fb14077 | |
n8fr8 | 5366016c86 | |
n8fr8 | de630b45cb | |
n8fr8 | 292dcda8e0 | |
n8fr8 | 87efd233e5 | |
n8fr8 | ff59b5595f | |
n8fr8 | 9e428e1e09 | |
n8fr8 | a46fd778b5 | |
n8fr8 | db82e6b889 | |
n8fr8 | 7a9cbe8fc7 | |
n8fr8 | d364a5493c | |
n8fr8 | 988a87c8ef | |
n8fr8 | 51c7a076a5 | |
n8fr8 | 1b1f64d376 | |
n8fr8 | 9abac285db | |
n8fr8 | 808f9594f5 | |
n8fr8 | 810eafd6e5 | |
n8fr8 | c0bca9f762 | |
Nathan Freitas | 9897c1208e | |
Nathan Freitas | d194eb8064 | |
Unpublished | 97990103aa | |
Unpublished | 8383c1abbc | |
Unpublished | d43fbf96b9 | |
Unpublished | 99eb75aeaf | |
Unpublished | 5e0169d762 | |
n8fr8 | 93f5239bea | |
n8fr8 | 57ba718e75 | |
n8fr8 | b4cdbff06b | |
n8fr8 | b9a30b71d0 | |
n8fr8 | 3d0e9a93a6 | |
n8fr8 | 1ebf0a5c2c | |
n8fr8 | 3403b02dd8 | |
n8fr8 | 13d0bddc8c | |
n8fr8 | fa5aff40cc | |
Igor Oliveira | 1b1c0b9537 | |
n8fr8 | d64f15533f | |
n8fr8 | 3528afd114 | |
n8fr8 | 3b766484bf | |
n8fr8 | fc10fb1a9e | |
n8fr8 | ae5420426d | |
n8fr8 | b85e0b32f2 | |
n8fr8 | c2189d4a2c | |
n8fr8 | f15c153bf0 | |
n8fr8 | 9b8d8719b6 | |
n8fr8 | 673e45d60f | |
n8fr8 | 498364c25d | |
n8fr8 | ffb8dd0b55 | |
Nathan Freitas | cdf3180291 | |
n8fr8 | 3d951b9dd8 | |
n8fr8 | f8dbfacdb3 | |
n8fr8 | 17f03d1f42 | |
n8fr8 | 7e98222e47 | |
n8fr8 | f9c1af9127 | |
n8fr8 | 85aaff7152 | |
n8fr8 | 7fbd72b0c8 | |
n8fr8 | a27480a208 | |
n8fr8 | ff1979643c | |
n8fr8 | dd51960b24 | |
n8fr8 | a810a5add9 | |
n8fr8 | 91b73b1f6b | |
n8fr8 | fce5bdede8 | |
Nathan Freitas | 72c7e0445c | |
Nathan Freitas | 8cf412ad62 | |
goapunk | c1dfc29e02 | |
goapunk | 9ca36e1bff | |
Tad | 6e4b700803 | |
Nathan Freitas | 71e3464358 | |
Unpublished | cbffc1d6ca | |
n8fr8 | 1b904125f3 | |
n8fr8 | 61aff8ce82 | |
n8fr8 | b2de89b2cb | |
n8fr8 | 5d218adc14 | |
n8fr8 | 2c99e9efa4 | |
n8fr8 | c53204f9c3 | |
n8fr8 | 5b9eedba1d | |
n8fr8 | 1c7eedd4e4 | |
Nathan Freitas | 19e927effa | |
Nathan Freitas | 54688e2806 | |
Nathan Freitas | 14367e0add | |
n8fr8 | 8bbf0ba799 | |
n8fr8 | 750a282e20 | |
Alexander Færøy | d591cdb0df | |
Alexander Færøy | 87edea9ce6 | |
n8fr8 | eff2f765db | |
n8fr8 | aa9ed7fbe9 | |
n8fr8 | 0323216569 | |
n8fr8 | e1ba02a426 | |
n8fr8 | a685bf1488 | |
n8fr8 | 091037427a | |
n8fr8 | d24aab8b47 | |
n8fr8 | 165e95a880 | |
n8fr8 | dc7aee1e8e | |
n8fr8 | 440290e9d7 | |
n8fr8 | 9140ba6a47 | |
n8fr8 | f09508def5 | |
n8fr8 | e6003f670f | |
n8fr8 | d86ace63da | |
n8fr8 | 90975fb18a | |
n8fr8 | 25425a622e | |
n8fr8 | b0b6b68c84 | |
n8fr8 | dceea11782 | |
n8fr8 | b98a0ff160 | |
n8fr8 | 1e2074c818 | |
n8fr8 | a5015dc691 | |
n8fr8 | b322e530da | |
n8fr8 | 2bd5614210 | |
n8fr8 | 01176b1d38 | |
n8fr8 | 70693bfc6a | |
n8fr8 | c4867ba8d2 | |
n8fr8 | 6ca89b30ba | |
n8fr8 | cc3c4514e8 | |
n8fr8 | 632824bd5f | |
n8fr8 | d190f3a142 | |
n8fr8 | ebc362c4d7 | |
Akshat Agrawal | d94657d1f4 | |
Tad | 18dd53d419 | |
Igor Koznin | 2922e48730 | |
n8fr8 | 5b255df92d | |
n8fr8 | df29aaad8d | |
n8fr8 | e18a7937d2 | |
n8fr8 | c874e70fa6 | |
n8fr8 | b1ff4d5271 | |
n8fr8 | fb7eea9560 | |
n8fr8 | 132c00a224 | |
n8fr8 | fe491b0ec5 | |
n8fr8 | 34043f9ef4 | |
n8fr8 | 674f8ff4aa | |
n8fr8 | 67cb36ef63 | |
n8fr8 | 78984bd344 | |
Nathan Freitas | 028f76e62e | |
Nathan Freitas | ad1bcb8d5d | |
Nathan Freitas | 2403e8c333 | |
Nathan Freitas | 62fec5343c | |
Nathan Freitas | 5d966447ce | |
Nathan Freitas | bb8373bdd6 | |
Nathan Freitas | 837d812916 | |
Nathan Freitas | 6d0d4a3d20 | |
Nathan Freitas | 5b9a34199e | |
Nathan Freitas | 248bcc979d | |
Nathan Freitas | 7dbae837de | |
Nathan Freitas | c0d082ed78 | |
Nathan Freitas | 4af61b609e | |
Nathan Freitas | 301ef3948e | |
Nathan Freitas | 11c6abf59d | |
Nathan Freitas | ea40bb4510 | |
Nathan Freitas | 9019ceb898 | |
Nathan Freitas | b8aaa2c7d9 | |
Nathan Freitas | 1d3a99ea6c | |
Nathan Freitas | 128cfe8394 | |
Nathan Freitas | 6496cb11d6 | |
Nathan Freitas | 4d4fb82419 | |
Nathan Freitas | 7eb7a76bbe | |
Nathan Freitas | e801eaa27a | |
Nathan Freitas | 673e6c8af7 | |
Nathan Freitas | fc4b0940d9 | |
Nathan Freitas | ec2f8290f1 | |
Nathan Freitas | 894b5817db | |
Nathan Freitas | efde11ffc4 | |
Nathan Freitas | 7bac212290 | |
Nathan Freitas | 44ab128c29 | |
Nathan Freitas | cb2c5fe661 | |
Nathan Freitas | 19539620a9 | |
Nathan Freitas | c9fc49a2de | |
Nathan Freitas | 26b9199378 | |
Nathan Freitas | d937b9b958 | |
Nathan Freitas | a5744d7958 | |
Nathan Freitas | 970710d03c | |
arrase | f1a8fbd6b6 | |
arrase | ad68947dd4 | |
arrase | 500075454a | |
arrase | 41ebcc5050 | |
arrase | 2aa2b4c370 | |
arrase | 9961ad0b84 | |
arrase | f3af9daa55 | |
arrase | 4f7271b76e | |
arrase | 94c68579e0 | |
arrase | ba76f574a9 | |
arrase | 070d615183 | |
arrase | 8d5df9c9eb | |
arrase | 2d0437a834 | |
arrase | 4d0fe27ea3 | |
arrase | 54e2e5e372 | |
arrase | 07532bb04c | |
arrase | ed5e8aca9c | |
Juan Ezquerro LLanes | 7a941edeee | |
Juan Ezquerro LLanes | dd99f8f0a3 | |
Juan Ezquerro LLanes | 3ba1d395ea | |
arrase | f6f4d26645 | |
arrase | bb5f323b71 | |
arrase | 8abfba5fe5 | |
arrase | 155c18235a | |
arrase | f76f58e2bf | |
arrase | f742b270e3 | |
arrase | 07044f7748 | |
arrase | a0b3d72fa8 | |
arrase | 0bdcab134c | |
arrase | 7a9ad4720b | |
arrase | 9ffb0b3915 | |
arrase | 0a6d623cf7 | |
arrase | 9e0bdcf147 | |
arrase | 238a695c1b | |
arrase | 799d18cbdc | |
arrase | 1060c69623 | |
arrase | bb7ffd9692 | |
arrase | 5d3b171e21 | |
arrase | f153600dd1 | |
arrase | 5f02561f9d | |
arrase | 130b89d846 | |
arrase | fca54cfcdc | |
arrase | a49ac3fcc5 | |
arrase | b04d0eb17a | |
arrase | 17efdcafa2 | |
arrase | d28db41782 | |
arrase | 6658101dd9 | |
arrase | da601d86ef | |
arrase | 85de87f0a0 | |
arrase | 872ec40214 | |
arrase | f79d2d9005 | |
arrase | 0b21dfc46a | |
arrase | 22c573f70a | |
arrase | 0818b0c963 | |
arrase | 53e53d6fff | |
arrase | f030963c9e | |
arrase | 7600b4c58c | |
arrase | 57a7b0dbc7 | |
arrase | 71d24e832b | |
arrase | dbc7ff3b7d | |
arrase | f58265ae9f | |
arrase | 8c7b897cd8 | |
arrase | 8585466c96 | |
arrase | d1884c3349 | |
arrase | e8a5099518 | |
arrase | 0fd59bc78d | |
arrase | 11e663be67 | |
arrase | 3e6c627712 | |
arrase | 08fb68dcaa | |
arrase | d048cd6fb2 | |
arrase | 8e9bc2f840 | |
arrase | 8494cfb633 | |
arrase | c232e1c92e | |
arrase | fa6151cc99 | |
arrase | e60e82859b | |
arrase | 4155246b88 | |
arrase | 5edfc344dc | |
arrase | 9bb3e2a7b3 | |
arrase | 356d7235b4 | |
arrase | c6054bb256 | |
arrase | 67d999b831 | |
arrase | 6b3fc6183e | |
Juan Ezquerro LLanes | 21acd568b1 | |
Juan Ezquerro LLanes | c3d7743fda | |
Juan Ezquerro LLanes | 4fea84cc5f | |
Juan Ezquerro LLanes | e152dd3810 | |
Juan Ezquerro LLanes | 22de2eb269 | |
Juan Ezquerro LLanes | 3b63e31c10 | |
Juan Ezquerro LLanes | 8b3a26f297 | |
Juan Ezquerro LLanes | ff47ccd340 | |
Juan Ezquerro LLanes | d1c117adb4 | |
Juan Ezquerro LLanes | 471c5ac5fb | |
Juan Ezquerro LLanes | 3f384c060b | |
Juan Ezquerro LLanes | e776e12492 | |
Juan Ezquerro LLanes | b10387bb07 | |
Juan Ezquerro LLanes | 1af2fcb91f | |
Juan Ezquerro LLanes | ebc736be8d | |
arrase | 94a3b0b107 | |
arrase | 0131cf20f0 | |
arrase | 3f7435c90e | |
arrase | 135e6c4ae0 | |
arrase | 26d938126f | |
Nathan Freitas | ff61d66bcf | |
Nathan Freitas | d09c2b59b4 | |
Nathan Freitas | 45105572d9 | |
Nathan Freitas | 84d6a767ae | |
Nathan Freitas | 34079c7a15 | |
Nathan Freitas | 540db0f00b | |
Nathan Freitas | 73e9ac820e | |
Nathan Freitas | fd92359ccd | |
Nathan Freitas | 7bbfd4eff8 | |
Nathan Freitas | e7443890c5 | |
Nathan Freitas | dedf213028 | |
Nathan Freitas | 5c4d146f0e | |
Nathan Freitas | b147d5d21e | |
Nathan Freitas | eb45d61dc9 | |
Nathan Freitas | 7dd82aedd8 | |
Nathan Freitas | 693bc9e362 | |
Nathan Freitas | 523b7b0eb7 | |
Nathan Freitas | 0efbb1729e | |
Nathan Freitas | 2a0145693d | |
Nathan Freitas | 24dee21b96 | |
Nathan Freitas | ba212a447c | |
Nathan Freitas | 45f7ae23c6 | |
Nathan Freitas | 204b3f0441 | |
Nathan Freitas | 6b2679cac1 | |
Nathan Freitas | 89f3fcacf2 | |
Nathan Freitas | f5f544c2d3 | |
Nathan Freitas | f21f14bf5b | |
Nathan Freitas | 460f365b4a | |
Nathan Freitas | 5927fb0123 | |
Nathan Freitas | 5ac21be984 | |
Nathan Freitas | 0050bfeb95 | |
Nathan Freitas | 1ae0c71ac7 | |
Nathan Freitas | e9ece471b7 | |
Nathan Freitas | 37cd0241e5 | |
Nathan Freitas | 0d00c06450 | |
Nathan Freitas | 354ce24283 | |
Nathan Freitas | 41c9d2cd5d | |
Nathan Freitas | 52e7ad3bf0 | |
Nathan Freitas | af69041811 | |
Nathan Freitas | 5d52f04556 | |
Nathan Freitas | dacf2ef9f5 | |
Nathan Freitas | d25b3d5de8 | |
Nathan Freitas | 4d66133894 | |
Nathan Freitas | ef57341c6e | |
Nathan Freitas | f4638873f8 | |
Nathan Freitas | af8a867bfe | |
Nathan Freitas | 9077bd236d | |
Nathan Freitas | 085ddb3745 | |
Nathan Freitas | 290059dfb9 | |
Nathan Freitas | dec3d9530d | |
Nathan Freitas | 160383ba6d | |
Nathan Freitas | b4906c09fd | |
Nathan Freitas | 12b1198b4b | |
Nathan Freitas | 345aea9ad2 | |
Nathan Freitas | c76d935cc3 | |
Nathan Freitas | ac037a9dc5 | |
Nathan Freitas | 28f1dbf7dd | |
Nathan Freitas | c1ffdbb4e7 | |
Nathan Freitas | 518f70d872 | |
Nathan Freitas | 0bb8e846ad | |
Nathan Freitas | 2125db1504 | |
Nathan Freitas | d8648a5864 | |
Nathan Freitas | 2676cd3fc6 | |
Nathan Freitas | 3ee6b2a6b5 | |
Nathan Freitas | e3d7ca28a0 | |
Nathan Freitas | 126c82adc2 | |
Nathan Freitas | bade4fe66d | |
Nathan Freitas | abaa3f83fc | |
Nathan Freitas | 61affce706 | |
Nathan Freitas | cd8b549d1a | |
Nathan Freitas | 3c181bc6f2 | |
Nathan Freitas | 9948975d4f | |
Nathan Freitas | 50f33c9ca2 | |
Nathan Freitas | 9de4f54e6b | |
Nathan Freitas | 330860216a | |
Nathan Freitas | da0fb101f3 | |
Nathan Freitas | ca238c6521 | |
Nathan Freitas | 1614921e34 | |
Nathan Freitas | 1db567698d | |
Nathan Freitas | d5f2c063b5 | |
Nathan Freitas | 34c7cfd2e1 | |
Nathan Freitas | 268002bc75 | |
Hans-Christoph Steiner | 1e93ef4606 | |
Hans-Christoph Steiner | 610abf5b79 | |
Nathan Freitas | 6333a45f69 | |
Nathan Freitas | d2cf5453e2 | |
Nathan Freitas | 9f61afcdef | |
Nathan Freitas | ebc046e92d | |
Nathan Freitas | 7c3a16f86f | |
Nathan Freitas | 7950cac801 | |
Nathan Freitas | 9afbb0007f | |
Nathan Freitas | 7284a5e1fb | |
Nathan Freitas | 55e08b9de4 | |
Nathan Freitas | d56fdb20aa | |
Nathan Freitas | 90d77ce4be | |
Nathan Freitas | 1ffea580c4 | |
Nathan Freitas | bab79046b2 | |
Nathan Freitas | aba7f8e40e | |
Nathan Freitas | 912cb74243 | |
Nathan Freitas | 5a4e00a186 | |
Nathan Freitas | ecf90235af | |
Nathan Freitas | 10f1ade6e4 | |
Nathan Freitas | b52023a502 | |
Nathan Freitas | 549399b82c | |
Nathan Freitas | 6d0fdbba10 | |
Nathan Freitas | 56683a39b3 | |
Nathan Freitas | 29fd07ac34 | |
Nathan Freitas | 0f00e12cdc | |
Nathan Freitas | 54b3349344 | |
Nathan Freitas | 18682e4b97 | |
Unpublished | 639bc3241e | |
Nathan Freitas | bdb58933b2 | |
Nathan Freitas | 40233543d3 | |
Nathan Freitas | 6e45c07c7d | |
srvetus | 21c5bcc7e7 | |
srvetus | 5adcbecf4c | |
Nathan Freitas | 8e7a8111a9 | |
Nathan Freitas | d6eccc3138 | |
Nathan Freitas | 6452075d46 | |
Nathan Freitas | 9097b79a7e | |
Nathan Freitas | 2973eaccd8 | |
Nathan Freitas | cec82ec0de | |
Nathan Freitas | 4892f93531 | |
Nathan Freitas | beb3bc8a4a | |
Nathan Freitas | 204733a245 | |
Nathan Freitas | 57855932f4 | |
Nathan Freitas | 66a5b7ad26 | |
Nathan Freitas | 3eb70b8b9a | |
Nathan Freitas | 44dae6bc1d | |
Nathan Freitas | f9f33a171c | |
Nathan Freitas | e9d28a4445 | |
Nathan Freitas | 00f82f0913 | |
Nathan Freitas | 9a8e4dd80f | |
Nathan Freitas | 80e8c47e62 | |
Nathan Freitas | 043b151fb1 | |
Nima Fatemi | 5eb628b03a | |
Nathan Freitas | c8584f6ec9 | |
Nathan Freitas | bac16a57fc | |
Nathan Freitas | e1d46c49b9 | |
Nathan Freitas | 3cc2439b5f | |
Nathan Freitas | 9c82aa85d0 | |
Nathan Freitas | eba95b2941 | |
Nathan Freitas | 8047ec67d0 | |
Nathan Freitas | 91225ab053 | |
Nathan Freitas | fd45fa38f6 | |
Nathan Freitas | b76a2504bb | |
Nathan Freitas | a8dbdacbcb | |
Nathan Freitas | eea9579ea3 | |
Hans-Christoph Steiner | 226d92ebcd | |
Hans-Christoph Steiner | 20c16aec68 | |
Hans-Christoph Steiner | 9883a8931a | |
Nathan Freitas | 1839b8f0b9 | |
Nathan Freitas | eaa2dde611 | |
Nathan Freitas | 1b76c3636e | |
Nathan Freitas | 75eb36edb6 | |
Nathan Freitas | 3be93a0eaf | |
Nathan Freitas | 2ae22ec3e4 | |
Nathan Freitas | 33fa19f989 | |
Nathan Freitas | 9b9bab3a75 | |
Nathan Freitas | 25150a329c | |
Nathan Freitas | da7eb961f1 | |
Nima Fatemi | ec6083fcd7 | |
Nima Fatemi | 8a00ab1f02 | |
Nathan Freitas | d58555a358 | |
Nathan Freitas | 1ba37133c5 | |
Nathan Freitas | 65c3fb1b3f | |
Nathan Freitas | 80491ea95b | |
Nathan Freitas | c235e3ed6b | |
Nathan Freitas | 2a728140b4 | |
Nathan Freitas | 1dbe5eac55 | |
Nathan Freitas | ba835599f7 | |
Nathan Freitas | cf1a644c19 | |
Nathan Freitas | b3a953ba64 | |
Nathan Freitas | 03222f2d27 | |
Nathan Freitas | 4913b0ca32 | |
Nathan Freitas | ab8709dd2e | |
Nathan Freitas | 0669addd49 | |
Nathan Freitas | c05d8e7b43 | |
Nathan Freitas | 0bbe5d5f51 | |
Hans-Christoph Steiner | 735b2985f7 | |
Hans-Christoph Steiner | 461e35dc51 | |
Hans-Christoph Steiner | 5c86b5cc7e | |
Hans-Christoph Steiner | 58d53ea347 | |
Hans-Christoph Steiner | 5ce1f5f91a | |
Hans-Christoph Steiner | 72eab39a95 | |
Hans-Christoph Steiner | a6ac016a84 | |
Nathan Freitas | 5fb4e9b80e | |
Nathan Freitas | 6eb0a93dd8 | |
Nathan Freitas | 9af00fe263 | |
Nathan Freitas | 3c4864b843 | |
Nathan Freitas | 9ed17b551c | |
Nathan Freitas | 6ffea9e38f | |
Nathan Freitas | b4ca30b811 | |
Nathan Freitas | fd5071feab | |
Nathan Freitas | f541e9ffe1 | |
Nathan Freitas | 324036798b | |
Nathan Freitas | 76b21714d8 | |
Nathan Freitas | a0b0928561 | |
Nathan Freitas | 8f7165ce57 | |
Nathan Freitas | 4b31ef849a | |
Nathan Freitas | 64493f73cd | |
Nathan Freitas | 39244a613a | |
Nathan Freitas | f41d46960c | |
Nathan Freitas | 0081d005e6 | |
Nathan Freitas | 2288210cc6 | |
Nathan Freitas | 4af6bb7d3b | |
Nathan Freitas | c687bc934e | |
Nathan Freitas | dfc5101d1d | |
Nathan Freitas | 52acf68ed4 | |
Nathan Freitas | eaf49da89a | |
Nathan Freitas | 3b41365708 | |
Nathan Freitas | b2081789f5 | |
Nathan Freitas | 66f65d00fe | |
Nathan Freitas | 3691ccae3a | |
Nathan Freitas | d839b154a1 | |
Nathan Freitas | fe9119d66a | |
Nathan Freitas | f36965211e | |
Nathan Freitas | f441736cd9 | |
Nathan Freitas | 4098e8edf2 | |
Nathan Freitas | f1fcec3d45 | |
Nathan Freitas | 8d8fe0ceb4 | |
Nathan Freitas | 699b60db56 | |
Nathan Freitas | 9b2cc52f5a | |
Nathan Freitas | 6dc8cf6980 | |
Nathan Freitas | 02612366ca | |
Nathan Freitas | 3462cbd46e | |
Nathan Freitas | bb55557b44 | |
Nathan Freitas | 7d213e24d4 | |
Nathan Freitas | 6cf120185f | |
Nathan Freitas | 871701e9d6 | |
Nathan Freitas | 51205b8222 | |
Nathan Freitas | 6fb4f0c337 | |
Nathan Freitas | 317405dbb3 | |
Nathan Freitas | 0a5dd086cd | |
Nathan Freitas | c54ab188b0 | |
Nathan Freitas | 534c2fb36d | |
Panos Sakkos | cd0bfd3a05 | |
Nathan Freitas | 7dc30f9d18 | |
Nathan Freitas | 865582ec3d | |
Nathan Freitas | 0cde639a1c | |
Nathan Freitas | 2acdd29634 | |
Nathan Freitas | 0b6796c951 | |
Nathan Freitas | 30e37993bb | |
Nathan Freitas | 256ecc4df0 | |
Nathan Freitas | 6aa5ca56b5 | |
n8fr8 | 2459aa5151 | |
n8fr8 | b272fcc224 | |
أحمد المحمودي (Ahmed El-Mahmoudy) | fd4ef77529 | |
أحمد المحمودي (Ahmed El-Mahmoudy) | d93017fd30 | |
Nathan Freitas | f13f7c82dc |
|
@ -1,9 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
|
@ -1,4 +1,49 @@
|
|||
assets/
|
||||
# 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
|
||||
|
@ -13,10 +58,11 @@ native
|
|||
libs/jtorctl.jar
|
||||
local.properties
|
||||
builds
|
||||
/patches/*
|
||||
external/patches/*
|
||||
obj
|
||||
releases
|
||||
|
||||
# ant build products
|
||||
build.xml
|
||||
proguard-project.txt
|
||||
|
||||
app/src/main/jniLibs/
|
||||
app/src/main/libs/
|
||||
orbotservice/src/main/libs/
|
||||
orbotservice/src/main/jniLibs/
|
||||
|
|
|
@ -6,35 +6,15 @@
|
|||
path = external/libevent
|
||||
url = https://github.com/libevent/libevent.git
|
||||
ignore = dirty
|
||||
[submodule "external/jtorctl"]
|
||||
path = external/jtorctl
|
||||
url = https://github.com/guardianproject/jtorctl
|
||||
ignore = dirty
|
||||
[submodule "external/openssl"]
|
||||
path = external/openssl
|
||||
url = git://git.openssl.org/openssl
|
||||
url = https://github.com/openssl/openssl.git
|
||||
ignore = dirty
|
||||
[submodule "external/iptables"]
|
||||
path = external/iptables
|
||||
url = git://git.netfilter.org/iptables
|
||||
[submodule "external/zstd"]
|
||||
path = external/zstd
|
||||
url = https://github.com/facebook/zstd.git
|
||||
ignore = dirty
|
||||
[submodule "external/superuser-commands"]
|
||||
path = external/superuser-commands
|
||||
url = https://github.com/dschuermann/superuser-commands.git
|
||||
ignore = dirty
|
||||
[submodule "external/polipo"]
|
||||
path = external/polipo
|
||||
url = https://github.com/jech/polipo.git
|
||||
ignore = dirty
|
||||
[submodule "external/badvpn"]
|
||||
path = external/badvpn
|
||||
url = https://github.com/guardianproject/badvpn.git
|
||||
ignore = dirty
|
||||
[submodule "external/pluto"]
|
||||
path = external/pluto
|
||||
url = https://github.com/guardianproject/pluto.git
|
||||
ignore = dirty
|
||||
[submodule "external/jsocks"]
|
||||
path = external/jsocks
|
||||
url = https://github.com/guardianproject/jsocks.git
|
||||
[submodule "external/xz"]
|
||||
path = external/xz
|
||||
url = https://git.tukaani.org/xz.git
|
||||
ignore = dirty
|
||||
|
|
19
.project
|
@ -6,9 +6,13 @@
|
|||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
|
||||
<triggers>clean,full,incremental,</triggers>
|
||||
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
|
||||
<triggers>full,incremental,</triggers>
|
||||
<arguments>
|
||||
<dictionary>
|
||||
<key>LaunchConfigHandle</key>
|
||||
<value><project>/.externalToolBuilders/org.eclipse.cdt.managedbuilder.core.genmakebuilder.launch</value>
|
||||
</dictionary>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
|
@ -54,7 +58,7 @@
|
|||
</natures>
|
||||
<filteredResources>
|
||||
<filter>
|
||||
<id>1435241696221</id>
|
||||
<id>1451443416388</id>
|
||||
<name></name>
|
||||
<type>30</type>
|
||||
<matcher>
|
||||
|
@ -62,5 +66,14 @@
|
|||
<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>
|
||||
|
|
|
@ -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>
|
|
@ -1 +0,0 @@
|
|||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary
|
|
@ -1 +0,0 @@
|
|||
Window
|
23
.tx/config
|
@ -1,23 +0,0 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
lang_map = af_ZA: af-rZA, am_ET: am-rET, ar_AE: ar-rAE, ar_BH: ar-rBH, ar_DZ: ar-rDZ, ar_EG: ar-rEG, ar_IQ: ar-rIQ, ar_JO: ar-rJO, ar_KW: ar-rKW, ar_LB: ar-rLB, ar_LY: ar-rLY, ar_MA: ar-rMA, ar_OM: ar-rOM, ar_QA: ar-rQA, ar_SA: ar-rSA, ar_SY: ar-rSY, ar_TN: ar-rTN, ar_YE: ar-rYE, arn_CL: arn-rCL, as_IN: as-rIN, az_AZ: az-rAZ, ba_RU: ba-rRU, be_BY: be-rBY, bg_BG: bg-rBG, bn_BD: bn-rBD, bn_IN: bn-rIN, bo_CN: bo-rCN, br_FR: br-rFR, bs_BA: bs-rBA, ca_ES: ca-rES, co_FR: co-rFR, cs_CZ: cs-rCZ, cy_GB: cy-rGB, da_DK: da-rDK, de_AT: de-rAT, de_CH: de-rCH, de_DE: de-rDE, de_LI: de-rLI, de_LU: de-rLU, dsb_DE: dsb-rDE, dv_MV: dv-rMV, el_GR: el-rGR, en_AU: en-rAU, en_BZ: en-rBZ, en_CA: en-rCA, en_GB: en-rGB, en_IE: en-rIE, en_IN: en-rIN, en_JM: en-rJM, en_MY: en-rMY, en_NZ: en-rNZ, en_PH: en-rPH, en_SG: en-rSG, en_TT: en-rTT, en_US: en-rUS, en_ZA: en-rZA, en_ZW: en-rZW, es_AR: es-rAR, es_BO: es-rBO, es_CL: es-rCL, es_CO: es-rCO, es_CR: es-rCR, es_DO: es-rDO, es_EC: es-rEC, es_ES: es-rES, es_GT: es-rGT, es_HN: es-rHN, es_MX: es-rMX, es_NI: es-rNI, es_PA: es-rPA, es_PE: es-rPE, es_PR: es-rPR, es_PY: es-rPY, es_SV: es-rSV, es_US: es-rUS, es_UY: es-rUY, es_VE: es-rVE, et_EE: et-rEE, eu_ES: eu-rES, fa_IR: fa-rIR, fi_FI: fi-rFI, fil: tl, fil_PH: tl-rPH, fo_FO: fo-rFO, fr_BE: fr-rBE, fr_CA: fr-rCA, fr_CH: fr-rCH, fr_FR: fr-rFR, fr_LU: fr-rLU, fr_MC: fr-rMC, fy_NL: fy-rNL, ga_IE: ga-rIE, gd_GB: gd-rGB, gl_ES: gl-rES, gsw_FR: gsw-rFR, gu_IN: gu-rIN, ha_NG: ha-rNG, he: iw, he_IL: iw-rIL, hi_IN: hi-rIN, hr_BA: hr-rBA, hr_HR: hr-rHR, hsb_DE: hsb-rDE, hu_HU: hu-rHU, hy_AM: hy-rAM, id: in, id_ID: in-rID, ig_NG: ig-rNG, ii_CN: ii-rCN, is_IS: is-rIS, it_CH: it-rCH, it_IT: it-rIT, iu_CA: iu-rCA, ja_JP: ja-rJP, ka_GE: ka-rGE, kk_KZ: kk-rKZ, kl_GL: kl-rGL, km_KH: km-rKH, kn_IN: kn-rIN, ko_KR: ko-rKR, kok_IN: kok-rIN, ky_KG: ky-rKG, lb_LU: lb-rLU, lo_LA: lo-rLA, lt_LT: lt-rLT, lv_LV: lv-rLV, mi_NZ: mi-rNZ, mk_MK: mk-rMK, ml_IN: ml-rIN, mn_CN: mn-rCN, mn_MN: mn-rMN, moh_CA: moh-rCA, mr_IN: mr-rIN, ms_BN: ms-rBN, ms_MY: ms-rMY, mt_MT: mt-rMT, nb_NO: nb-rNO, ne_NP: ne-rNP, nl_BE: nl-rBE, nl_NL: nl-rNL, nn_NO: nn-rNO, nso_ZA: nso-rZA, oc_FR: oc-rFR, or_IN: or-rIN, pa_IN: pa-rIN, pl_PL: pl-rPL, prs_AF: prs-rAF, ps_AF: ps-rAF, pt_BR: pt-rBR, pt_PT: pt-rPT, qut_GT: qut-rGT, quz_BO: quz-rBO, quz_EC: quz-rEC, quz_PE: quz-rPE, rm_CH: rm-rCH, ro_RO: ro-rRO, ru_RU: ru-rRU, rw_RW: rw-rRW, sa_IN: sa-rIN, sah_RU: sah-rRU, se_FI: se-rFI, se_NO: se-rNO, se_SE: se-rSE, si_LK: si-rLK, sk_SK: sk-rSK, sl_SI: sl-rSI, sma_NO: sma-rNO, sma_SE: sma-rSE, smj_NO: smj-rNO, smj_SE: smj-rSE, smn_FI: smn-rFI, sms_FI: sms-rFI, sq_AL: sq-rAL, sr: sr, sv_FI: sv-rFI, sv_SE: sv-rSE, sw_KE: sw-rKE, syr_SY: syr-rSY, ta_IN: ta-rIN, te_IN: te-rIN, tg_TJ: tg-rTJ, th_TH: th-rTH, tk_TM: tk-rTM, tn_ZA: tn-rZA, tr_TR: tr-rTR, tt_RU: tt-rRU, tzm_DZ: tzm-rDZ, ug_CN: ug-rCN, uk_UA: uk-rUA, ur_PK: ur-rPK, uz_UZ: uz-rUZ, vi_VN: vi-rVN, wo_SN: wo-rSN, xh_ZA: xh-rZA, yo_NG: yo-rNG, zh: zh-rCN, zh_HK: zh-rHK, zh_MO: zh-rMO, zh_SG: zh-rSG, zh_TW: zh-rTW, zu_ZA: zu-rZA
|
||||
|
||||
[orbot.stringsxml]
|
||||
file_filter = res/values-<lang>/strings.xml
|
||||
host = https://www.transifex.com
|
||||
source_file = res/values/strings.xml
|
||||
source_lang = en
|
||||
type = ANDROID
|
||||
|
||||
[orbot.description]
|
||||
file_filter = description/<lang>.xlf
|
||||
host = https://www.transifex.com
|
||||
source_file = description/source.xlf
|
||||
source_lang = en
|
||||
type = XLIFF
|
||||
|
||||
[orbot.olddescription]
|
||||
file_filter = releases/assets/<lang>-description.txt
|
||||
host = https://www.transifex.com
|
||||
source_file = releases/assets/description.txt
|
||||
source_lang = en
|
|
@ -1,131 +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="15.0.1-beta-3"
|
||||
android:versionCode="150013"
|
||||
android:installLocation="auto"
|
||||
>
|
||||
|
||||
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22"/>
|
||||
<permission android:name="org.torproject.android.MANAGE_TOR"
|
||||
android:label="@string/permission_manage_tor_label"
|
||||
android:description="@string/permission_manage_tor_description"
|
||||
android:protectionLevel="signature"/>
|
||||
|
||||
<uses-permission android:name="org.torproject.android.MANAGE_TOR"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||
|
||||
<application android:name="org.torproject.android.OrbotApp" android:icon="@drawable/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:description="@string/app_description"
|
||||
android:configChanges="locale|orientation|screenSize"
|
||||
android:theme="@style/CustomActionBarTheme"
|
||||
android:allowBackup="false"
|
||||
android:allowClearUserData="true"
|
||||
android:persistent="true"
|
||||
android:stopWithTask="false"
|
||||
android:largeHeap="false"
|
||||
>
|
||||
|
||||
<activity android:name=".OrbotMainActivity"
|
||||
android:configChanges="orientation|screenSize"
|
||||
android:excludeFromRecents="true"
|
||||
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" />
|
||||
<data android:scheme="bridge" />
|
||||
</intent-filter>
|
||||
|
||||
<intent-filter>
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<action android:name="org.torproject.android.REQUEST_HS_PORT" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
<action android:name="org.torproject.android.START_TOR" />
|
||||
</intent-filter>
|
||||
|
||||
</activity>
|
||||
|
||||
<!--
|
||||
This is for ensuring the background service still runs when/if the app is swiped away
|
||||
-->
|
||||
<activity
|
||||
android:name=".service.DummyActivity"
|
||||
android:theme="@android:style/Theme.NoDisplay"
|
||||
android:enabled="true"
|
||||
android:allowTaskReparenting="true"
|
||||
android:noHistory="true"
|
||||
android:excludeFromRecents="true"
|
||||
android:alwaysRetainTaskState="false"
|
||||
android:stateNotNeeded="true"
|
||||
android:clearTaskOnLaunch="true"
|
||||
android:finishOnTaskLaunch="true"
|
||||
|
||||
/>
|
||||
|
||||
<activity
|
||||
android:name=".vpn.VPNEnableActivity" android:label="@string/app_name" android:exported="false"
|
||||
android:theme="@android:style/Theme.NoDisplay"
|
||||
/>
|
||||
|
||||
|
||||
<activity android:name="org.torproject.android.ui.PromoAppsActivity" android:exported="false"/>
|
||||
|
||||
|
||||
<activity android:name=".settings.SettingsPreferences" android:label="@string/app_name"/>
|
||||
<activity android:name=".settings.AppManager" android:label="@string/app_name"/>
|
||||
|
||||
<service
|
||||
android:name=".service.TorService"
|
||||
android:enabled="true"
|
||||
android:permission="org.torproject.android.MANAGE_TOR"
|
||||
android:stopWithTask="false" >
|
||||
</service>
|
||||
|
||||
<receiver
|
||||
android:name=".service.StartTorReceiver"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="org.torproject.android.intent.action.START" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<receiver android:name="org.torproject.android.service.OnBootReceiver"
|
||||
android:enabled="true" android:exported="true"
|
||||
|
||||
>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED" />
|
||||
<category android:name="android.intent.category.HOME" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
|
||||
<category android:name="android.intent.category.HOME" />
|
||||
</intent-filter>
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MEDIA_MOUNTED"/>
|
||||
<category android:name="android.intent.category.HOME" />
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
|
||||
<service android:name="org.torproject.android.vpn.OrbotVpnService"
|
||||
android:permission="android.permission.BIND_VPN_SERVICE">
|
||||
<intent-filter>
|
||||
<action android:name="android.net.VpnService"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
</application>
|
||||
</manifest>
|
66
BUILD
|
@ -8,84 +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 Polipo 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
|
||||
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)
|
||||
|
||||
Be sure that you have all of the git submodules up-to-date:
|
||||
|
||||
git submodule update --init --recursive
|
||||
./tor-droid-make.sh fetch
|
||||
|
||||
To begin building, from the Orbot root directory, you first need to build all
|
||||
external C/native dependencies:
|
||||
To begin building, from the Orbot root directory, it builds all submodules and
|
||||
the project.
|
||||
|
||||
export ANDROID_NDK_HOME={PATH TO YOUR NDK INSTALL}
|
||||
make -C external
|
||||
|
||||
At this point, you'll have Tor and Polipo binaries that can be run on an
|
||||
Android handset. You can verify the ARM binary was properly built using the
|
||||
following command:
|
||||
|
||||
file external/bin/tor external/bin/polipo
|
||||
|
||||
You should see something like:
|
||||
external/bin/tor: ELF 32-bit LSB executable, ARM, version 1 (SYSV),
|
||||
dynamically linked (uses shared libs), not stripped
|
||||
external/bin/polipo: 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 external/bin. We split it
|
||||
into < 1M chunks because some Android devices don't like resources larger than
|
||||
1M.
|
||||
split --bytes=1m ./external/tor/src/or/tor ./external/bin/tor
|
||||
./tor-droid-make.sh build
|
||||
|
||||
Now build the Android app
|
||||
|
||||
./setup-ant
|
||||
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!
|
||||
|
||||
|
|
40
INSTALL
|
@ -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
|
@ -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.
|
||||
===============================================================================
|
||||
|
|
36
README
|
@ -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,10 +34,3 @@ Tor Frequently Asked Questions:
|
|||
https://wiki.torproject.org/noreply/TheOnionRouter/TorFAQ
|
||||
https://www.torproject.org/faq.html.en
|
||||
|
||||
***********************************************
|
||||
/* Copyright (c) 2009-2013, Nathan Freitas, The Guardian Project
|
||||
* https://guardianproject.info/ */
|
||||
|
||||
*****
|
||||
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
Manifest-Version: 1.0
|
||||
Sealed: true
|
||||
|
|
@ -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()
|
||||
}
|
||||
}
|
92
build.xml
|
@ -1,92 +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" />
|
||||
|
||||
<!-- if sdk.dir was not set from one of the property file, then
|
||||
get it from the ANDROID_HOME env var.
|
||||
This must be done before we load project.properties since
|
||||
the proguard config can use sdk.dir -->
|
||||
<property environment="env" />
|
||||
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
|
||||
<isset property="env.ANDROID_HOME" />
|
||||
</condition>
|
||||
|
||||
<!-- The project.properties file is created and updated by the 'android'
|
||||
tool, as well as ADT.
|
||||
|
||||
This contains project specific properties such as project target, and library
|
||||
dependencies. Lower level build properties are stored in ant.properties
|
||||
(or in .classpath for Eclipse projects).
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems. -->
|
||||
<loadproperties srcFile="project.properties" />
|
||||
|
||||
<!-- quick check on sdk.dir -->
|
||||
<fail
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
|
||||
unless="sdk.dir"
|
||||
/>
|
||||
|
||||
<!--
|
||||
Import per project custom build rules if present at the root of the project.
|
||||
This is the place to put custom intermediary targets such as:
|
||||
-pre-build
|
||||
-pre-compile
|
||||
-post-compile (This is typically used for code obfuscation.
|
||||
Compiled code location: ${out.classes.absolute.dir}
|
||||
If this is not done in place, override ${out.dex.input.absolute.dir})
|
||||
-post-package
|
||||
-post-build
|
||||
-pre-clean
|
||||
-->
|
||||
<import file="custom_rules.xml" optional="true" />
|
||||
|
||||
<!-- Import the actual build file.
|
||||
|
||||
To customize existing targets, there are two options:
|
||||
- Customize only one target:
|
||||
- copy/paste the target into this file, *before* the
|
||||
<import> task.
|
||||
- customize it to your needs.
|
||||
- Customize the whole content of build.xml
|
||||
- copy/paste the content of the rules files (minus the top node)
|
||||
into this file, replacing the <import> task.
|
||||
- customize to your needs.
|
||||
|
||||
***********************
|
||||
****** IMPORTANT ******
|
||||
***********************
|
||||
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
|
||||
in order to avoid having your file be overridden by tools such as "android update project"
|
||||
-->
|
||||
<!-- version-tag: 1 -->
|
||||
<import file="${sdk.dir}/tools/ant/build.xml" />
|
||||
|
||||
</project>
|
|
@ -1,62 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "Usage: $0 /path/to/Orbot-v15.0.1.apk /another/Orbot-v15.0.1.apk"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -e
|
||||
set -x
|
||||
|
||||
test -e "$1"
|
||||
test -e "$2"
|
||||
|
||||
tmpdir=`mktemp -d /tmp/.compare-apks.XXXXXXXXXX`
|
||||
apk1=$(basename $1)
|
||||
apk2=$(basename $2)
|
||||
sourcedir1=$(cd `dirname $1` && pwd)
|
||||
sourcedir2=$(cd `dirname $2` && pwd)
|
||||
apkname1=`echo $apk1 | sed 's,\.apk$,,'`
|
||||
apkname2=`echo $apk2 | sed 's,\.apk$,,'`
|
||||
dir1=$tmpdir/`echo $(dirname $1) | sed 's,[/ ],_,g'`-$apkname1
|
||||
dir2=$tmpdir/`echo $(dirname $2) | sed 's,[/ ],_,g'`-$apkname2
|
||||
|
||||
mkdir -p $dir1/zip
|
||||
cd $dir1/zip
|
||||
unzip "$sourcedir1/$apk1"
|
||||
cd ..
|
||||
apktool d --no-res --no-src "$sourcedir1/$apk1"
|
||||
mv "$apkname1" apktool
|
||||
# strip the full path to the zip for the comparison
|
||||
unzip -l "$sourcedir1/$apk1" | sed 's,^\(Archive:\s\s*\)/.*/,\1,' > $dir1/unzip-l.txt
|
||||
unzip -lv "$sourcedir1/$apk1" | sed 's,^\(Archive:\s\s*\)/.*/,\1,' > $dir1/unzip-lv.txt
|
||||
zipinfo -lv "$sourcedir1/$apk1" | sed 's,^\(Archive:\s\s*\)/.*/,\1,' > $dir1/zipinfo-lv.txt
|
||||
xxd "$sourcedir1/$apk1" > $dir1/xxd
|
||||
for f in $dir1/zip/assets/*/*; do
|
||||
xxd $f > $dir1/xxd-$(basename $f)
|
||||
done
|
||||
|
||||
mkdir -p $dir2/zip
|
||||
cd $dir2/zip
|
||||
unzip "$sourcedir2/$apk2"
|
||||
cd ..
|
||||
apktool d --no-res --no-src "$sourcedir2/$apk2"
|
||||
mv "$apkname2" apktool
|
||||
# strip the full path to the zip for the comparison
|
||||
unzip -l "$sourcedir2/$apk2" | sed 's,^\(Archive:\s\s*\)/.*/,\1,' > $dir2/unzip-l.txt
|
||||
unzip -lv "$sourcedir2/$apk2" | sed 's,^\(Archive:\s\s*\)/.*/,\1,' > $dir2/unzip-lv.txt
|
||||
zipinfo -lv "$sourcedir2/$apk2" | sed 's,^\(Archive:\s\s*\)/.*/,\1,' > $dir2/zipinfo-lv.txt
|
||||
xxd "$sourcedir2/$apk2" > $dir2/xxd
|
||||
for f in $dir2/zip/assets/*/*; do
|
||||
xxd $f > $dir2/xxd-$(basename $f)
|
||||
done
|
||||
|
||||
if which meld > /dev/null; then
|
||||
meld $dir1 $dir2
|
||||
elif which opendiff > /dev/null; then
|
||||
opendiff $dir1 $dir2
|
||||
else
|
||||
echo "ERROR: meld or opendiff required for the comparison!"
|
||||
fi
|
||||
|
||||
rm -rf $dir1 $dir2
|
|
@ -1,57 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project>
|
||||
|
||||
<target name="-getgitdetails" >
|
||||
<exec executable="git" outputproperty="git.describe">
|
||||
<arg value="describe"/>
|
||||
</exec>
|
||||
<exec executable="git" outputproperty="git.revision">
|
||||
<arg value="rev-parse"/>
|
||||
<arg value="HEAD"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
<target name="rename-release-with-version-number" depends="-getgitdetails">
|
||||
<xmlproperty file="AndroidManifest.xml"
|
||||
prefix="themanifest"
|
||||
collapseAttributes="true"/>
|
||||
<!-- see ${sdk.dir}/tools/ant/build.xml -set-release-mode -->
|
||||
<property name="out.packaged.file"
|
||||
location="${out.absolute.dir}/${ant.project.name}-v${git.describe}-unsigned.apk" />
|
||||
<property name="out.final.file"
|
||||
location="${out.absolute.dir}/${ant.project.name}-v${git.describe}.apk" />
|
||||
</target>
|
||||
|
||||
<target name="-set-release-mode"
|
||||
depends="rename-release-with-version-number,android_rules.-set-release-mode">
|
||||
<echo message="target: ${build.target}"></echo>
|
||||
</target>
|
||||
|
||||
<target name="-post-package" depends="-getgitdetails">
|
||||
<property file="${sdk.dir}/tools/source.properties"/>
|
||||
<property name="meta.inf.dir" value="${out.dir}/META-INF"/>
|
||||
<property name="build.manifest.file" value="${meta.inf.dir}/BUILD.MF"/>
|
||||
<mkdir dir="${meta.inf.dir}"/>
|
||||
<manifest file="${build.manifest.file}">
|
||||
<attribute name="Implementation-Package-Name" value="${themanifest.manifest.package}"/>
|
||||
<attribute name="Implementation-Version-Name" value="${themanifest.manifest.android:versionName}"/>
|
||||
<attribute name="Implementation-Version-Code" value="${themanifest.manifest.android:versionCode}"/>
|
||||
<attribute name="Git-Revision" value="${git.revision}"/>
|
||||
<attribute name="Android-SDK-Release" value="${Pkg.Revision}"/>
|
||||
<attribute name="Android-SDK-Host-OS" value="${Archive.HostOs}"/>
|
||||
<attribute name="Android-SDK-aapt" value="${aapt}"/>
|
||||
<attribute name="Android-SDK-zipalign" value="${zipalign}"/>
|
||||
</manifest>
|
||||
<condition property="build.is.debug" value="true" else="false">
|
||||
<equals arg1="${build.target}" arg2="debug" />
|
||||
</condition>
|
||||
<!-- adding BUILD.MF breaks debug builds, but not releases -->
|
||||
<if condition="${build.is.debug}">
|
||||
<else>
|
||||
<jar update="true" destfile="${out.packaged.file}">
|
||||
<fileset dir="${out.dir}" includes="META-INF/BUILD.MF"/>
|
||||
</jar>
|
||||
</else>
|
||||
</if>
|
||||
</target>
|
||||
</project>
|
|
@ -1,86 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xliff version="1.2">
|
||||
<file datatype="plaintext" original="source.xlf" source-language="en">
|
||||
<header>
|
||||
<note from="developer">Google places strick character limits on the various text fields in Google Play. The title is 30 characters, the short description is 80 characters, and the rest of the strings, which all go together in the description, are limited to 4000 characters.</note>
|
||||
</header>
|
||||
<body>
|
||||
<trans-unit id="title" size-unit="char" maxwidth="30">
|
||||
<source>Orbot</source>
|
||||
<note from="developer">This is limited by Google to 30 characters</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="shortdescription" size-unit="char" maxwidth="80">
|
||||
<source>Protect your privacy with this proxy with Tor</source>
|
||||
<note from="developer">This is limited by Google to 80 characters</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro">
|
||||
<source>Orbot is a free proxy app that empowers other apps to use the internet more securely. Orbot uses Tor to encrypt your Internet traffic and then hides it by bouncing through a series of computers around the world. Tor is free software and an open network that helps you defend against a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security known as traffic analysis.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro2">
|
||||
<source>Orbot is the only app that creates a truly private internet connection. As the New York Times writes, “when a communication arrives from Tor, you can never know where or whom it’s from.” Tor won the 2012 Electronic Frontier Foundation (EFF) Pioneer Award.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro2">
|
||||
<source>ACCEPT NO SUBSTITUTES: Orbot is the safest way to use the Internet on Android. Period. Orbot bounces your encrypted traffic several times through computers around the world, instead of connecting you directly like VPNs and proxies. This process takes a little longer, but the strongest privacy and identity protection available is worth the wait.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro2">
|
||||
<source>PRIVATE WEB SURFING: Use with Orweb, the most anonymous way to access any website, even if it’s normally blocked, monitored, or on the hidden web. Get Orweb: https://goo.gl/s3mLa</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro2">
|
||||
<source>PRIVATE CHAT MESSAGING: Use Gibberbot with Orbot to chat confidentially with anyone, anywhere for free. Get Gibberbot: https://goo.gl/O3FfS</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro2">
|
||||
<source>PRIVACY FOR APPS: Any installed app can use Tor if it has a proxy feature, using the settings found here: https://goo.gl/2OA1y Use Orbot with Twitter, or try private web searching with DuckDuckGo: https://goo.gl/lgh1p</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="intro2">
|
||||
<source>PRIVACY FOR EVERYONE: Tor can help you confidentially research a competitor, get around the Facebook block at school, or circumvent a firewall to watch sports at work.
|
||||
PRIVACY MADE EASY: Check out our fun, interactive walkthrough: https://guardianproject.info/howto/browsefreely
|
||||
IT’S OFFICIAL: This is the official version of the Tor onion routing service for Android.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="expertrootmode">
|
||||
<source>***Expert Root Mode***</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="universalmode">
|
||||
<source>UNIVERSAL MODE: Orbot can be configured to transparently proxy all of your Internet traffic through Tor. You can also choose which specific apps you want to use through Tor.</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="wespeakyourlanguage">
|
||||
<source>★ WE SPEAK YOUR LANGUAGE: Orbot is available for friends who speak:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="languagelist" translate="no">
|
||||
<source>العربية, azərbaycanca, български, català, Čeština, dansk, Deutsch, Ελληνικά, English, español, eesti, euskara, فارسی, suomi, français, galego, hrvatski, magyar, עברית, íslenska, italiano, 日本語, 한국어, lietuvių, latviešu, Македонци, Bahasa Melayu, Nederlands, norsk, polski, português, Русский, slovenčina, slovenščina, српски, svenska, Türkçe, українська, Tagalog, Tiếng Việt, 中文(简体), 中文(台灣)</source>
|
||||
<note from="developer">Do not translate the names of the languages, leave them just like this.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="helptranslate">
|
||||
<source>Don’t see your language? Join us and help translate the app:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="helptranslateurl" translate="no">
|
||||
<source>https://www.transifex.com/projects/p/orbot</source>
|
||||
<note from="developer">Do not translate this.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="learnmore">
|
||||
<source>***Learn More***</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="aboutus">
|
||||
<source>★ ABOUT US: Guardian Project is a group of developers that make secure mobile apps and open-source code for a better tomorrow</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="ourwebsite">
|
||||
<source>★ OUR WEBSITE: https://GuardianProject.info</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="abouttor">
|
||||
<source>★ ABOUT TOR: https://TorProject.org</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="ontwitter">
|
||||
<source>★ ON TWITTER: https://twitter.com/guardianproject</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="freesoftware">
|
||||
<source>★ FREE SOFTWARE: Orbot is free software. Take a look at our source code, or join the community to make it better:</source>
|
||||
</trans-unit>
|
||||
<trans-unit id="gitrepo" translate="no">
|
||||
<source>https://gitweb.torproject.org/orbot.git</source>
|
||||
<note from="developer">Do not translate this.</note>
|
||||
</trans-unit>
|
||||
<trans-unit id="messageus">
|
||||
<source>★ MESSAGE US: Are we missing your favorite feature? Found an annoying bug? Please tell us! We’d love to hear from you. Send us an email: support@guardianproject.info or find us in our chat room https://guardianproject.info/contact</source>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
</xliff>
|
|
@ -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
|
|
@ -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
|
||||
|
||||
|
||||
|
|
@ -11,6 +11,11 @@ export ac_cv_func_setpgrp_void=yes
|
|||
|
||||
EXTERNAL_ROOT := $(shell pwd)
|
||||
|
||||
DEBUG ?= 0
|
||||
|
||||
# No-op command.
|
||||
NOOP = true
|
||||
|
||||
# Android now has 64-bit and 32-bit versions of the NDK for GNU/Linux. We
|
||||
# assume that the build platform uses the appropriate version, otherwise the
|
||||
# user building this will have to manually set NDK_PROCESSOR or NDK_TOOLCHAIN.
|
||||
|
@ -23,16 +28,22 @@ endif
|
|||
|
||||
# Android NDK setup
|
||||
ANDROID_NDK_HOME ?= /opt/android-ndk
|
||||
ANDROID_NDK ?= $(ANDROID_NDK_HOME)
|
||||
NDK_PLATFORM_LEVEL ?= 16
|
||||
NDK_TOOLCHAIN_VERSION=4.8
|
||||
NDK_TOOLCHAIN_VERSION=4.9
|
||||
APP_ABI ?= armeabi
|
||||
NDK_ABI ?= $(APP_ABI)
|
||||
|
||||
# PIEFLAGS for SDK 16/Android L must be set to -fPIE -pie, but can override for earlier targets
|
||||
PIEFLAGS ?= -fPIE -pie
|
||||
|
||||
ifneq ($(filter arm%, $(APP_ABI)),)
|
||||
NDK_ABI := arm
|
||||
endif
|
||||
ifneq ($(filter arm64%, $(APP_ABI)),)
|
||||
NDK_ABI := arm64
|
||||
endif
|
||||
|
||||
NDK_SYSROOT=$(ANDROID_NDK_HOME)/platforms/android-$(NDK_PLATFORM_LEVEL)/arch-$(NDK_ABI)
|
||||
NDK_UNAME := $(shell uname -s | tr '[A-Z]' '[a-z]')
|
||||
ifneq ($(filter mips%, $(NDK_ABI)),)
|
||||
|
@ -59,7 +70,7 @@ NDK_TOOLCHAIN_BASE=$(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/prebuilt/$(ND
|
|||
|
||||
# include Android's build flags
|
||||
TARGET_ARCH_ABI = $(APP_ABI)
|
||||
include $(ANDROID_NDK_HOME)/toolchains/$(NDK_TOOLCHAIN)/setup.mk
|
||||
#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)
|
||||
|
@ -67,11 +78,14 @@ 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
|
||||
STRIP := $(NDK_TOOLCHAIN_BASE)/bin/$(HOST)-strip \
|
||||
--strip-unneeded -R .note -R .comment --strip-debug
|
||||
|
||||
# PIEFLAGS for SDK 16/Android L must be set to -fPIE -pie, but can override for earlier targets
|
||||
PIEFLAGS ?= -fPIE -pie
|
||||
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)
|
||||
|
||||
|
@ -83,13 +97,15 @@ ifeq ($(APP_ABI),armeabi)
|
|||
CFLAGS += $(TARGET_thumb_release_CFLAGS)
|
||||
endif
|
||||
|
||||
|
||||
|
||||
.PHONY = clean showsetup \
|
||||
assets assets-clean \
|
||||
openssl-static openssl-static-clean \
|
||||
libevent libevent-clean \
|
||||
iptables iptables-clean \
|
||||
tor tor-clean \
|
||||
polipo polipo-clean
|
||||
lzma lzma-clean \
|
||||
zstd zstd-clean \
|
||||
tor tor-clean
|
||||
|
||||
all: assets
|
||||
|
||||
|
@ -108,13 +124,12 @@ 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
|
||||
OPENSSL_CONF_FLAG+=-D_MIPS_SZLONG=32 -D__MIPSEL__
|
||||
endif
|
||||
endif
|
||||
|
||||
lib/libcrypto.a:
|
||||
cd openssl && \
|
||||
./Configure android -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
|
||||
./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
|
||||
|
||||
|
@ -122,7 +137,7 @@ lib/libssl.a:
|
|||
cp config.sub openssl
|
||||
cp config.guess openssl
|
||||
cd openssl && \
|
||||
./Configure android -DL_ENDIAN $(OPENSSL_CONF_FLAG) && \
|
||||
./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
|
||||
|
||||
|
@ -178,43 +193,57 @@ libevent-clean:
|
|||
-rm -f libevent-build-stamp
|
||||
-cd libevent && \
|
||||
git clean -fdx
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# iptables
|
||||
# lzma
|
||||
|
||||
iptables/Makefile:
|
||||
cp iptables-patch-1 iptables
|
||||
cp iptables-patch-2 iptables
|
||||
cp iptables-patch-3 iptables
|
||||
cp iptables-patch-4 iptables
|
||||
-cd iptables && \
|
||||
patch -N -p1 --reject-file=- < iptables-patch-1
|
||||
-cd iptables && \
|
||||
patch -N -p1 --reject-file=- < iptables-patch-2
|
||||
-cd iptables && \
|
||||
patch -N -p1 --reject-file=- < iptables-patch-3
|
||||
-cd iptables && \
|
||||
patch -N -p0 --reject-file=- < iptables-patch-4
|
||||
cd iptables && ./autogen.sh
|
||||
cp config.sub iptables
|
||||
cp config.guess iptables
|
||||
cd iptables && \
|
||||
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -I$(EXTERNAL_ROOT)/include" LDFLAGS="$(LDFLAGS)" \
|
||||
./configure --host=$(HOST) --disable-shared --enable-static
|
||||
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
|
||||
cp iptables/iptables/xtables-multi bin/xtables
|
||||
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
|
||||
-rm bin/xtables
|
||||
-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
|
||||
|
||||
|
@ -223,26 +252,23 @@ tor/configure:
|
|||
./autogen.sh
|
||||
|
||||
tor/Makefile: tor/configure
|
||||
cp fix_android_0.2.6.4rc_build.patch tor
|
||||
cd tor && \
|
||||
git apply fix_android_0.2.6.4rc_build.patch
|
||||
cp config.sub tor
|
||||
cp config.guess tor
|
||||
cd tor && \
|
||||
CC="$(CC)" AR="$(AR)" RANLIB=$(RANLIB) CFLAGS="$(CFLAGS) -D_FORTIFY_SOURCE=2 -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) \
|
||||
--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 all-am
|
||||
touch tor-build-stamp
|
||||
|
||||
tor: libevent openssl tor-build-stamp
|
||||
tor: lzma zstd libevent openssl tor-build-stamp
|
||||
test -d bin || mkdir bin
|
||||
cp tor/src/or/tor bin
|
||||
|
||||
|
@ -255,70 +281,22 @@ tor-clean:
|
|||
git reset HEAD --hard
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# polipo
|
||||
#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
|
||||
|
||||
polipo-build-stamp:
|
||||
CC="$(CC)" CFLAGS="$(PIEFLAGS)" LDFLAGS="$(PIEFLAGS)" $(MAKE) -C polipo
|
||||
touch polipo-build-stamp
|
||||
|
||||
polipo: polipo-build-stamp
|
||||
test -d bin || mkdir bin
|
||||
cp polipo/polipo bin
|
||||
|
||||
polipo-clean:
|
||||
$(MAKE) -C polipo clean
|
||||
-rm -f polipo/polipo
|
||||
-rm -f bin/polipo
|
||||
-rm -f polipo-build-stamp
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# JTorControl library
|
||||
|
||||
jtorctl/bin/jtorctl.jar:
|
||||
test -d jtorctl/bin || mkdir jtorctl/bin
|
||||
cd jtorctl && \
|
||||
javac -source 1.6 -target 1.6 net/freehaven/tor/control/TorControlConnection.java -d bin
|
||||
cd jtorctl/bin && \
|
||||
jar cvf jtorctl.jar *
|
||||
|
||||
jtorctl-build-stamp: jtorctl/bin/jtorctl.jar
|
||||
touch jtorctl-build-stamp
|
||||
|
||||
jtorctl: jtorctl-build-stamp
|
||||
test -d bin || mkdir bin
|
||||
cp jtorctl/bin/jtorctl.jar bin
|
||||
|
||||
jtorctl-clean:
|
||||
-rm -rf jtorctl/bin
|
||||
-rm jtorctl-build-stamp
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
#create and clean assets: FYI - tor is stored as a ZIP file with an mp3 extension
|
||||
#in order to stop Android OS (older devices) from trying to compress/decompress it
|
||||
#this is related to a bug in compression of assets and resources > 1MB
|
||||
|
||||
assets: tor polipo jtorctl iptables
|
||||
install -d ../libs
|
||||
install bin/jtorctl.jar ../libs
|
||||
install -d ../assets/$(APP_ABI)
|
||||
-$(STRIP) bin/polipo
|
||||
-zip ../assets/$(APP_ABI)/polipo.mp3 bin/polipo
|
||||
assets: tor
|
||||
install -d ../tor-android-binary/src/main/libs/$(APP_ABI)
|
||||
-$(STRIP) bin/tor
|
||||
-zip ../assets/$(APP_ABI)/tor.mp3 bin/tor
|
||||
-$(STRIP) bin/xtables
|
||||
-zip ../assets/$(APP_ABI)/xtables.mp3 bin/xtables
|
||||
-zip ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so bin/tor
|
||||
|
||||
assets-clean:
|
||||
-rm ../assets/$(APP_ABI)/polipo.mp3
|
||||
-rm ../assets/$(APP_ABI)/tor.mp3
|
||||
-rm ../assets/$(APP_ABI)/xtables.mp3
|
||||
-rm ../libs/jtorctl.jar
|
||||
-rm ../tor-android-binary/src/main/libs/$(APP_ABI)/tor.so
|
||||
|
||||
#------------------------------------------------------------------------------#
|
||||
# cleanup, cleanup, put the toys away
|
||||
|
||||
##clean: openssl-clean libevent-clean tor-clean polipo-clean jtorctl-clean assets-clean
|
||||
clean: openssl-clean libevent-clean tor-clean polipo-clean iptables-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
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry exported="true" kind="lib" path="libs/android-support-v4.jar"/>
|
||||
<classpathentry exported="true" kind="lib" path="libs/android-support-v7-appcompat.jar"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
|
@ -1,33 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>android-support-v7-appcompat</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -1,4 +0,0 @@
|
|||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
|
||||
org.eclipse.jdt.core.compiler.compliance=1.6
|
||||
org.eclipse.jdt.core.compiler.source=1.6
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2012 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="android.support.v7.appcompat">
|
||||
<uses-sdk android:minSdkVersion="7"/>
|
||||
<application />
|
||||
</manifest>
|
|
@ -1,10 +0,0 @@
|
|||
Library Project including compatibility ActionBar.
|
||||
|
||||
This can be used by an Android project to provide
|
||||
access to ActionBar on applications running on API 7+.
|
||||
|
||||
There is technically no source, but the src folder is necessary
|
||||
to ensure that the build system works. The content is actually
|
||||
located in libs/android-support-v7-appcompat.jar.
|
||||
The accompanying resources must also be included in the application.
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system edit
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
#
|
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||
|
||||
# Project target.
|
||||
target=android-22
|
||||
android.library=true
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||
android:duration="@android:integer/config_mediumAnimTime" />
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromAlpha="1.0" android:toAlpha="0.0"
|
||||
android:duration="@android:integer/config_mediumAnimTime" />
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromYDelta="50%p" android:toYDelta="0"
|
||||
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:fromYDelta="-50%p" android:toYDelta="0"
|
||||
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/accelerate_interpolator"
|
||||
android:fromYDelta="0" android:toYDelta="50%p"
|
||||
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -1,19 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<translate xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:interpolator="@android:anim/accelerate_interpolator"
|
||||
android:fromYDelta="0" android:toYDelta="-50%p"
|
||||
android:duration="@android:integer/config_mediumAnimTime"/>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_accelerated="false" android:color="@color/background_material_dark" />
|
||||
<item android:color="@android:color/transparent" />
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_accelerated="false" android:color="@color/background_material_light" />
|
||||
<item android:color="@android:color/transparent" />
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/bright_foreground_disabled_material_dark"/>
|
||||
<item android:color="@color/bright_foreground_material_dark"/>
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/bright_foreground_disabled_material_light"/>
|
||||
<item android:color="@color/bright_foreground_material_light"/>
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2008 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/primary_text_disabled_material_dark"/>
|
||||
<item android:color="@color/primary_text_default_material_dark"/>
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/primary_text_disabled_material_light"/>
|
||||
<item android:color="@color/primary_text_default_material_light"/>
|
||||
</selector>
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true" android:color="@color/abc_search_url_text_pressed"/>
|
||||
<item android:state_selected="true" android:color="@color/abc_search_url_text_selected"/>
|
||||
<item android:color="@color/abc_search_url_text_normal"/>
|
||||
</selector>
|
|
@ -1,21 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2013 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_pressed="true" android:color="@color/abc_search_url_text_pressed"/>
|
||||
<item android:state_selected="true" android:color="@color/abc_search_url_text_selected"/>
|
||||
<item android:color="@color/abc_search_url_text_normal"/> <!-- not selected -->
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/secondary_text_disabled_material_dark"/>
|
||||
<item android:color="@color/secondary_text_default_material_dark"/>
|
||||
</selector>
|
|
@ -1,20 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false" android:color="@color/secondary_text_disabled_material_light"/>
|
||||
<item android:color="@color/secondary_text_default_material_light"/>
|
||||
</selector>
|
Before Width: | Height: | Size: 144 B |
Before Width: | Height: | Size: 144 B |
Before Width: | Height: | Size: 135 B |
Before Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 145 B |
Before Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 146 B |
Before Width: | Height: | Size: 139 B |
Before Width: | Height: | Size: 133 B |
Before Width: | Height: | Size: 155 B |
Before Width: | Height: | Size: 145 B |
Before Width: | Height: | Size: 602 B |
Before Width: | Height: | Size: 900 B |
Before Width: | Height: | Size: 951 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 149 B |
Before Width: | Height: | Size: 145 B |
Before Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 147 B |
Before Width: | Height: | Size: 119 B |
Before Width: | Height: | Size: 602 B |
Before Width: | Height: | Size: 546 B |
Before Width: | Height: | Size: 667 B |
Before Width: | Height: | Size: 713 B |
Before Width: | Height: | Size: 737 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 326 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 597 B |
Before Width: | Height: | Size: 616 B |
Before Width: | Height: | Size: 192 B |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 120 B |
Before Width: | Height: | Size: 287 B |
Before Width: | Height: | Size: 500 B |
Before Width: | Height: | Size: 219 B |
Before Width: | Height: | Size: 144 B |
Before Width: | Height: | Size: 148 B |
Before Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 313 B |
Before Width: | Height: | Size: 467 B |
Before Width: | Height: | Size: 505 B |