init
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
package ru.vtosters.hooks;
|
||||
|
||||
import android.util.Log;
|
||||
import com.vk.core.network.Network;
|
||||
import com.vk.core.network.proxy.NetworkProxy;
|
||||
import com.vk.core.network.proxy.ProxyHost;
|
||||
import com.vk.core.network.proxy.ProxySettings;
|
||||
import com.vk.core.preference.Preference;
|
||||
import com.vtosters.lite.NetworkProxyPreferences;
|
||||
import okhttp3.*;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
import ru.vtosters.hooks.other.Preferences;
|
||||
import ru.vtosters.lite.di.singleton.VtOkHttpClient;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public class VKProxy {
|
||||
private static final OkHttpClient sClient = VtOkHttpClient.getInstance();
|
||||
|
||||
public static boolean isProxyEnabled() {
|
||||
return Preferences.getBoolValue("isVKProxyEnabled", false);
|
||||
}
|
||||
|
||||
public static void setProxyStatus(boolean status) {
|
||||
Preferences.getPreferences().edit().putBoolean("isVKProxyEnabled", status).apply();
|
||||
}
|
||||
|
||||
public static void load() {
|
||||
if (!isProxyEnabled()) return;
|
||||
|
||||
Request request = new Request.a()
|
||||
.b("https://firebaseremoteconfig.googleapis.com/v1/projects/api-project-841415684880/namespaces/firebase:fetch")
|
||||
.a(RequestBody.a(MediaType.b("application/json; charset=UTF-8"), "{\"appId\":\"1:841415684880:android:632f429381141121\",\"appInstanceId\":\"RB855168585SG\"}\n"))
|
||||
// .a("Content-Encoding", "gzip")
|
||||
// .a("Accept-Encoding", "gzip")
|
||||
.a("Connection", "Keep-Alive")
|
||||
.a("X-Android-Package", "com.vkontakte.android")
|
||||
.a("X-Android-Cert", "C8EAB7342DA62B4A229E1BFDEB27B029DD6788A1")
|
||||
.a("Host", "firebaseremoteconfig.googleapis.com")
|
||||
.a("x-goog-api-key", "AIzaSyCL17U2Q5i1NVwIcXgMOZMidSRFHyGYgwM")
|
||||
.a("User-Agent", Network.l.c().a())
|
||||
.a();
|
||||
|
||||
sClient.a(request).a(new Callback() {
|
||||
@Override
|
||||
public void a(Call call, IOException e) {
|
||||
Log.d("VKProxy", e.getMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void a(Call call, Response response) throws IOException {
|
||||
String payload = response.a().g();
|
||||
Log.d("VKProxy", payload);
|
||||
|
||||
try {
|
||||
JSONObject jsonObject = new JSONObject(payload).getJSONObject("entries");
|
||||
String configNetworkProxy = jsonObject.getString("config_network_proxy");
|
||||
String configNetworkProxyCerts = jsonObject.getString("config_network_proxy_certs");
|
||||
|
||||
Log.d("VKProxy", configNetworkProxy);
|
||||
Log.d("VKProxy", configNetworkProxyCerts);
|
||||
|
||||
new ProxySettings().c(configNetworkProxy);
|
||||
new ProxySettings().b(configNetworkProxyCerts);
|
||||
|
||||
Preference.b("NetworkProxy", "proxy_enabled_cookie", true);
|
||||
Preference.b("NetworkProxy", "proxy_user_state", true);
|
||||
Network.l.b().a(true);
|
||||
new ProxyHost().a(true);
|
||||
new NetworkProxyPreferences().a(NetworkProxy.Reason.PROXY_ENABLED_SERVER);
|
||||
} catch (JSONException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import com.vk.medianative.MediaNative;
|
||||
import com.vtosters.lite.data.Users;
|
||||
import com.vtosters.lite.fragments.SettingsListFragment;
|
||||
import ru.vtosters.hooks.GmsHook;
|
||||
import ru.vtosters.hooks.VKProxy;
|
||||
import ru.vtosters.hooks.VerificationsHook;
|
||||
import ru.vtosters.lite.BuildConfig;
|
||||
import ru.vtosters.lite.proxy.ProxyUtils;
|
||||
@@ -33,6 +34,7 @@ public class Preferences {
|
||||
LifecycleUtils.registerActivities(application);
|
||||
|
||||
AnalyticsHelper.start(application);
|
||||
VKProxy.load();
|
||||
} // VK Init
|
||||
|
||||
public static String getBuildName() {
|
||||
|
||||
@@ -14,6 +14,10 @@ import android.widget.Toast;
|
||||
import androidx.appcompat.view.ContextThemeWrapper;
|
||||
import b.h.g.m.FileUtils;
|
||||
import com.vk.core.dialogs.alert.VkAlertDialog;
|
||||
import com.vk.core.network.Network;
|
||||
import com.vk.core.network.proxy.NetworkProxy;
|
||||
import com.vk.core.network.proxy.ProxyHost;
|
||||
import com.vk.core.preference.Preference;
|
||||
import com.vk.im.engine.ImEngine1;
|
||||
import com.vk.im.engine.ImEngineExt;
|
||||
import com.vk.im.ui.providers.audiomsg.ImAudioMsgPlayerProvider;
|
||||
@@ -22,8 +26,10 @@ import com.vk.imageloader.VKImageLoader;
|
||||
import com.vk.media.player.cache.AutoPlayCacheHolder;
|
||||
import com.vk.mediastore.MediaStorage;
|
||||
import com.vk.stickers.Stickers;
|
||||
import com.vtosters.lite.NetworkProxyPreferences;
|
||||
import com.vtosters.lite.im.ImEngineProvider;
|
||||
import ru.vtosters.hooks.SwitchHook;
|
||||
import ru.vtosters.hooks.VKProxy;
|
||||
import ru.vtosters.hooks.other.Preferences;
|
||||
import ru.vtosters.hooks.other.ThemesUtils;
|
||||
import ru.vtosters.lite.ui.PreferenceFragmentUtils;
|
||||
@@ -276,6 +282,32 @@ public class DataSettingsFragment extends TrackedMaterialPreferenceToolbarFragme
|
||||
|
||||
PreferenceFragmentUtils.addPreferenceCategory(getPreferenceScreen(), AndroidUtils.getString("sett_other"));
|
||||
|
||||
PreferenceFragmentUtils.addMaterialSwitchPreference(
|
||||
getPreferenceScreen(),
|
||||
"",
|
||||
"Use Proxy Server",
|
||||
null,
|
||||
null,
|
||||
VKProxy.isProxyEnabled(),
|
||||
(preference, o) -> {
|
||||
VKProxy.setProxyStatus((Boolean) o);
|
||||
VKProxy.load();
|
||||
|
||||
if ((Boolean) o) {
|
||||
Preference.b("NetworkProxy", "proxy_enabled_cookie", true);
|
||||
Preference.b("NetworkProxy", "proxy_user_state", true);
|
||||
Network.l.b().a(true);
|
||||
new ProxyHost().a(true);
|
||||
} else {
|
||||
Preference.b("NetworkProxy", "proxy_enabled_cookie", false);
|
||||
Preference.b("NetworkProxy", "proxy_user_state", false);
|
||||
Network.l.b().a(false);
|
||||
new ProxyHost().a(false);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
);
|
||||
|
||||
PreferenceFragmentUtils.addMaterialSwitchPreference(
|
||||
getPreferenceScreen(),
|
||||
"disableForceTrafficSaver",
|
||||
|
||||
@@ -1162,7 +1162,10 @@
|
||||
:try_start_0
|
||||
iput-object p1, p0, Lcom/vk/core/network/proxy/NetworkProxy;->c:Lcom/vk/core/network/proxy/NetworkProxy$c;
|
||||
|
||||
const p1, 0x0
|
||||
.line 7
|
||||
invoke-static {}, Lru/vtosters/hooks/VKProxy;->isProxyEnabled()Z
|
||||
|
||||
move-result p1
|
||||
|
||||
if-eqz p1, :cond_1
|
||||
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
.class Lcom/vk/core/network/proxy/ProxyHost$a$a;
|
||||
.super Ljava/lang/Object;
|
||||
.source "ProxyHost.java"
|
||||
|
||||
# interfaces
|
||||
.implements Ljava/lang/Runnable;
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Lcom/vk/core/network/proxy/ProxyHost$a;->a(Ljava/lang/Long;)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x0
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field final synthetic a:Lcom/vk/core/network/proxy/ProxyHost$a;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method constructor <init>(Lcom/vk/core/network/proxy/ProxyHost$a;)V
|
||||
.locals 0
|
||||
|
||||
.line 1
|
||||
iput-object p1, p0, Lcom/vk/core/network/proxy/ProxyHost$a$a;->a:Lcom/vk/core/network/proxy/ProxyHost$a;
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public run()V
|
||||
.locals 1
|
||||
|
||||
.line 1
|
||||
iget-object v0, p0, Lcom/vk/core/network/proxy/ProxyHost$a$a;->a:Lcom/vk/core/network/proxy/ProxyHost$a;
|
||||
|
||||
iget-object v0, v0, Lcom/vk/core/network/proxy/ProxyHost$a;->a:Lcom/vk/core/network/proxy/ProxyHost;
|
||||
|
||||
invoke-virtual {v0}, Lcom/vk/core/network/proxy/ProxyHost;->i()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
@@ -598,9 +598,7 @@
|
||||
.locals 1
|
||||
|
||||
.line 1
|
||||
iget-object v0, p0, Lcom/vk/core/network/proxy/ProxyHost;->e:Ljava/util/concurrent/atomic/AtomicBoolean;
|
||||
|
||||
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
|
||||
invoke-static {}, Lru/vtosters/hooks/VKProxy;->isProxyEnabled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
|
||||
@@ -31,17 +31,7 @@
|
||||
.locals 3
|
||||
|
||||
.line 1
|
||||
sget-object v0, Lcom/vk/core/util/AppContextHolder;->a:Landroid/content/Context;
|
||||
|
||||
invoke-static {v0}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
const-string v1, "__dbg_proxy_enable"
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
|
||||
invoke-static {}, Lru/vtosters/hooks/VKProxy;->isProxyEnabled()Z
|
||||
|
||||
move-result v0
|
||||
|
||||
|
||||
@@ -622,7 +622,9 @@
|
||||
|
||||
.line 12
|
||||
:cond_1
|
||||
const p1, 0x0
|
||||
invoke-static {}, Lru/vtosters/hooks/VKProxy;->isProxyEnabled()Z
|
||||
|
||||
move-result p1
|
||||
|
||||
if-eqz p1, :cond_2
|
||||
|
||||
|
||||
Reference in New Issue
Block a user