diff --git a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java index 663d93998..b7bbfe80e 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/ProxyUtils.java @@ -59,7 +59,7 @@ public class ProxyUtils{ } public static Boolean isApiProxyEnabled(){ - return getPrefsValue("proxy").equals("apiproxy"); + return getPrefsValue("proxy").equals("apiproxy") || getPrefsValue("proxy").equals("vika"); } public static Boolean isVikaProxyEnabled(){ diff --git a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java index a9f3ba6db..a4227ef86 100644 --- a/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java +++ b/app/src/main/java/ru/vtosters/lite/proxy/api/ApiProxy.java @@ -10,6 +10,9 @@ public class ApiProxy{ var vkapi = "api.vk.ru"; var oauth = "oauth.vk.ru"; var vkstatic = "static.vk.ru"; + var vkapiold = "api.vk.com"; + var oauthold = "oauth.vk.com"; + var vkstaticold = "static.vk.com"; var proxyapi = getPrefsValue("proxyapi"); var proxyoauth = getPrefsValue("proxyoauth"); @@ -21,7 +24,7 @@ public class ApiProxy{ proxystatic = VikaMobile.getStaticHost(); } - if (!isApiProxyEnabled() || link.isEmpty()) { + if ((!isApiProxyEnabled() || !isVikaProxyEnabled()) || link.isEmpty()) { return link; } @@ -31,24 +34,48 @@ public class ApiProxy{ } if (link.contains(vkapi)) { - return link.replace(proxyapi, vkapi); + return link.replaceAll(vkapi, proxyapi); } if (link.contains(oauth)) { - return link.replace(proxyoauth, oauth); + return link.replaceAll(oauth, proxyoauth); } if (link.contains(vkstatic)) { - return link.replace(proxystatic, vkstatic); + return link.replaceAll(vkstatic, proxystatic); + } + + if (link.contains(vkapiold)) { + return link.replaceAll(vkapiold, proxyapi); + } + + if (link.contains(oauthold)) { + return link.replaceAll(vkapiold, proxyoauth); + } + + if (link.contains(vkstaticold)) { + return link.replaceAll(vkapiold, proxystatic); } return link; } + public static String staticFix(String str) { + var string = getPrefsValue("proxystatic"); + + if (isVikaProxyEnabled()) { + string = VikaMobile.getStaticHost(); + } + + if ((isApiProxyEnabled() || isVikaProxyEnabled()) && string.isEmpty()) return str; + + return str.replaceAll(string, "static.vk.ru"); + } + public static String getAwayPhpCom(){ var proxyapi = getPrefsValue("proxyapi"); - if (isApiProxyEnabled() & !proxyapi.isEmpty()) { + if ((isApiProxyEnabled() || isVikaProxyEnabled()) & !proxyapi.isEmpty()) { return proxyapi; } diff --git a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali index e02fa3ccc..91ed4affe 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/AndroidBridge.smali @@ -548,6 +548,10 @@ const-string v3, "https://oauth.vk.ru/blank.html" + invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v3 + invoke-virtual {p0, v2, v1, v3}, Lcom/vk/webapp/bridges/AndroidBridge;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri; move-result-object v1 @@ -1491,7 +1495,7 @@ move-result-object p1 - invoke-static {p1}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; + invoke-static {p1}, Lru/vtosters/lite/proxy/api/ApiProxy;->staticFix(Ljava/lang/String;)Ljava/lang/String; move-result-object p1 @@ -2141,6 +2145,10 @@ const-string v3, "https://oauth.vk.ru/blank.html" + invoke-static {v3}, Lru/vtosters/lite/proxy/api/ApiProxy;->linkReplacer(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v3 + .line 5 invoke-virtual {p1, v2, v3}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali index a041a822b..5aeca7377 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$a.smali @@ -132,6 +132,10 @@ aput-object p1, v0, v1 + invoke-static {p3}, Lru/vtosters/lite/proxy/api/ApiProxy;->staticFix(Ljava/lang/String;)Ljava/lang/String; + + move-result-object p3 + const-string p1, "source_url" .line 5 diff --git a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali index 150ef2eab..16a3130e3 100644 --- a/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali +++ b/smali/smali_classes4/com/vk/webapp/bridges/VkUiConnectBridge$u.smali @@ -87,6 +87,10 @@ move-result-object v4 + invoke-static {v4}, Lru/vtosters/lite/proxy/api/ApiProxy;->staticFix(Ljava/lang/String;)Ljava/lang/String; + + move-result-object v4 + goto :goto_0 :cond_0