From e946c35c01c76015e43fbce312bcb5dbbff9dc82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sun, 7 Jun 2020 20:38:08 +0800 Subject: [PATCH] Remove legacy proxy format --- .../tw/nekomimi/nekogram/sub/SubInfo.java | 22 -------- .../tw/nekomimi/nekogram/sub/SubManager.kt | 10 ++-- .../tw/nekomimi/nekogram/utils/HttpUtil.kt | 13 ++++- .../tw/nekomimi/nekogram/utils/ProxyUtil.kt | 53 +------------------ 4 files changed, 20 insertions(+), 78 deletions(-) diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubInfo.java b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubInfo.java index 31c4c27f3..c71562ad9 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubInfo.java +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubInfo.java @@ -54,28 +54,6 @@ public class SubInfo implements Mappable { HashMap exceptions = new HashMap<>(); - if (id == 1) { - - try { - - List legacyList = ProxyUtil.downloadLegacyProxyList(); - - if (legacyList != null) { - - exceptions.put("", new IOException("Update Failed")); - - return legacyList; - - } - - } catch (Exception e) { - - exceptions.put("", e); - - } - - } - for (String url : urls) { try { diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubManager.kt b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubManager.kt index f0e32db35..6a9506265 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubManager.kt +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/sub/SubManager.kt @@ -9,15 +9,13 @@ object SubManager { val database by lazy { mkDatabase("proxy_sub") } - @JvmField var count = 0 + val count get() = subList.find().totalCount() @JvmStatic val subList by lazy { database.getRepository("proxy_sub", SubInfo::class.java).apply { - count = find().totalCount() - val public = find(ObjectFilters.eq("id", 1L)).firstOrDefault() update(SubInfo().apply { @@ -25,6 +23,12 @@ object SubManager { name = LocaleController.getString("NekoXProxy", R.string.NekoXProxy) enable = public?.enable ?: true + urls = listOf( + "https://gitlab.com/nekohasekai/nekox-proxy-list/-/raw/master/proxy_list", + "https://nekox-dev.github.io/ProxyList/proxy_list", + "https://gitee.com/nekoshizuku/AwesomeRepo/raw/master/proxy_list" + ) + id = 1L internal = true diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/HttpUtil.kt b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/HttpUtil.kt index 3a119e2cd..a5828c0a4 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/HttpUtil.kt +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/HttpUtil.kt @@ -19,8 +19,17 @@ fun Request.Builder.applyUserAgent(): Request.Builder { object HttpUtil { @JvmField - val okHttpClient = OkHttpClient().newBuilder().dns(DnsFactory).connectTimeout(3, TimeUnit.SECONDS).build() - val okHttpClientNoDoh = OkHttpClient().newBuilder().connectTimeout(3, TimeUnit.SECONDS).build() + val okHttpClient = OkHttpClient().newBuilder() + .dns(DnsFactory) + .connectTimeout(3, TimeUnit.SECONDS) + .readTimeout(3, TimeUnit.SECONDS) + .build() + + val okHttpClientNoDoh = OkHttpClient() + .newBuilder() + .connectTimeout(3, TimeUnit.SECONDS) + .readTimeout(3, TimeUnit.SECONDS) + .build() @JvmStatic val okHttpClientWithCurrProxy: OkHttpClient diff --git a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/ProxyUtil.kt b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/ProxyUtil.kt index c1ecc590b..e0fbe8a9a 100644 --- a/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/ProxyUtil.kt +++ b/TMessagesProj/src/main/java/tw/nekomimi/nekogram/utils/ProxyUtil.kt @@ -14,8 +14,7 @@ import android.view.Gravity import android.widget.ImageView import android.widget.LinearLayout import android.widget.Toast -import cn.hutool.core.codec.Base64 -import cn.hutool.core.util.StrUtil +import android.util.Base64 import com.google.zxing.* import com.google.zxing.common.GlobalHistogramBinarizer import com.google.zxing.qrcode.QRCodeReader @@ -26,11 +25,9 @@ import com.v2ray.ang.V2RayConfig.SS_PROTOCOL import com.v2ray.ang.V2RayConfig.VMESS1_PROTOCOL import com.v2ray.ang.V2RayConfig.VMESS_PROTOCOL import okhttp3.HttpUrl.Companion.toHttpUrlOrNull -import org.json.JSONArray import org.telegram.messenger.* import org.telegram.messenger.browser.Browser import org.telegram.ui.ActionBar.BottomSheet -import java.io.ByteArrayInputStream import java.io.File import java.net.NetworkInterface import java.util.* @@ -38,9 +35,6 @@ import kotlin.collections.HashMap object ProxyUtil { - @JvmField - val cacheFile = File(ApplicationLoader.applicationContext.filesDir.parentFile, "nekox/remote_proxy_list.json") - @JvmStatic fun isVPNEnabled(): Boolean { @@ -60,55 +54,12 @@ object ProxyUtil { } - @JvmStatic - fun downloadLegacyProxyList(): List? { - - runCatching { - - // 从 GITEE 主站 读取 - - JSONArray(HttpUtil.get("https://gitee.com/nekoshizuku/AwesomeRepo/raw/master/proxy_list.json")) - - }.recoverCatching { - - // 从 GITLAB 读取 - - JSONArray(HttpUtil.get("https://gitlab.com/nekohasekai/nekox-proxy-list/-/raw/master/proxy_list.json")) - - }.recoverCatching { - - // 从 GITHUB PAGES 读取 - - JSONArray(HttpUtil.get("https://nekox-dev.github.io/ProxyList/proxy_list.json")) - - }.recoverCatching { - - // 从 GITHUB 主站 读取 - - val master = HttpUtil.getByteArray("https://github.com/NekoX-Dev/ProxyList/archive/master.zip") - - JSONArray(String(ZipUtil.read(ByteArrayInputStream(master), "ProxyList-master/proxy_list.json"))) - - }.getOrNull()?.also { arr -> - - return (0 until arr.length()).map { - - SharedConfig.parseProxyInfo(arr.getJSONObject(it).getString("proxy")).toUrl() - - } - - } - - return null - - } - @JvmStatic fun parseProxies(_text: String): MutableList { val text = runCatching { - Base64.decodeStr(_text) + String(Base64.decode(_text, Base64.URL_SAFE)) }.recover {