From 038a5fbe905a64d9ceb086a73d07f85cff682b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Wed, 17 Apr 2024 02:05:00 +0900 Subject: [PATCH] =?UTF-8?q?v2.3.1=20=E6=96=B0=E5=A2=9E=201.=20=E5=A2=9E?= =?UTF-8?q?=E5=BC=BA=E5=9E=8B=E6=95=B0=E6=8D=AE=E8=AE=BF=E9=97=AE=E9=80=89?= =?UTF-8?q?=E9=A1=B9=202.=20=E6=BC=AB=E7=94=BB=E4=B8=8B=E8=BD=BD=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E5=B9=B6=E5=8F=91=E9=99=90=E5=88=B6=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=201.=20=E5=90=8C=E6=97=B6=E4=B8=8B=E8=BD=BD=E8=BF=87?= =?UTF-8?q?=E5=A4=9A=E6=BC=AB=E7=94=BB=E6=97=B6=E5=A4=B1=E8=B4=A5=20(fix?= =?UTF-8?q?=20#67)=202.=20=E4=B8=BB=E9=A1=B5=E6=BB=91=E5=8A=A8=E6=A8=AA?= =?UTF-8?q?=E5=B9=85=E5=90=8E=E5=88=B7=E6=96=B0=E9=97=AA=E9=80=80=20(fix?= =?UTF-8?q?=20#65)=203.=20v2.3.0=20=E5=A2=9E=E5=BC=BA=E5=9E=8B=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E8=AE=BF=E9=97=AE=E4=B8=8B=E7=99=BB=E5=BD=95=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=204.=20jna=20R8=20=E9=97=AA=E9=80=80=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=201.=20=E7=BD=91=E7=BB=9C=E4=B8=8D=E4=BD=B3=E6=97=B6?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=89=93=E5=BC=80=E5=A2=9E=E5=BC=BA=E5=9E=8B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=AE=BF=E9=97=AE=202.=20=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E5=8F=8D=E5=A4=8D=E8=AF=BB=E5=8F=96=E4=BB=A3=E7=90=86=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/dictionaries/fumiama.xml | 1 + app/proguard-rules.pro | 7 +++++++ .../top/fumiama/copymanga/tools/http/ComandyGlideModule.kt | 7 +++---- .../java/top/fumiama/copymanga/tools/http/DownloadTools.kt | 6 +++--- app/src/main/java/top/fumiama/copymanga/user/Member.kt | 3 ++- 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.idea/dictionaries/fumiama.xml b/.idea/dictionaries/fumiama.xml index e9c54e3..d85c6ac 100644 --- a/.idea/dictionaries/fumiama.xml +++ b/.idea/dictionaries/fumiama.xml @@ -2,6 +2,7 @@ alphae + azurewebsites comandy downloaders grps diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 9fa3036..622a543 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -76,3 +76,10 @@ } ##---------------End: proguard configuration for Gson ---------- + +-keep class com.sun.jna.** { *; } +-keep class * implements com.sun.jna.** { *; } +-dontwarn java.awt.Component +-dontwarn java.awt.GraphicsEnvironment +-dontwarn java.awt.HeadlessException +-dontwarn java.awt.Window diff --git a/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt b/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt index fa67fa6..b807f46 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/http/ComandyGlideModule.kt @@ -44,9 +44,6 @@ class ComandyGlideModule: AppGlideModule() { } try { val para = Gson().toJson(capsule) - MainActivity.mainWeakReference?.get()?.runOnUiThread { - Log.d("MyCGM", "request: $para") - } Comandy.instance!!.request(para).let { result -> Gson().fromJson(result, ComandyCapsule::class.java)!!.let { if (it.code != 200) { @@ -88,7 +85,9 @@ class ComandyGlideModule: AppGlideModule() { } override fun handles(model: GlideUrl): Boolean { - return Comandy.useComandy && Comandy.instance != null && model.toURL().let { it.protocol == "https" } + return Comandy.useComandy && Comandy.instance != null && model.toURL().let { + it.protocol == "https" && it.host != "copymanga.azurewebsites.net" + } } } diff --git a/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt b/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt index 22c5d0c..4531265 100644 --- a/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt +++ b/app/src/main/java/top/fumiama/copymanga/tools/http/DownloadTools.kt @@ -107,7 +107,7 @@ object DownloadTools { suspend fun getHttpContent(u: String, refer: String? = null, ua: String? = pc_ua): ByteArray = withContext(Dispatchers.IO) { - if (Comandy.useComandy) { + if (!u.startsWith("https://copymanga.azurewebsites.net") && Comandy.useComandy) { getComandyApiConnection(u, "GET", refer, ua).let { capsule -> val para = Gson().toJson(capsule) //Log.d("MyDT", "comandy request: $para") @@ -147,7 +147,7 @@ object DownloadTools { fun prepare(u: String, readSize: Int = -1) = run { Log.d("MyDT", "prepareHttp: $u") - FutureTask(if (Comandy.useComandy) Callable{ + FutureTask(if (!u.startsWith("https://copymanga.azurewebsites.net") && Comandy.useComandy) Callable{ try { Comandy.instance?.request(Gson().toJson( getComandyNormalConnection(u, "GET", pc_ua)) @@ -189,7 +189,7 @@ object DownloadTools { fun requestWithBody(url: String, method: String, body: ByteArray, refer: String? = referer, ua: String? = pc_ua, contentType: String? = "application/x-www-form-urlencoded;charset=utf-8"): ByteArray? { Log.d("MyDT", "$method Http: $url") var ret: ByteArray? = null - val task = FutureTask(if(Comandy.useComandy) Callable{ + val task = FutureTask(if(!url.startsWith("https://copymanga.azurewebsites.net") && Comandy.useComandy) Callable{ try { val capsule = getComandyApiConnection(url, method, refer, ua) contentType?.let { capsule.headers["content-type"] = it } diff --git a/app/src/main/java/top/fumiama/copymanga/user/Member.kt b/app/src/main/java/top/fumiama/copymanga/user/Member.kt index 309223f..56d9795 100644 --- a/app/src/main/java/top/fumiama/copymanga/user/Member.kt +++ b/app/src/main/java/top/fumiama/copymanga/user/Member.kt @@ -13,6 +13,7 @@ import top.fumiama.copymanga.tools.http.Comandy import top.fumiama.copymanga.tools.http.DownloadTools import top.fumiama.copymanga.tools.http.DownloadTools.app_ver import top.fumiama.copymanga.tools.http.DownloadTools.pc_ua +import top.fumiama.copymanga.tools.http.Proxy import top.fumiama.dmzj.copymanga.R import java.net.URLEncoder import java.nio.charset.Charset @@ -21,7 +22,7 @@ class Member(private val pref: SharedPreferences, private val getString: (Int) - val hasLogin: Boolean get() = pref.getString("token", "")?.isNotEmpty()?:false suspend fun login(username: String, pwd: String, salt: Int): LoginInfoStructure = withContext(Dispatchers.IO) { var err = "" - if (Comandy.useComandy) getComandyLoginConnection(username, pwd, salt).let { capsule -> + if (!Proxy.useApiProxy && Comandy.useComandy) getComandyLoginConnection(username, pwd, salt).let { capsule -> try { val para = Gson().toJson(capsule) Comandy.instance?.request(para)?.let { result ->