diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 1e93f24d..2f724106 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -1,17 +1,17 @@ - + - + - + - - + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index febbc86b..bfddde93 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -11,6 +11,7 @@ diff --git a/.safedk/hashes.safedk b/.safedk/hashes.safedk index 0d71384b..238f9084 100644 --- a/.safedk/hashes.safedk +++ b/.safedk/hashes.safedk @@ -1,3 +1,3 @@ -#Wed Jan 04 13:50:34 PKT 2023 -\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000= -json=1038193561 +#Sat Jan 07 01:54:37 PKT 2023 +\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000= +json=-1619911513 diff --git a/.safedk/plugin.properties b/.safedk/plugin.properties index 9e8d765a..8a8041fa 100644 --- a/.safedk/plugin.properties +++ b/.safedk/plugin.properties @@ -1,5 +1,5 @@ # -#Wed Jan 04 13:50:34 PKT 2023 +#Sat Jan 07 02:11:23 PKT 2023 \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000= sdk_analysis_plugin_version=4.8.2 set_multidex=true diff --git a/OrbotLib/OrbotLib.aar b/OrbotLib/OrbotLib.aar new file mode 100644 index 00000000..6d765bf8 Binary files /dev/null and b/OrbotLib/OrbotLib.aar differ diff --git a/OrbotLib/build.gradle b/OrbotLib/build.gradle new file mode 100644 index 00000000..013c3e9f --- /dev/null +++ b/OrbotLib/build.gradle @@ -0,0 +1,2 @@ +configurations.maybeCreate("default") +artifacts.add("default",file('OrbotLib.aar')) diff --git a/OrbotLib/build/.transforms/083f70b59baf8086f2251649746ee00d/results.bin b/OrbotLib/build/.transforms/083f70b59baf8086f2251649746ee00d/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/131c5c2eaa4d18ec3243e00d5f0c3e7e/results.bin b/OrbotLib/build/.transforms/131c5c2eaa4d18ec3243e00d5f0c3e7e/results.bin new file mode 100644 index 00000000..a23ff11c --- /dev/null +++ b/OrbotLib/build/.transforms/131c5c2eaa4d18ec3243e00d5f0c3e7e/results.bin @@ -0,0 +1 @@ +o/jetified-OrbotLib-runtime.jar diff --git a/OrbotLib/build/.transforms/131c5c2eaa4d18ec3243e00d5f0c3e7e/transformed/jetified-OrbotLib-runtime.jar b/OrbotLib/build/.transforms/131c5c2eaa4d18ec3243e00d5f0c3e7e/transformed/jetified-OrbotLib-runtime.jar new file mode 100644 index 00000000..cd21e497 Binary files /dev/null and b/OrbotLib/build/.transforms/131c5c2eaa4d18ec3243e00d5f0c3e7e/transformed/jetified-OrbotLib-runtime.jar differ diff --git a/OrbotLib/build/.transforms/132e4f62a3c7a8d37f2fbc2464c53f06/results.bin b/OrbotLib/build/.transforms/132e4f62a3c7a8d37f2fbc2464c53f06/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/135c22ba7cb84ea5adbac19d045a9bba/results.bin b/OrbotLib/build/.transforms/135c22ba7cb84ea5adbac19d045a9bba/results.bin new file mode 100644 index 00000000..199366a7 --- /dev/null +++ b/OrbotLib/build/.transforms/135c22ba7cb84ea5adbac19d045a9bba/results.bin @@ -0,0 +1 @@ +i/jni diff --git a/OrbotLib/build/.transforms/32c1a8bb84e7d797e51466c001130cb3/results.bin b/OrbotLib/build/.transforms/32c1a8bb84e7d797e51466c001130cb3/results.bin new file mode 100644 index 00000000..1534a05f --- /dev/null +++ b/OrbotLib/build/.transforms/32c1a8bb84e7d797e51466c001130cb3/results.bin @@ -0,0 +1 @@ +o/jetified-OrbotLib.aar diff --git a/OrbotLib/build/.transforms/32c1a8bb84e7d797e51466c001130cb3/transformed/jetified-OrbotLib.aar b/OrbotLib/build/.transforms/32c1a8bb84e7d797e51466c001130cb3/transformed/jetified-OrbotLib.aar new file mode 100644 index 00000000..6d765bf8 Binary files /dev/null and b/OrbotLib/build/.transforms/32c1a8bb84e7d797e51466c001130cb3/transformed/jetified-OrbotLib.aar differ diff --git a/OrbotLib/build/.transforms/337f0e0431af6a8d96db942f580285b3/results.bin b/OrbotLib/build/.transforms/337f0e0431af6a8d96db942f580285b3/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/3ccb5eb352ce105c2276330c0440addd/results.bin b/OrbotLib/build/.transforms/3ccb5eb352ce105c2276330c0440addd/results.bin new file mode 100644 index 00000000..edee272f --- /dev/null +++ b/OrbotLib/build/.transforms/3ccb5eb352ce105c2276330c0440addd/results.bin @@ -0,0 +1 @@ +o/go.IPtProxy.gojni diff --git a/OrbotLib/build/.transforms/407119c23894a6b9fa709fbe177d6ff1/results.bin b/OrbotLib/build/.transforms/407119c23894a6b9fa709fbe177d6ff1/results.bin new file mode 100644 index 00000000..2de4c85c --- /dev/null +++ b/OrbotLib/build/.transforms/407119c23894a6b9fa709fbe177d6ff1/results.bin @@ -0,0 +1 @@ +o/jetified-OrbotLib-runtime diff --git a/OrbotLib/build/.transforms/407119c23894a6b9fa709fbe177d6ff1/transformed/jetified-OrbotLib-runtime/classes.dex b/OrbotLib/build/.transforms/407119c23894a6b9fa709fbe177d6ff1/transformed/jetified-OrbotLib-runtime/classes.dex new file mode 100644 index 00000000..74cc7b41 Binary files /dev/null and b/OrbotLib/build/.transforms/407119c23894a6b9fa709fbe177d6ff1/transformed/jetified-OrbotLib-runtime/classes.dex differ diff --git a/OrbotLib/build/.transforms/49434467c55899fbefab24fcbe1d3b51/results.bin b/OrbotLib/build/.transforms/49434467c55899fbefab24fcbe1d3b51/results.bin new file mode 100644 index 00000000..fcbf8d4b --- /dev/null +++ b/OrbotLib/build/.transforms/49434467c55899fbefab24fcbe1d3b51/results.bin @@ -0,0 +1 @@ +i/AndroidManifest.xml diff --git a/OrbotLib/build/.transforms/6469777528cea869d128a6c6a77c44f3/results.bin b/OrbotLib/build/.transforms/6469777528cea869d128a6c6a77c44f3/results.bin new file mode 100644 index 00000000..c223d3ee --- /dev/null +++ b/OrbotLib/build/.transforms/6469777528cea869d128a6c6a77c44f3/results.bin @@ -0,0 +1 @@ +o/go.IPtProxy.gojni-r.txt diff --git a/OrbotLib/build/.transforms/6469777528cea869d128a6c6a77c44f3/transformed/go.IPtProxy.gojni-r.txt b/OrbotLib/build/.transforms/6469777528cea869d128a6c6a77c44f3/transformed/go.IPtProxy.gojni-r.txt new file mode 100644 index 00000000..b1fb4ac4 --- /dev/null +++ b/OrbotLib/build/.transforms/6469777528cea869d128a6c6a77c44f3/transformed/go.IPtProxy.gojni-r.txt @@ -0,0 +1 @@ +go.IPtProxy.gojni diff --git a/OrbotLib/build/.transforms/87740a7d2777881e2d14618adeae98aa/results.bin b/OrbotLib/build/.transforms/87740a7d2777881e2d14618adeae98aa/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/883d02d6607593941a8cf69efa4e5388/results.bin b/OrbotLib/build/.transforms/883d02d6607593941a8cf69efa4e5388/results.bin new file mode 100644 index 00000000..c626d1be --- /dev/null +++ b/OrbotLib/build/.transforms/883d02d6607593941a8cf69efa4e5388/results.bin @@ -0,0 +1 @@ +i/jars/classes.jar diff --git a/OrbotLib/build/.transforms/897a11f435d734153d5dddea786c0a33/results.bin b/OrbotLib/build/.transforms/897a11f435d734153d5dddea786c0a33/results.bin new file mode 100644 index 00000000..1ed65e03 --- /dev/null +++ b/OrbotLib/build/.transforms/897a11f435d734153d5dddea786c0a33/results.bin @@ -0,0 +1 @@ +i/ diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/results.bin b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/results.bin new file mode 100644 index 00000000..7e49bd13 --- /dev/null +++ b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/results.bin @@ -0,0 +1 @@ +o/jetified-OrbotLib diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/AndroidManifest.xml b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/AndroidManifest.xml new file mode 100644 index 00000000..e49023a2 --- /dev/null +++ b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/R.txt b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/R.txt new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jars/classes.jar b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jars/classes.jar new file mode 100644 index 00000000..17717f50 Binary files /dev/null and b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jars/classes.jar differ diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/arm64-v8a/libgojni.so b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/arm64-v8a/libgojni.so new file mode 100644 index 00000000..0a8cc26d Binary files /dev/null and b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/arm64-v8a/libgojni.so differ diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/armeabi-v7a/libgojni.so b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/armeabi-v7a/libgojni.so new file mode 100644 index 00000000..e6f143e0 Binary files /dev/null and b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/armeabi-v7a/libgojni.so differ diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/x86/libgojni.so b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/x86/libgojni.so new file mode 100644 index 00000000..4ba9983f Binary files /dev/null and b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/x86/libgojni.so differ diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/x86_64/libgojni.so b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/x86_64/libgojni.so new file mode 100644 index 00000000..c513e6f6 Binary files /dev/null and b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/jni/x86_64/libgojni.so differ diff --git a/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/proguard.txt b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/proguard.txt new file mode 100644 index 00000000..3951a009 --- /dev/null +++ b/OrbotLib/build/.transforms/91211826d38e593f8c26b7f8f1d3c57e/transformed/jetified-OrbotLib/proguard.txt @@ -0,0 +1,2 @@ +-keep class go.** { *; } +-keep class IPtProxy.** { *; } diff --git a/OrbotLib/build/.transforms/91faf0ee7f0b4edce21b91470dfea6c4/results.bin b/OrbotLib/build/.transforms/91faf0ee7f0b4edce21b91470dfea6c4/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/a2aa74b28de26a2beae702ce91c5f32f/results.bin b/OrbotLib/build/.transforms/a2aa74b28de26a2beae702ce91c5f32f/results.bin new file mode 100644 index 00000000..2de4c85c --- /dev/null +++ b/OrbotLib/build/.transforms/a2aa74b28de26a2beae702ce91c5f32f/results.bin @@ -0,0 +1 @@ +o/jetified-OrbotLib-runtime diff --git a/OrbotLib/build/.transforms/a2aa74b28de26a2beae702ce91c5f32f/transformed/jetified-OrbotLib-runtime/classes.dex b/OrbotLib/build/.transforms/a2aa74b28de26a2beae702ce91c5f32f/transformed/jetified-OrbotLib-runtime/classes.dex new file mode 100644 index 00000000..666987c6 Binary files /dev/null and b/OrbotLib/build/.transforms/a2aa74b28de26a2beae702ce91c5f32f/transformed/jetified-OrbotLib-runtime/classes.dex differ diff --git a/OrbotLib/build/.transforms/a93451063254821c863dc70f23265afa/results.bin b/OrbotLib/build/.transforms/a93451063254821c863dc70f23265afa/results.bin new file mode 100644 index 00000000..c656f472 --- /dev/null +++ b/OrbotLib/build/.transforms/a93451063254821c863dc70f23265afa/results.bin @@ -0,0 +1 @@ +o/jetified-OrbotLib-api.jar diff --git a/OrbotLib/build/.transforms/a93451063254821c863dc70f23265afa/transformed/jetified-OrbotLib-api.jar b/OrbotLib/build/.transforms/a93451063254821c863dc70f23265afa/transformed/jetified-OrbotLib-api.jar new file mode 100644 index 00000000..8a68ee23 Binary files /dev/null and b/OrbotLib/build/.transforms/a93451063254821c863dc70f23265afa/transformed/jetified-OrbotLib-api.jar differ diff --git a/OrbotLib/build/.transforms/e9dad1405379d869f9ebdaeb39cb7d49/results.bin b/OrbotLib/build/.transforms/e9dad1405379d869f9ebdaeb39cb7d49/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/OrbotLib/build/.transforms/fe267ee8305f5a065b1049dc1c0c7791/results.bin b/OrbotLib/build/.transforms/fe267ee8305f5a065b1049dc1c0c7791/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/app/build.gradle b/app/build.gradle index 1e1e6a47..691fcdd5 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -92,11 +92,12 @@ dependencies { /* Firefox ABI Splits */ - implementation "org.mozilla.components:browser-engine-gecko:100.0.20220327143103" - implementation "org.mozilla.components:browser-icons:100.0.20220327143103" - implementation "org.mozilla.components:concept-fetch:100.0.20220327143103" - implementation "org.mozilla.components:concept-base:100.0.20220327143103" - implementation "org.mozilla.components:support-utils:100.0.20220327143103" + implementation "org.mozilla.components:browser-engine-gecko:108.2.0" + implementation "org.mozilla.components:browser-icons:108.2.0" + implementation "org.mozilla.components:concept-fetch:108.2.0" + implementation "org.mozilla.components:concept-base:108.2.0" + implementation "org.mozilla.components:support-utils:108.2.0" + /* Analytics */ diff --git a/app/src/main/assets/geckoview-config-noimage.yaml b/app/src/main/assets/geckoview-config-noimage.yaml index d47b6970..49dbd691 100755 --- a/app/src/main/assets/geckoview-config-noimage.yaml +++ b/app/src/main/assets/geckoview-config-noimage.yaml @@ -10,6 +10,7 @@ prefs: # network.proxy.socks_port: 9050 network.proxy.socks_version: 5 network.proxy.socks_remote_dns: true + permissions.webRequestBlocking: 1 permissions.default.image: 2 browser.display.show_image_placeholders: true browser.cache.disk.enable: false diff --git a/app/src/main/assets/geckoview-config.yaml b/app/src/main/assets/geckoview-config.yaml index 4fd00b09..d388c1cd 100755 --- a/app/src/main/assets/geckoview-config.yaml +++ b/app/src/main/assets/geckoview-config.yaml @@ -11,6 +11,7 @@ prefs: network.proxy.socks_version: 5 network.proxy.socks_remote_dns: true permissions.default.image: 1 + permissions.webRequestBlocking: 1 browser.display.show_image_placeholders: true browser.cache.disk.enable: false browser.cache.memory.enable: true diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/extendedGeckoView.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/extendedGeckoView.java index 60e78a34..894dc5b4 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/extendedGeckoView.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/extendedGeckoView.java @@ -40,6 +40,7 @@ import android.view.DisplayCutout; import android.view.KeyEvent; import android.view.MotionEvent; import android.view.Surface; +import android.view.SurfaceControl; import android.view.SurfaceView; import android.view.TextureView; import android.view.View; @@ -99,8 +100,8 @@ public class extendedGeckoView extends GeckoView { onGlobalLayout(); if (extendedGeckoView.this.mSurfaceWrapper != null) { final SurfaceViewWrapper wrapper = extendedGeckoView.this.mSurfaceWrapper; - mDisplay.surfaceChanged(wrapper.getSurface(), - wrapper.getWidth(), wrapper.getHeight()); + + mDisplay.surfaceChanged(new GeckoDisplay.SurfaceInfo.Builder(wrapper.getSurface()).build()); mDisplay.setDynamicToolbarMaxHeight(mDynamicToolbarMaxHeight); extendedGeckoView.this.setActive(true); } @@ -119,17 +120,18 @@ public class extendedGeckoView extends GeckoView { return display; } - @Override // SurfaceListener - public void onSurfaceChanged(final Surface surface, - final int width, final int height) { + + @Override + public void onSurfaceChanged(Surface surface, SurfaceControl surfaceControl, int width, int height) { if (mDisplay != null) { - mDisplay.surfaceChanged(surface, width, height); + mDisplay.surfaceChanged(new GeckoDisplay.SurfaceInfo.Builder(surface).build()); mDisplay.setDynamicToolbarMaxHeight(mDynamicToolbarMaxHeight); if (!mValid) { extendedGeckoView.this.setActive(true); } } mValid = true; + } @Override // SurfaceListener @@ -731,7 +733,7 @@ public class extendedGeckoView extends GeckoView { strValues.put(values.keyAt(i), value.getTextValue()); } } - mSession.autofill(strValues); + mSession.getAutofillSession().autofill(strValues); } /** @@ -797,43 +799,35 @@ public class extendedGeckoView extends GeckoView { } @Override - public void onAutofill(@NonNull final GeckoSession session, - final int notification, - final Autofill.Node node) { - ThreadUtils.assertOnUiThread(); - if (Build.VERSION.SDK_INT < 26) { - return; + public void onNodeUpdate( + @NonNull final GeckoSession session, + @NonNull final Autofill.Node node, + @NonNull final Autofill.NodeData data) { + + final AutofillManager manager; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + manager = extendedGeckoView.this.getContext().getSystemService(AutofillManager.class); + if (manager == null) { + return; + } + manager.notifyViewEntered(extendedGeckoView.this, data.getId(),displayRectForId(session, node)); } - final AutofillManager manager = - extendedGeckoView.this.getContext().getSystemService(AutofillManager.class); - if (manager == null) { - return; - } + } - switch (notification) { - case Autofill.Notify.SESSION_STARTED: - // This line seems necessary for auto-fill to work on the initial page. - case Autofill.Notify.SESSION_CANCELED: - manager.cancel(); - break; - case Autofill.Notify.SESSION_COMMITTED: - manager.commit(); - break; - case Autofill.Notify.NODE_FOCUSED: - manager.notifyViewEntered( - extendedGeckoView.this, node.getId(), - displayRectForId(session, node)); - break; - case Autofill.Notify.NODE_BLURRED: - manager.notifyViewExited(extendedGeckoView.this, node.getId()); - break; - case Autofill.Notify.NODE_UPDATED: - manager.notifyValueChanged( - extendedGeckoView.this, - node.getId(), - AutofillValue.forText(node.getValue())); - break; + @Override + public void onNodeFocus( + @NonNull final GeckoSession session, + @NonNull final Autofill.Node node, + @NonNull final Autofill.NodeData data) { + + final AutofillManager manager; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + manager = extendedGeckoView.this.getContext().getSystemService(AutofillManager.class); + if (manager == null) { + return; + } + manager.notifyViewEntered(extendedGeckoView.this, data.getId(),displayRectForId(session, node)); } } } diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java index 6c723e73..c1ff6ffb 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoClients.java @@ -1,10 +1,16 @@ package com.hiddenservices.onionservices.appManager.homeManager.geckoManager; +import static android.content.Context.ACTIVITY_SERVICE; + import android.annotation.SuppressLint; +import android.app.ActivityManager; import android.content.Context; import android.content.Intent; import android.net.Uri; +import android.os.Debug; +import android.os.Environment; import android.os.Handler; +import android.os.StatFs; import android.util.Log; import android.widget.ImageView; @@ -21,10 +27,16 @@ import com.hiddenservices.onionservices.dataManager.dataEnums; import com.hiddenservices.onionservices.eventObserver; import com.hiddenservices.onionservices.helperManager.helperMethod; +import java.io.BufferedReader; +import java.io.Closeable; import java.io.File; +import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.Reader; +import java.io.UnsupportedEncodingException; import java.util.Arrays; import java.util.List; @@ -46,12 +58,14 @@ import static org.mozilla.geckoview.StorageController.ClearFlags.SITE_SETTINGS; import org.json.JSONObject; import org.mozilla.gecko.EventDispatcher; +import org.mozilla.gecko.util.DebugConfig; import org.mozilla.gecko.util.GeckoBundle; import org.mozilla.geckoview.ContentBlocking; import org.mozilla.geckoview.GeckoResult; import org.mozilla.geckoview.GeckoRuntime; import org.mozilla.geckoview.GeckoRuntimeSettings; import org.mozilla.geckoview.GeckoView; +import org.mozilla.geckoview.RuntimeSettings; import org.mozilla.geckoview.WebExtension; import org.mozilla.geckoview.WebResponse; import org.torproject.android.service.wrapper.orbotLocalConstants; @@ -178,7 +192,9 @@ public class geckoClients { public String getAssetsCacheFile(Context context, String fileName) { - File cacheFile = new File(context.getCacheDir(), fileName); + + File cacheFile = null; + cacheFile = new File(context.getExternalCacheDir(), fileName + helperMethod.createRandomID()); try { try (InputStream inputStream = context.getAssets().open(fileName)) { try (FileOutputStream outputStream = new FileOutputStream(cacheFile)) { @@ -194,19 +210,23 @@ public class geckoClients { } String mYAML = helperMethod.readFromFile(cacheFile.getPath()); - if (status.sTorBrowsing) { - mYAML = mYAML.replace("# network.proxy.socks: \"127.0.0.1\"", "network.proxy.socks: \"127.0.0.1\""); - mYAML = mYAML.replace("# network.proxy.socks_port: 9050", "network.proxy.socks_port: 9050"); - mYAML = mYAML.replace("browser.cache.memory.enable: true", "browser.cache.memory.enable: true"); + try { + if (status.sTorBrowsing) { + mYAML = mYAML.replace("# network.proxy.socks: \"127.0.0.1\"", "network.proxy.socks: \"127.0.0.1\""); + mYAML = mYAML.replace("# network.proxy.socks_port: 9050", "network.proxy.socks_port: 9050"); + mYAML = mYAML.replace("browser.cache.memory.enable: true", "browser.cache.memory.enable: true"); - StringBuilder buf = new StringBuilder(mYAML); - int portIndex = mYAML.indexOf("network.proxy.socks_port"); - int breakIndex = mYAML.indexOf("\n", portIndex); - mYAML = buf.replace(portIndex, breakIndex, "network.proxy.socks_port: " + orbotLocalConstants.mSOCKSPort).toString(); - helperMethod.writeToFile(cacheFile.getPath(), mYAML); - } else { - mYAML = mYAML.replace("browser.cache.memory.enable: true", "browser.cache.memory.enable: false"); - helperMethod.writeToFile(cacheFile.getPath(), mYAML); + StringBuilder buf = new StringBuilder(mYAML); + int portIndex = mYAML.indexOf("network.proxy.socks_port"); + int breakIndex = mYAML.indexOf("\n", portIndex); + mYAML = buf.replace(portIndex, breakIndex, "network.proxy.socks_port: " + orbotLocalConstants.mSOCKSPort).toString(); + helperMethod.writeToFile(cacheFile.getPath(), mYAML); + } else { + mYAML = mYAML.replace("browser.cache.memory.enable: true", "browser.cache.memory.enable: false"); + helperMethod.writeToFile(cacheFile.getPath(), mYAML); + } + }catch (Exception ex){ + Log.i("ads","dsadas"); } return cacheFile.getAbsolutePath(); @@ -333,8 +353,37 @@ public class geckoClients { } } + public String getFileContent( FileInputStream fis ) throws IOException { + StringBuilder sb = new StringBuilder(); + Reader r = new InputStreamReader(fis, "UTF-8"); //or whatever encoding + int ch = r.read(); + while(ch >= 0) { + sb.append(ch); + ch = r.read(); + } + return sb.toString(); + } + + public void getAvailableSpaceInBytes(AppCompatActivity context) { + ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo(); + ActivityManager activityManager = (ActivityManager) context.getSystemService(ACTIVITY_SERVICE); + activityManager.getMemoryInfo(mi); + long availableMegs = mi.availMem / 1048576L; + + + try { + //File cacheFile = new File(context.getDataDir(), "lib/x86/libxul.so"); + + //final FileInputStream fileInputStream = new FileInputStream(cacheFile); + //getFileContent(fileInputStream); + } catch (Exception ex) { + Log.i("",""); + } + + } @SuppressLint("WrongConstant") public void initRuntimeSettings(AppCompatActivity context) { + if (mRuntime == null) { GeckoRuntimeSettings.Builder mSettings = new GeckoRuntimeSettings.Builder(); if (status.sShowImages == 2) { @@ -342,9 +391,9 @@ public class geckoClients { } else { mSettings.configFilePath(getAssetsCacheFile(context, "geckoview-config.yaml")); } - mSettings.build(); - - mRuntime = GeckoRuntime.create(context, mSettings.build()); + getAvailableSpaceInBytes(context); + GeckoRuntimeSettings xx = mSettings.build(); + mRuntime = GeckoRuntime.create(context, xx); mRuntime.getSettings().setRemoteDebuggingEnabled(true); mCreated = true; diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java index ac9a1a93..c814f4ac 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/geckoManager/geckoSession.java @@ -413,47 +413,39 @@ geckoSession extends GeckoSession implements MediaSession.Delegate, GeckoSession } @Override - public void onAutofill(@NonNull final GeckoSession session, - final int notification, - final Autofill.Node node) { - ThreadUtils.assertOnUiThread(); - if (Build.VERSION.SDK_INT < 26) { - return; + public void onNodeUpdate( + @NonNull final GeckoSession session, + @NonNull final Autofill.Node node, + @NonNull final Autofill.NodeData data) { + + final AutofillManager manager; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + manager = mGeckoView.getContext().getSystemService(AutofillManager.class); + if (manager == null) { + return; + } + manager.notifyViewEntered(mGeckoView, data.getId(),displayRectForId(session, node)); } - final AutofillManager manager = - mContext.get().getApplicationContext().getSystemService(AutofillManager.class); - if (manager == null) { - return; - } + } - switch (notification) { - case Autofill.Notify.SESSION_STARTED: - case Autofill.Notify.SESSION_CANCELED: - manager.cancel(); - break; - case Autofill.Notify.SESSION_COMMITTED: - manager.commit(); - break; - case Autofill.Notify.NODE_FOCUSED: - manager.notifyViewEntered( - mGeckoView, node.getId(), - displayRectForId(session, node)); - break; - case Autofill.Notify.NODE_BLURRED: - manager.notifyViewExited(mGeckoView, node.getId()); - break; - case Autofill.Notify.NODE_UPDATED: - manager.notifyValueChanged( - mGeckoView, - node.getId(), - AutofillValue.forText(node.getValue())); - break; - case Autofill.Notify.NODE_ADDED: - case Autofill.Notify.NODE_REMOVED: - break; + @Override + public void onNodeFocus( + @NonNull final GeckoSession session, + @NonNull final Autofill.Node node, + @NonNull final Autofill.NodeData data) { + + final AutofillManager manager; + if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) { + manager = mGeckoView.getContext().getSystemService(AutofillManager.class); + if (manager == null) { + return; + } + manager.notifyViewEntered(mGeckoView, data.getId(),displayRectForId(session, node)); } } + + } /*Progress Delegate*/ diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java index fd2e0efb..f7b9c307 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeController.java @@ -108,6 +108,9 @@ import org.torproject.android.service.util.Prefs; import org.torproject.android.service.wrapper.LocaleHelper; import org.torproject.android.service.wrapper.orbotLocalConstants; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; import java.lang.ref.WeakReference; import java.lang.reflect.Method; import java.util.ArrayList; @@ -235,7 +238,6 @@ public class homeController extends AppCompatActivity implements ComponentCallba onInitBooleans(); orbotLocalConstants.mHomeIntent = getIntent(); - getWindow().getDecorView().setBackgroundColor(Color.WHITE); pluginController.getInstance().preInitialize(this); dataController.getInstance().initialize(this); @@ -910,11 +912,11 @@ public class homeController extends AppCompatActivity implements ComponentCallba if (SDK_INT >= Build.VERSION_CODES.O) { - //String channelId = "default_home_notification"; - //NotificationChannel channel = new NotificationChannel(channelId, "default_home_notification", NotificationManager.IMPORTANCE_DEFAULT); - //channel.setSound(null, null); - //manager.createNotificationChannel(channel); - //builder.setChannelId(channelId); + String channelId = "default_home_notification"; + NotificationChannel channel = new NotificationChannel(channelId, "default_home_notification", NotificationManager.IMPORTANCE_DEFAULT); + channel.setSound(null, null); + manager.createNotificationChannel(channel); + builder.setChannelId(channelId); } Intent intentActionOpen = new Intent(context,homeController.class); @@ -2016,15 +2018,18 @@ public class homeController extends AppCompatActivity implements ComponentCallba if (!status.sTorBrowsing) { mDelay = 0; } - new Handler().postDelayed(() -> - { - pluginController.getInstance().onOrbotInvoke(Arrays.asList(status.sBridgeCustomBridge, status.sBridgeGatewayManual, status.sBridgeCustomType, status.sBridgeStatus, status.sShowImages, status.sClearOnExit, dataController.getInstance().invokeBridges(dataEnums.eBridgeWebsiteCommands.M_FETCH, null)), pluginEnums.eOrbotManager.M_START_ORBOT); - onInvokeProxyLoading(); - onShowDefaultNotification(); - }, mDelay); + + pluginController.getInstance().onOrbotInvoke(Arrays.asList(status.sBridgeCustomBridge, status.sBridgeGatewayManual, status.sBridgeCustomType, status.sBridgeStatus, status.sShowImages, status.sClearOnExit, dataController.getInstance().invokeBridges(dataEnums.eBridgeWebsiteCommands.M_FETCH, null)), pluginEnums.eOrbotManager.M_START_ORBOT); + onInvokeProxyLoading(); + onShowDefaultNotification(); + //new Handler().postDelayed(() -> + //{ + //}, mDelay); + } public void onStartApplication(View view) { + mGeckoClient.initRuntimeSettings(this); onStartBrowser(); int notificationStatus = status.sBridgeNotificationManual; if (notificationStatus == 0) { @@ -2041,6 +2046,7 @@ public class homeController extends AppCompatActivity implements ComponentCallba public void onStartApplicationNoTor(View view) { status.sTorBrowsing = false; status.sNoTorTriggered = true; + mGeckoClient.initRuntimeSettings(this); if(status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL)){ status.sSettingDefaultSearchEngine = constants.CONST_BACKEND_DUCK_DUCK_GO_URL; } diff --git a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java index 92475046..b7e4e30f 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java +++ b/app/src/main/java/com/hiddenservices/onionservices/appManager/homeManager/homeController/homeViewController.java @@ -168,7 +168,6 @@ class homeViewController { this.mPanicButton = pPanicButton; this.mGenesisLogo = pGenesisLogo; this.mPanicButtonLandscape = pPanicButtonLandscape; - this.mLogHandler = new LogHandler(); this.mTorDisabled = pTorDisabled; initSplashScreen(); @@ -633,68 +632,63 @@ class homeViewController { } } - private LogHandler mLogHandler; - - @SuppressLint("StaticFieldLeak") - class LogHandler extends AsyncTask { - protected Void doInBackground(Void... arg0) { - AppCompatActivity temp_context = mContext; - int mCounter = 0; - while (status.sTorBrowsing && (orbotLocalConstants.mSOCKSPort == -1 || !orbotLocalConstants.mIsTorInitialized || !orbotLocalConstants.mNetworkState)) { - try { - boolean mFastConnect = status.sSettingIsAppStarted || !status.sRestoreTabs && status.sAppInstalled && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL) && !status.sBridgeStatus && status.sExternalWebsite.equals(strings.GENERIC_EMPTY_STR); - if (mFastConnect) { - sleep(1000); - if (orbotLocalConstants.mNetworkState) { - orbotLocalConstants.mTorLogsStatus = "Starting Orion | Please Wait ..."; - mEvent.invokeObserver(Collections.singletonList(status.sSettingDefaultSearchEngine), enums.etype.recheck_orbot); - startPostTask(messages.MESSAGE_UPDATE_LOADING_TEXT); - if (orbotLocalConstants.mSOCKSPort != -1) { - break; + public void LogHandler() { + new Thread(){ + public void run(){ + AppCompatActivity temp_context = mContext; + int mCounter = 0; + while (status.sTorBrowsing && (orbotLocalConstants.mSOCKSPort == -1 || !orbotLocalConstants.mIsTorInitialized || !orbotLocalConstants.mNetworkState)) { + try { + boolean mFastConnect = status.sSettingIsAppStarted || !status.sRestoreTabs && status.sAppInstalled && status.sSettingDefaultSearchEngine.equals(constants.CONST_BACKEND_GENESIS_URL) && !status.sBridgeStatus && status.sExternalWebsite.equals(strings.GENERIC_EMPTY_STR); + if (mFastConnect) { + sleep(1000); + if (orbotLocalConstants.mNetworkState) { + orbotLocalConstants.mTorLogsStatus = "Starting Orion | Please Wait ..."; + mEvent.invokeObserver(Collections.singletonList(status.sSettingDefaultSearchEngine), enums.etype.recheck_orbot); + startPostTask(messages.MESSAGE_UPDATE_LOADING_TEXT); + if (orbotLocalConstants.mSOCKSPort != -1) { + //break; + } + } else { + orbotLocalConstants.mTorLogsStatus = "No internet connection"; + startPostTask(messages.MESSAGE_UPDATE_LOADING_TEXT); } - } else { - orbotLocalConstants.mTorLogsStatus = "No internet connection"; - startPostTask(messages.MESSAGE_UPDATE_LOADING_TEXT); } - } - sleep(500); - if (mCounter > 20 && orbotLocalConstants.mSOCKSPort != -1) { - break; - } else if (orbotLocalConstants.mNetworkState && status.sBridgeStatus) { - mCounter += 1; - } - if (mFastConnect) { - continue; - } + if (mCounter > 20 && orbotLocalConstants.mSOCKSPort != -1) { + break; + } else if (orbotLocalConstants.mNetworkState && status.sBridgeStatus) { + mCounter += 1; + } + if (mFastConnect) { + continue; + } - mEvent.invokeObserver(Collections.singletonList(status.sSettingDefaultSearchEngine), enums.etype.recheck_orbot); - if (temp_context.isDestroyed()) { - return null; + mEvent.invokeObserver(Collections.singletonList(status.sSettingDefaultSearchEngine), enums.etype.recheck_orbot); + if (temp_context.isDestroyed()) { + return; + } + startPostTask(messages.MESSAGE_UPDATE_LOADING_TEXT); + } catch (Exception e) { + e.printStackTrace(); } - startPostTask(messages.MESSAGE_UPDATE_LOADING_TEXT); - } catch (Exception e) { - e.printStackTrace(); + } + + if (!status.sSettingIsAppStarted) { + mContext.runOnUiThread(() -> { + onDisableSplashScreen(); + mEvent.invokeObserver(null, enums.etype.M_INIT_RUNTIME_SETTINGS); + startPostTask(messages.MESSAGE_ON_URL_LOAD); + }); + } else { + mContext.runOnUiThread(() -> { + mEvent.invokeObserver(null, enums.etype.M_INIT_RUNTIME_SETTINGS); + mEvent.invokeObserver(null, enums.etype.ON_LOAD_TAB_ON_RESUME); + }); } } - mContext.runOnUiThread(() -> { - mEvent.invokeObserver(null, enums.etype.M_INIT_RUNTIME_SETTINGS); - }); - - if (!status.sSettingIsAppStarted) { - mContext.runOnUiThread(() -> { - onDisableSplashScreen(); - }); - startPostTask(messages.MESSAGE_ON_URL_LOAD); - } else { - mContext.runOnUiThread(() -> { - mEvent.invokeObserver(null, enums.etype.ON_LOAD_TAB_ON_RESUME); - }); - } - return null; - } + }.start(); } - boolean mLogServiceExecuted = false; void initProxyLoading(Callable logs) { @@ -703,9 +697,7 @@ class homeViewController { if (mSplashScreen.getVisibility() == View.VISIBLE) { if (!mLogServiceExecuted) { mLogServiceExecuted = true; - if (this.mLogHandler.getStatus() != AsyncTask.Status.RUNNING) { - this.mLogHandler.execute(); - } + LogHandler(); } } } @@ -1082,7 +1074,6 @@ class homeViewController { url = CONST_GENESIS_DOMAIN_URL; } - Log.i("FUCK::5", url); if (!mSearchbar.hasFocus() || pClearText || pBypassFocus) { if (mSearchEngineBar.getVisibility() == View.GONE || pBypassFocus) { int delay = 0; diff --git a/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java b/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java index 0354b14d..8ce91f35 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java +++ b/app/src/main/java/com/hiddenservices/onionservices/helperManager/helperMethod.java @@ -29,6 +29,7 @@ import android.graphics.drawable.TransitionDrawable; import android.net.Uri; import android.os.Build; import android.os.Handler; +import android.os.StatFs; import android.os.Vibrator; import android.text.SpannableString; import android.text.Spanned; @@ -261,6 +262,7 @@ public class helperMethod { writer.write(content); writer.close(); } catch (Exception ex) { + Log.i("",""); } } @@ -308,6 +310,11 @@ public class helperMethod { return false; } + public static int getFreeSpace(String pPath, Context pContext) { + StatFs stat = new StatFs(pPath); + return (int) stat.getAvailableBlocksLong(); + } + public static String completeURL(String pURL) { if (pURL.equals("about:blank") || pURL.equals("about:config") || pURL.startsWith("resource://")) { return pURL; diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/adPluginManager/appLovinManager.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/adPluginManager/appLovinManager.java index 48f741ab..71363d09 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/adPluginManager/appLovinManager.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/adPluginManager/appLovinManager.java @@ -1,9 +1,6 @@ package com.hiddenservices.onionservices.pluginManager.adPluginManager; -import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; - import android.content.Context; -import android.content.Intent; import android.os.Handler; import android.util.Log; import com.applovin.mediation.MaxAd; @@ -11,20 +8,12 @@ import com.applovin.mediation.MaxAdViewAdListener; import com.applovin.mediation.MaxError; import com.applovin.mediation.ads.MaxAdView; import com.applovin.sdk.AppLovinSdk; -import com.applovin.sdk.AppLovinSdkConfiguration; -import com.example.myapplication.R; -import com.facebook.ads.AdSettings; -import com.hiddenservices.onionservices.appManager.activityContextManager; -import com.hiddenservices.onionservices.appManager.advertManager.advertController; -import com.hiddenservices.onionservices.constants.keys; import com.hiddenservices.onionservices.constants.status; import com.hiddenservices.onionservices.eventObserver; import com.hiddenservices.onionservices.pluginManager.pluginEnums; import java.lang.ref.WeakReference; import static com.hiddenservices.onionservices.pluginManager.pluginEnums.eAdManagerCallbacks.M_ON_AD_LOAD; -import androidx.appcompat.app.AppCompatActivity; - public class appLovinManager implements MaxAdViewAdListener { /*Private Variables */ @@ -47,7 +36,7 @@ public class appLovinManager implements MaxAdViewAdListener { private void initializeBannerAds(Context pContext) { AppLovinSdk.getInstance(pContext).setMediationProvider("max"); - AppLovinSdk.initializeSdk(pContext,(AppLovinSdk.SdkInitializationListener) configuration -> { + AppLovinSdk.initializeSdk(pContext, configuration -> { mBannerAds.get().loadAd(); }); } diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java index 50654c44..63332a3e 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/messagePluginManager/messageManager.java @@ -822,6 +822,11 @@ public class messageManager implements View.OnClickListener, DialogInterface.OnD onUpdateBridges(); break; + case M_LOW_MEMORY: + /*VERIFIED*/ + onShowToast(R.layout.popup_toast_generic, R.xml.ax_background_important, 5000, "Low memory, some settings might not work", mContext.getString(R.string.ALERT_DISMISS), null); + break; + case M_NEW_IDENTITY: /*VERIFIED*/ onShowToast(R.layout.popup_toast_generic, R.xml.ax_background_important, 2000, mContext.getString(R.string.TOAST_ALERT_NEW_CIRCUIT_CREATED), mContext.getString(R.string.ALERT_DISMISS), null); diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java index c0971db6..2c3a8e0b 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/orbotPluginManager/orbotManager.java @@ -1,5 +1,6 @@ package com.hiddenservices.onionservices.pluginManager.orbotPluginManager; +import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; @@ -7,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity; import org.torproject.android.service.OrbotService; import org.torproject.android.service.util.Prefs; +import org.torproject.android.service.util.Utils; import org.torproject.android.service.wrapper.orbotLocalConstants; import java.lang.ref.WeakReference; @@ -14,6 +16,7 @@ import java.util.Collections; import java.util.List; import com.hiddenservices.onionservices.constants.constants; +import com.hiddenservices.onionservices.constants.enums; import com.hiddenservices.onionservices.constants.keys; import com.hiddenservices.onionservices.constants.status; import com.hiddenservices.onionservices.eventObserver; @@ -47,14 +50,11 @@ public class orbotManager { this.mLogManger = new orbotLogManager(); orbotLocalConstants.mNotificationStatus = pNotificationStatus; + orbotLocalConstants.mSOCKSPort = checkPortOrAutoManual(mAppContext.get()); } private void onInitlizeOrbot(String pBridgeCustomBridge, boolean pBridgeGatewayManual, String pBridgeCustomType, boolean pBridgeStatus, String pBridgesDefault) { - if (helperMethod.availablePort(9050)) { - orbotLocalConstants.mSOCKSPort = 9050; - } - orbotLocalConstants.mBridges = pBridgeCustomBridge; orbotLocalConstants.mIsManualBridge = pBridgeGatewayManual; orbotLocalConstants.mManualBridgeType = pBridgeCustomType; @@ -64,14 +64,42 @@ public class orbotManager { onInitailizeService(); } + public int checkPortOrAutoManual(Context context) { + SharedPreferences prefs = Prefs.getSharedPrefs(context.getApplicationContext()); + String portString = prefs.getString("pref_transport", 9050 + ""); + + if (!portString.equalsIgnoreCase("auto")) { + boolean isPortUsed = true; + int port = Integer.parseInt(portString); + + while (isPortUsed) { + isPortUsed = Utils.isPortOpen("127.0.0.1", port, 500); + + if (isPortUsed) //the specified port is not available, so let Tor find one instead + port++; + } + return port; + } + + return 9050; + } + private void onInitailizeService() { if (status.sTorBrowsing) { - Intent startTorIntent = new Intent(mAppContext.get(), OrbotService.class); - startTorIntent.setAction(ACTION_START); - if (mAppContext.get().getPackageName() != null) { - startTorIntent.putExtra(OrbotService.EXTRA_PACKAGE_NAME, mAppContext.get().getPackageName()); - } - mAppContext.get().startService(startTorIntent); + orbotLocalConstants.mIsTorInitialized = true; + + new Thread(){ + public void run(){ + mAppContext.get().runOnUiThread(() -> { + Intent startTorIntent = new Intent(mAppContext.get(), OrbotService.class); + startTorIntent.setAction(ACTION_START); + if (mAppContext.get().getPackageName() != null) { + startTorIntent.putExtra(OrbotService.EXTRA_PACKAGE_NAME, mAppContext.get().getPackageName()); + } + mAppContext.get().startService(startTorIntent); + }); + } + }.start(); SharedPreferences settings = mAppContext.get().getSharedPreferences("se", MODE_PRIVATE); SharedPreferences.Editor editor = settings.edit(); @@ -82,7 +110,7 @@ public class orbotManager { editor.putBoolean(keys.PROXY_SOCKS_REMOTE_DNS, constants.CONST_PROXY_SOCKS_REMOTE_DNS); editor.apply(); } else { - orbotLocalConstants.mIsTorInitialized = true; + //orbotLocalConstants.mIsTorInitialized = true; } } diff --git a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginEnums.java b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginEnums.java index 24c66f4a..813de6dc 100644 --- a/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginEnums.java +++ b/app/src/main/java/com/hiddenservices/onionservices/pluginManager/pluginEnums.java @@ -26,7 +26,7 @@ public class pluginEnums { /*Message Manager*/ public enum eMessageManager { - M_RESET, M_DATA_CLEARED, M_COPY, M_APPLICATION_CRASH, M_DELETE_BOOKMARK, M_UPDATE_BOOKMARK, M_IMAGE_UPDATE, M_OPEN_ACTIVITY_FAILED, M_OPEN_CICADA, M_TOR_SWITCH, M_SECURE_CONNECTION, M_SECURITY_INFO, M_POPUP_BLOCKED, M_PANIC, M_MAX_TAB_REACHED, M_ORBOT_LOADING, M_GENESIS_SEARCH_DISABLED, M_LOAD_NEW_TAB, M_UNDO, M_DOWNLOAD_SINGLE, M_UPDATE_BRIDGES, M_NEW_IDENTITY, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FAILURE, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_PANIC_RESET, M_DEFAULT_BROWSER, M_TOR_SWITCH_RESTART, M_RATE_SUCCESS, M_RATE_FAILURE, M_CLOSE, M_LANGUAGE_SUPPORT_FAILURE, M_WELCOME + M_RESET, M_DATA_CLEARED, M_COPY, M_APPLICATION_CRASH, M_DELETE_BOOKMARK, M_UPDATE_BOOKMARK, M_IMAGE_UPDATE, M_OPEN_ACTIVITY_FAILED, M_OPEN_CICADA, M_TOR_SWITCH, M_SECURE_CONNECTION, M_SECURITY_INFO, M_POPUP_BLOCKED, M_PANIC, M_MAX_TAB_REACHED, M_ORBOT_LOADING, M_GENESIS_SEARCH_DISABLED, M_LOAD_NEW_TAB, M_UNDO, M_DOWNLOAD_SINGLE, M_UPDATE_BRIDGES, M_LOW_MEMORY, M_NEW_IDENTITY, M_NOT_SUPPORTED, M_BRIDGE_MAIL, M_LONG_PRESS_WITH_LINK, M_LONG_PRESS_URL, M_LONG_PRESS_DOWNLOAD, M_START_ORBOT, M_DOWNLOAD_FAILURE, M_DOWNLOAD_FILE, M_RATE_APP, M_REPORT_URL, M_CLEAR_BOOKMARK, M_CLEAR_HISTORY, M_BOOKMARK, M_PANIC_RESET, M_DEFAULT_BROWSER, M_TOR_SWITCH_RESTART, M_RATE_SUCCESS, M_RATE_FAILURE, M_CLOSE, M_LANGUAGE_SUPPORT_FAILURE, M_WELCOME } public enum eMessageManagerCallbacks { diff --git a/app/variables.gradle b/app/variables.gradle index d33ddd2d..f60c46e8 100755 --- a/app/variables.gradle +++ b/app/variables.gradle @@ -30,9 +30,9 @@ project.ext.splitEnabled = true /* Application Preferences */ project.ext.compile_sdk_version = 33 project.ext.min_sdk_version = 21 -project.ext.target_sdk_version = 31 +project.ext.target_sdk_version = 33 project.ext.build_tool_version = '33' -project.ext.ndk_version = '21.4.7075529' +project.ext.ndk_version = '25.1.8937393' project.ext.application_id = "com.hiddenservices.onionservices" project.ext.debugSymbolLevel = 'FULL' diff --git a/libs/build-geoip-jar.sh b/libs/build-geoip-jar.sh new file mode 100644 index 00000000..58ab031f --- /dev/null +++ b/libs/build-geoip-jar.sh @@ -0,0 +1,6 @@ +# assumes tor-android is in a directory next to orbot +mkdir assets +cp -a ../../tor-android/external/tor/src/config/geoip assets/ +cp -a ../../tor-android/external/tor/src/config/geoip6 assets/ +zip -o geoip.jar assets/geoip assets/geoip6 +rm -rf assets diff --git a/libs/geoip.jar b/libs/geoip.jar new file mode 100644 index 00000000..419104cb Binary files /dev/null and b/libs/geoip.jar differ diff --git a/orbotmanager/build.gradle b/orbotmanager/build.gradle index 2decb9af..81bd404d 100644 --- a/orbotmanager/build.gradle +++ b/orbotmanager/build.gradle @@ -3,17 +3,17 @@ apply from: "../commons.gradle" apply from : '../dependencies.gradle' android { - ndkVersion '21.3.6528147' + ndkVersion '25.1.8937393' sourceSets { - main { - jniLibs.srcDirs = ['./src/main/libs'] - } + main { + jniLibs.srcDirs = ['./src/main/libs'] + } } defaultConfig { - minSdkVersion 21 - targetSdkVersion 32 + minSdkVersion 16 + targetSdkVersion 33 } buildTypes { @@ -24,7 +24,7 @@ android { } packagingOptions { resources { - excludes += ['META-INF/AL2.0'] + excludes += ['META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version'] } } @@ -42,25 +42,19 @@ android { } dependencies { - implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' - implementation 'com.gitlab.guardianproject:jsocksandroid:1.0.4' - implementation 'com.jaredrummler:android-shell:1.0.0' - - implementation 'androidx.core:core:1.9.0' - implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' - testImplementation 'junit:junit:4.13.2' - - implementation 'com.offbynull.portmapper:portmapper:2.0.5' - - implementation 'info.guardianproject:geoip:20191217' - - api 'info.guardianproject:jtorctl:0.4.5.7' - implementation 'info.guardianproject:tor-android:0.4.6.10' - - implementation 'androidx.work:work-runtime-ktx:2.8.0-rc01' api libs.guardian_jtorctl - implementation( - libs.ipt_proxy, - ) -} + api project(':OrbotLib') + api project(':tor-android') + + // api libs.tor_android + implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0' + implementation 'androidx.core:core:1.9.0' + implementation 'com.gitlab.guardianproject:jsocksandroid:1.0.4' + implementation 'com.offbynull.portmapper:portmapper:2.0.5' + implementation 'androidx.work:work-runtime-ktx:2.8.0-rc01' + + implementation files('../libs/geoip.jar') + + +} \ No newline at end of file diff --git a/orbotmanager/src/main/java/org/torproject/android/service/OrbotService.java b/orbotmanager/src/main/java/org/torproject/android/service/OrbotService.java index 41fac2ee..bc562964 100644 --- a/orbotmanager/src/main/java/org/torproject/android/service/OrbotService.java +++ b/orbotmanager/src/main/java/org/torproject/android/service/OrbotService.java @@ -760,7 +760,7 @@ public class OrbotService extends VpnService implements OrbotConstants { return null; } - private String checkPortOrAuto(String portString) { + public String checkPortOrAuto(String portString) { if (!portString.equalsIgnoreCase("auto")) { var isPortUsed = true; var port = Integer.parseInt(portString); @@ -949,6 +949,7 @@ public class OrbotService extends VpnService implements OrbotConstants { initControlConnection(); + orbotLocalConstants.mIsTorInitialized = true; } }catch (Exception ex){} } @@ -1029,7 +1030,6 @@ public class OrbotService extends VpnService implements OrbotConstants { } sendCallbackPorts(mPortSOCKS, mPortHTTP, mPortDns, mPortTrans); - orbotLocalConstants.mIsTorInitialized = true; } catch (IOException e) { Log.i("sad","asd"); @@ -1091,7 +1091,6 @@ public class OrbotService extends VpnService implements OrbotConstants { mPrevLogs = logMessage; } if(logMessage.contains("Bootstrapped 100%")){ - orbotLocalConstants.mIsTorInitialized = true; } mHandler.post(() -> { Intent intent = new Intent(LOCAL_ACTION_LOG); diff --git a/settings.gradle b/settings.gradle index 70a5fe14..fd66bc5a 100755 --- a/settings.gradle +++ b/settings.gradle @@ -14,3 +14,5 @@ include ':shutterbug' include ':orbotmanager' include ':android-database-sqlcipher' include ':service-telemetry' +include ':OrbotLib' +include ':tor-android' diff --git a/tor-android/build.gradle b/tor-android/build.gradle new file mode 100644 index 00000000..f7ba5058 --- /dev/null +++ b/tor-android/build.gradle @@ -0,0 +1,2 @@ +configurations.maybeCreate("default") +artifacts.add("default",file('tor-android.aar')) diff --git a/tor-android/build/.transforms/076b656099a66773510671a3aeeced7b/results.bin b/tor-android/build/.transforms/076b656099a66773510671a3aeeced7b/results.bin new file mode 100644 index 00000000..4f158e23 --- /dev/null +++ b/tor-android/build/.transforms/076b656099a66773510671a3aeeced7b/results.bin @@ -0,0 +1 @@ +o/jetified-tor-android-runtime diff --git a/tor-android/build/.transforms/076b656099a66773510671a3aeeced7b/transformed/jetified-tor-android-runtime/classes.dex b/tor-android/build/.transforms/076b656099a66773510671a3aeeced7b/transformed/jetified-tor-android-runtime/classes.dex new file mode 100644 index 00000000..2d685583 Binary files /dev/null and b/tor-android/build/.transforms/076b656099a66773510671a3aeeced7b/transformed/jetified-tor-android-runtime/classes.dex differ diff --git a/tor-android/build/.transforms/0d48719ec5ac692e2612f83673e1d22b/results.bin b/tor-android/build/.transforms/0d48719ec5ac692e2612f83673e1d22b/results.bin new file mode 100644 index 00000000..1a9664ec --- /dev/null +++ b/tor-android/build/.transforms/0d48719ec5ac692e2612f83673e1d22b/results.bin @@ -0,0 +1 @@ +o/jetified-tor-android-runtime.jar diff --git a/tor-android/build/.transforms/0d48719ec5ac692e2612f83673e1d22b/transformed/jetified-tor-android-runtime.jar b/tor-android/build/.transforms/0d48719ec5ac692e2612f83673e1d22b/transformed/jetified-tor-android-runtime.jar new file mode 100644 index 00000000..7bb7d7a6 Binary files /dev/null and b/tor-android/build/.transforms/0d48719ec5ac692e2612f83673e1d22b/transformed/jetified-tor-android-runtime.jar differ diff --git a/tor-android/build/.transforms/1de1cc6110ae53f64088497d6c481e04/results.bin b/tor-android/build/.transforms/1de1cc6110ae53f64088497d6c481e04/results.bin new file mode 100644 index 00000000..390ed693 --- /dev/null +++ b/tor-android/build/.transforms/1de1cc6110ae53f64088497d6c481e04/results.bin @@ -0,0 +1 @@ +o/jetified-tor-android-api.jar diff --git a/tor-android/build/.transforms/1de1cc6110ae53f64088497d6c481e04/transformed/jetified-tor-android-api.jar b/tor-android/build/.transforms/1de1cc6110ae53f64088497d6c481e04/transformed/jetified-tor-android-api.jar new file mode 100644 index 00000000..d56b0e6b Binary files /dev/null and b/tor-android/build/.transforms/1de1cc6110ae53f64088497d6c481e04/transformed/jetified-tor-android-api.jar differ diff --git a/tor-android/build/.transforms/342e54ea655e75ccc188964239e8d845/results.bin b/tor-android/build/.transforms/342e54ea655e75ccc188964239e8d845/results.bin new file mode 100644 index 00000000..941f8ee3 --- /dev/null +++ b/tor-android/build/.transforms/342e54ea655e75ccc188964239e8d845/results.bin @@ -0,0 +1 @@ +o/org.torproject.jni diff --git a/tor-android/build/.transforms/3c978a5d2e9b7b62ff71209b578f1058/results.bin b/tor-android/build/.transforms/3c978a5d2e9b7b62ff71209b578f1058/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/40d6ddcaec017354b2919ecc1d2d59f4/results.bin b/tor-android/build/.transforms/40d6ddcaec017354b2919ecc1d2d59f4/results.bin new file mode 100644 index 00000000..3c8a12d9 --- /dev/null +++ b/tor-android/build/.transforms/40d6ddcaec017354b2919ecc1d2d59f4/results.bin @@ -0,0 +1 @@ +o/org.torproject.jni-r.txt diff --git a/tor-android/build/.transforms/40d6ddcaec017354b2919ecc1d2d59f4/transformed/org.torproject.jni-r.txt b/tor-android/build/.transforms/40d6ddcaec017354b2919ecc1d2d59f4/transformed/org.torproject.jni-r.txt new file mode 100644 index 00000000..d031c2fa --- /dev/null +++ b/tor-android/build/.transforms/40d6ddcaec017354b2919ecc1d2d59f4/transformed/org.torproject.jni-r.txt @@ -0,0 +1 @@ +org.torproject.jni diff --git a/tor-android/build/.transforms/4a94ccad4c5ab1fa80407bd85ffe4fbb/results.bin b/tor-android/build/.transforms/4a94ccad4c5ab1fa80407bd85ffe4fbb/results.bin new file mode 100644 index 00000000..4f158e23 --- /dev/null +++ b/tor-android/build/.transforms/4a94ccad4c5ab1fa80407bd85ffe4fbb/results.bin @@ -0,0 +1 @@ +o/jetified-tor-android-runtime diff --git a/tor-android/build/.transforms/4a94ccad4c5ab1fa80407bd85ffe4fbb/transformed/jetified-tor-android-runtime/classes.dex b/tor-android/build/.transforms/4a94ccad4c5ab1fa80407bd85ffe4fbb/transformed/jetified-tor-android-runtime/classes.dex new file mode 100644 index 00000000..05710be1 Binary files /dev/null and b/tor-android/build/.transforms/4a94ccad4c5ab1fa80407bd85ffe4fbb/transformed/jetified-tor-android-runtime/classes.dex differ diff --git a/tor-android/build/.transforms/5ba87347356b9c450b256db7c03e9ae1/results.bin b/tor-android/build/.transforms/5ba87347356b9c450b256db7c03e9ae1/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/results.bin b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/results.bin new file mode 100644 index 00000000..40582149 --- /dev/null +++ b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/results.bin @@ -0,0 +1 @@ +o/jetified-tor-android diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/AndroidManifest.xml b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/AndroidManifest.xml new file mode 100644 index 00000000..93c02276 --- /dev/null +++ b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/AndroidManifest.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/META-INF/com/android/build/gradle/aar-metadata.properties b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/META-INF/com/android/build/gradle/aar-metadata.properties new file mode 100644 index 00000000..8c9c6997 --- /dev/null +++ b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/META-INF/com/android/build/gradle/aar-metadata.properties @@ -0,0 +1,4 @@ +aarFormatVersion=1.0 +aarMetadataVersion=1.0 +minCompileSdk=1 +minAndroidGradlePluginVersion=1.0.0 diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/R.txt b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/R.txt new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jars/classes.jar b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jars/classes.jar new file mode 100644 index 00000000..4d6b7760 Binary files /dev/null and b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jars/classes.jar differ diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/arm64-v8a/libtor.so b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/arm64-v8a/libtor.so new file mode 100644 index 00000000..82f52b44 Binary files /dev/null and b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/arm64-v8a/libtor.so differ diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/armeabi-v7a/libtor.so b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/armeabi-v7a/libtor.so new file mode 100644 index 00000000..72d97847 Binary files /dev/null and b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/armeabi-v7a/libtor.so differ diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/x86/libtor.so b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/x86/libtor.so new file mode 100644 index 00000000..53b352d5 Binary files /dev/null and b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/x86/libtor.so differ diff --git a/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/x86_64/libtor.so b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/x86_64/libtor.so new file mode 100644 index 00000000..656a09ce Binary files /dev/null and b/tor-android/build/.transforms/6884dbaaf30c81593c7f46c391544ea1/transformed/jetified-tor-android/jni/x86_64/libtor.so differ diff --git a/tor-android/build/.transforms/731bc05c6f0c1babbc1ee1f1743a054e/results.bin b/tor-android/build/.transforms/731bc05c6f0c1babbc1ee1f1743a054e/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/75c7b4c1dccf8767aa665bbee9e13ee4/results.bin b/tor-android/build/.transforms/75c7b4c1dccf8767aa665bbee9e13ee4/results.bin new file mode 100644 index 00000000..4cb57b82 --- /dev/null +++ b/tor-android/build/.transforms/75c7b4c1dccf8767aa665bbee9e13ee4/results.bin @@ -0,0 +1 @@ +o/jetified-tor-android.aar diff --git a/tor-android/build/.transforms/75c7b4c1dccf8767aa665bbee9e13ee4/transformed/jetified-tor-android.aar b/tor-android/build/.transforms/75c7b4c1dccf8767aa665bbee9e13ee4/transformed/jetified-tor-android.aar new file mode 100644 index 00000000..fc794bbf Binary files /dev/null and b/tor-android/build/.transforms/75c7b4c1dccf8767aa665bbee9e13ee4/transformed/jetified-tor-android.aar differ diff --git a/tor-android/build/.transforms/828c0d30a2dda8d549453cf85a99f0cd/results.bin b/tor-android/build/.transforms/828c0d30a2dda8d549453cf85a99f0cd/results.bin new file mode 100644 index 00000000..1ed65e03 --- /dev/null +++ b/tor-android/build/.transforms/828c0d30a2dda8d549453cf85a99f0cd/results.bin @@ -0,0 +1 @@ +i/ diff --git a/tor-android/build/.transforms/82a195d417e3c0b4e62ad9c0666a3f89/results.bin b/tor-android/build/.transforms/82a195d417e3c0b4e62ad9c0666a3f89/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/87930ee2bbe238daf337f6ad24c17d6f/results.bin b/tor-android/build/.transforms/87930ee2bbe238daf337f6ad24c17d6f/results.bin new file mode 100644 index 00000000..fcbf8d4b --- /dev/null +++ b/tor-android/build/.transforms/87930ee2bbe238daf337f6ad24c17d6f/results.bin @@ -0,0 +1 @@ +i/AndroidManifest.xml diff --git a/tor-android/build/.transforms/a859eb3e1089186945af09b3cf247faf/results.bin b/tor-android/build/.transforms/a859eb3e1089186945af09b3cf247faf/results.bin new file mode 100644 index 00000000..c626d1be --- /dev/null +++ b/tor-android/build/.transforms/a859eb3e1089186945af09b3cf247faf/results.bin @@ -0,0 +1 @@ +i/jars/classes.jar diff --git a/tor-android/build/.transforms/b080e8a989741951e2c8a71566c5ea41/results.bin b/tor-android/build/.transforms/b080e8a989741951e2c8a71566c5ea41/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/c91614606774a714afcd335e62140420/results.bin b/tor-android/build/.transforms/c91614606774a714afcd335e62140420/results.bin new file mode 100644 index 00000000..e69de29b diff --git a/tor-android/build/.transforms/ed9b4a03ac8f6d7ed07bf433c0a16a32/results.bin b/tor-android/build/.transforms/ed9b4a03ac8f6d7ed07bf433c0a16a32/results.bin new file mode 100644 index 00000000..199366a7 --- /dev/null +++ b/tor-android/build/.transforms/ed9b4a03ac8f6d7ed07bf433c0a16a32/results.bin @@ -0,0 +1 @@ +i/jni diff --git a/tor-android/build/.transforms/f05be4d297b563d449f6615e6c5c01d3/results.bin b/tor-android/build/.transforms/f05be4d297b563d449f6615e6c5c01d3/results.bin new file mode 100644 index 00000000..63dace7e --- /dev/null +++ b/tor-android/build/.transforms/f05be4d297b563d449f6615e6c5c01d3/results.bin @@ -0,0 +1 @@ +i/META-INF/com/android/build/gradle/aar-metadata.properties diff --git a/tor-android/tor-android.aar b/tor-android/tor-android.aar new file mode 100644 index 00000000..fc794bbf Binary files /dev/null and b/tor-android/tor-android.aar differ