diff --git a/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt b/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt index caea7d91e..1af01e36d 100644 --- a/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt +++ b/src/all/mangapark/src/eu/kanade/tachiyomi/extension/all/mangapark/MangaPark.kt @@ -275,7 +275,6 @@ open class MangaPark( throw Exception("The chapter content seems to be deleted.\n\nContact the site owner if possible.") } - val duktape = Duktape.create() val script = document.select("script").html() val imgCdnHost = script.substringAfter("const imgCdnHost = \"").substringBefore("\";") val imgPathLisRaw = script.substringAfter("const imgPathLis = ").substringBefore(";") @@ -286,7 +285,7 @@ open class MangaPark( val decryptScript = cryptoJS + "CryptoJS.AES.decrypt($amWord, $amPass).toString(CryptoJS.enc.Utf8);" - val imgWordLisRaw = duktape.evaluate(decryptScript).toString() + val imgWordLisRaw = Duktape.create().use { it.evaluate(decryptScript).toString() } val imgWordLis = json.parseToJsonElement(imgWordLisRaw).jsonArray return imgWordLis.mapIndexed { i, imgWordE -> diff --git a/src/en/mangahere/src/eu/kanade/tachiyomi/extension/en/mangahere/Mangahere.kt b/src/en/mangahere/src/eu/kanade/tachiyomi/extension/en/mangahere/Mangahere.kt index 11d6a39e3..dd289cc25 100644 --- a/src/en/mangahere/src/eu/kanade/tachiyomi/extension/en/mangahere/Mangahere.kt +++ b/src/en/mangahere/src/eu/kanade/tachiyomi/extension/en/mangahere/Mangahere.kt @@ -257,13 +257,11 @@ class Mangahere : ParsedHttpSource() { val pageBase = link.substring(0, link.lastIndexOf("/")) IntRange(1, pagesNumber).map { i -> - val pageLink = "$pageBase/chapterfun.ashx?cid=$chapterId&page=$i&key=$secretKey" var responseText = "" for (tr in 1..3) { - val request = Request.Builder() .url(pageLink) .addHeader("Referer", link) @@ -302,7 +300,6 @@ class Mangahere : ParsedHttpSource() { } private fun extractSecretKey(html: String, duktape: Duktape): String { - val secretKeyScriptLocation = html.indexOf("eval(function(p,a,c,k,e,d)") val secretKeyScriptEndLocation = html.indexOf("", secretKeyScriptLocation) val secretKeyScript = html.substring(secretKeyScriptLocation, secretKeyScriptEndLocation).removePrefix("eval") diff --git a/src/zh/qiximh/src/eu/kanade/tachiyomi/extension/zh/qiximh/Qiximh.kt b/src/zh/qiximh/src/eu/kanade/tachiyomi/extension/zh/qiximh/Qiximh.kt index a562dae43..c36d9d8b3 100644 --- a/src/zh/qiximh/src/eu/kanade/tachiyomi/extension/zh/qiximh/Qiximh.kt +++ b/src/zh/qiximh/src/eu/kanade/tachiyomi/extension/zh/qiximh/Qiximh.kt @@ -291,12 +291,9 @@ class Qiximh : HttpSource() { val document = response.asJsoup() // Special thanks to author who created Mangahere.kt - val duktape = Duktape.create() - val script = document.select("script:containsData(function(p,a,c,k,e,d))").html().removePrefix("eval") - val deobfuscatedScript = duktape.evaluate(script).toString() + val deobfuscatedScript = Duktape.create().use { it.evaluate(script).toString() } val urls = deobfuscatedScript.substringAfter("newImgs=[\"").substringBefore("\"]").split("\",\"") - duktape.close() return urls.mapIndexed { index, s -> Page(index, "", s) } } diff --git a/src/zh/tencentcomics/src/eu/kanade/tachiyomi/extension/zh/tencentcomics/TencentComics.kt b/src/zh/tencentcomics/src/eu/kanade/tachiyomi/extension/zh/tencentcomics/TencentComics.kt index 50952d2c3..6bc58c00e 100644 --- a/src/zh/tencentcomics/src/eu/kanade/tachiyomi/extension/zh/tencentcomics/TencentComics.kt +++ b/src/zh/tencentcomics/src/eu/kanade/tachiyomi/extension/zh/tencentcomics/TencentComics.kt @@ -131,7 +131,6 @@ class TencentComics : ParsedHttpSource() { """ override fun pageListParse(document: Document): List { - val duktape = Duktape.create() val pages = ArrayList() var html = document.html() @@ -145,7 +144,7 @@ class TencentComics : ParsedHttpSource() { val raw = html.substringAfterLast("var DATA =").substringBefore("PRELOAD_NUM").trim().replace(Regex("^\'|\',$"), "") val decodePrefix = "var raw = \"$raw\"; var nonce = $nonce" - val full = duktape.evaluate(decodePrefix + jsDecodeFunction).toString() + val full = Duktape.create().use { it.evaluate(decodePrefix + jsDecodeFunction).toString() } val chapterData = json.parseToJsonElement(String(Base64.decode(full, Base64.DEFAULT))).jsonObject if (!chapterData["chapter"]!!.jsonObject["canRead"]!!.jsonPrimitive.boolean) throw Exception("[此章节为付费内容]")