mirror of https://github.com/LeOS-GSI/LeOS-Genesis
parent
c29266bd1f
commit
90751096cc
|
@ -1,17 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<runningDeviceTargetSelectedWithDropDown>
|
||||
<targetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<type value="QUICK_BOOT_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="VIRTUAL_DEVICE_PATH" />
|
||||
<value value="C:\Users\msman\.android\avd\Pixel_2_API_25.avd" />
|
||||
<value value="C:\Users\msman\.android\avd\Pixel_2_API_25_1.avd" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-01-04T08:35:13.346382100Z" />
|
||||
</targetSelectedWithDropDown>
|
||||
<timeTargetWasSelectedWithDropDown value="2023-01-05T21:09:25.014921200Z" />
|
||||
</component>
|
||||
</project>
|
|
@ -11,6 +11,7 @@
|
|||
<set>
|
||||
<option value="$PROJECT_DIR$" />
|
||||
<option value="$PROJECT_DIR$/Application" />
|
||||
<option value="$PROJECT_DIR$/OrbotLib" />
|
||||
<option value="$PROJECT_DIR$/afservice" />
|
||||
<option value="$PROJECT_DIR$/android-database-sqlcipher" />
|
||||
<option value="$PROJECT_DIR$/app" />
|
||||
|
@ -26,6 +27,7 @@
|
|||
<option value="$PROJECT_DIR$/orbotservicemanagers" />
|
||||
<option value="$PROJECT_DIR$/service-telemetry" />
|
||||
<option value="$PROJECT_DIR$/shutterbug" />
|
||||
<option value="$PROJECT_DIR$/tor-android" />
|
||||
</set>
|
||||
</option>
|
||||
</GradleProjectSettings>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
configurations.maybeCreate("default")
|
||||
artifacts.add("default",file('OrbotLib.aar'))
|
|
@ -0,0 +1 @@
|
|||
o/jetified-OrbotLib-runtime.jar
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
i/jni
|
|
@ -0,0 +1 @@
|
|||
o/jetified-OrbotLib.aar
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/go.IPtProxy.gojni
|
|
@ -0,0 +1 @@
|
|||
o/jetified-OrbotLib-runtime
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
i/AndroidManifest.xml
|
|
@ -0,0 +1 @@
|
|||
o/go.IPtProxy.gojni-r.txt
|
|
@ -0,0 +1 @@
|
|||
go.IPtProxy.gojni
|
|
@ -0,0 +1 @@
|
|||
i/jars/classes.jar
|
|
@ -0,0 +1 @@
|
|||
i/
|
|
@ -0,0 +1 @@
|
|||
o/jetified-OrbotLib
|
|
@ -0,0 +1,2 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="go.IPtProxy.gojni">
|
||||
<uses-sdk android:minSdkVersion="16"/></manifest>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,2 @@
|
|||
-keep class go.** { *; }
|
||||
-keep class IPtProxy.** { *; }
|
|
@ -0,0 +1 @@
|
|||
o/jetified-OrbotLib-runtime
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/jetified-OrbotLib-api.jar
|
Binary file not shown.
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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*/
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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<Void, Integer, Void> {
|
||||
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<String> 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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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'
|
||||
|
||||
|
|
|
@ -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
|
Binary file not shown.
|
@ -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')
|
||||
|
||||
|
||||
}
|
|
@ -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);
|
||||
|
|
|
@ -14,3 +14,5 @@ include ':shutterbug'
|
|||
include ':orbotmanager'
|
||||
include ':android-database-sqlcipher'
|
||||
include ':service-telemetry'
|
||||
include ':OrbotLib'
|
||||
include ':tor-android'
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
configurations.maybeCreate("default")
|
||||
artifacts.add("default",file('tor-android.aar'))
|
|
@ -0,0 +1 @@
|
|||
o/jetified-tor-android-runtime
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/jetified-tor-android-runtime.jar
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/jetified-tor-android-api.jar
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/org.torproject.jni
|
|
@ -0,0 +1 @@
|
|||
o/org.torproject.jni-r.txt
|
|
@ -0,0 +1 @@
|
|||
org.torproject.jni
|
|
@ -0,0 +1 @@
|
|||
o/jetified-tor-android-runtime
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/jetified-tor-android
|
|
@ -0,0 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.torproject.jni" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="16"
|
||||
android:targetSdkVersion="33" />
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<application>
|
||||
<service android:name="org.torproject.jni.TorService" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
|
@ -0,0 +1,4 @@
|
|||
aarFormatVersion=1.0
|
||||
aarMetadataVersion=1.0
|
||||
minCompileSdk=1
|
||||
minAndroidGradlePluginVersion=1.0.0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
o/jetified-tor-android.aar
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
i/
|
|
@ -0,0 +1 @@
|
|||
i/AndroidManifest.xml
|
|
@ -0,0 +1 @@
|
|||
i/jars/classes.jar
|
|
@ -0,0 +1 @@
|
|||
i/jni
|
|
@ -0,0 +1 @@
|
|||
i/META-INF/com/android/build/gradle/aar-metadata.properties
|
Binary file not shown.
Loading…
Reference in New Issue