From 712cb31571b58e91bf487dc75cb3d9e0cf35cc52 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Fri, 31 Jul 2020 02:45:09 -0400 Subject: [PATCH] Manhuadui - update decryption, refactor chapter list parsing (#3957) --- src/zh/manhuadui/build.gradle | 2 +- .../extension/zh/manhuadui/Manhuadui.kt | 23 ++++++++----------- 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/src/zh/manhuadui/build.gradle b/src/zh/manhuadui/build.gradle index ea8ce1dc9..21478f119 100644 --- a/src/zh/manhuadui/build.gradle +++ b/src/zh/manhuadui/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Manhuadui' pkgNameSuffix = 'zh.manhuadui' extClass = '.Manhuadui' - extVersionCode = 9 + extVersionCode = 10 libVersion = '1.2' } diff --git a/src/zh/manhuadui/src/eu/kanade/tachiyomi/extension/zh/manhuadui/Manhuadui.kt b/src/zh/manhuadui/src/eu/kanade/tachiyomi/extension/zh/manhuadui/Manhuadui.kt index 741205c76..cd98cfa91 100644 --- a/src/zh/manhuadui/src/eu/kanade/tachiyomi/extension/zh/manhuadui/Manhuadui.kt +++ b/src/zh/manhuadui/src/eu/kanade/tachiyomi/extension/zh/manhuadui/Manhuadui.kt @@ -8,15 +8,15 @@ import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.SChapter import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import javax.crypto.Cipher +import javax.crypto.spec.IvParameterSpec +import javax.crypto.spec.SecretKeySpec import okhttp3.Headers import okhttp3.HttpUrl import okhttp3.Request import okhttp3.Response import org.jsoup.nodes.Document import org.jsoup.nodes.Element -import javax.crypto.Cipher -import javax.crypto.spec.IvParameterSpec -import javax.crypto.spec.SecretKeySpec class Manhuadui : ParsedHttpSource() { @@ -29,7 +29,7 @@ class Manhuadui : ParsedHttpSource() { override fun popularMangaSelector() = "li.list-comic" override fun searchMangaSelector() = popularMangaSelector() override fun latestUpdatesSelector() = popularMangaSelector() - override fun chapterListSelector() = "ul[id^=chapter-list] > li" + override fun chapterListSelector() = "ul[id^=chapter-list] > li a" override fun searchMangaNextPageSelector() = "li.next" override fun popularMangaNextPageSelector() = searchMangaNextPageSelector() @@ -55,10 +55,6 @@ class Manhuadui : ParsedHttpSource() { } } - override fun mangaDetailsRequest(manga: SManga) = GET(baseUrl + manga.url, headers) - override fun chapterListRequest(manga: SManga) = mangaDetailsRequest(manga) - override fun pageListRequest(chapter: SChapter) = GET(baseUrl + chapter.url, headers) - override fun popularMangaFromElement(element: Element) = mangaFromElement(element) override fun latestUpdatesFromElement(element: Element) = mangaFromElement(element) private fun mangaFromElement(element: Element): SManga { @@ -96,11 +92,9 @@ class Manhuadui : ParsedHttpSource() { } override fun chapterFromElement(element: Element): SChapter { - val urlElement = element.select("a") - val chapter = SChapter.create() - chapter.setUrlWithoutDomain(urlElement.attr("href")) - chapter.name = urlElement.attr("title").trim() + chapter.setUrlWithoutDomain(element.attr("href")) + chapter.name = element.select("span:first-child").text().trim() return chapter } @@ -111,14 +105,15 @@ class Manhuadui : ParsedHttpSource() { return manga } + override fun chapterListRequest(manga: SManga) = GET(baseUrl.replace("www", "m") + manga.url) override fun chapterListParse(response: Response): List { return super.chapterListParse(response).asReversed() } // ref: https://jueyue.iteye.com/blog/1830792 private fun decryptAES(value: String): String? { - val key = "1231M8H8B8123456" - val iv = "A1B2C3D4E5F6G789" + val key = "1739ZAQ12345bbG1" + val iv = "ABCDEF1G341234bb" return try { val secretKey = SecretKeySpec(key.toByteArray(), "AES")