diff --git a/lib-multisrc/mangabox/build.gradle.kts b/lib-multisrc/mangabox/build.gradle.kts index ede652be5..f0ad544d5 100644 --- a/lib-multisrc/mangabox/build.gradle.kts +++ b/lib-multisrc/mangabox/build.gradle.kts @@ -2,4 +2,4 @@ plugins { id("lib-multisrc") } -baseVersionCode = 6 +baseVersionCode = 7 diff --git a/lib-multisrc/mangabox/src/eu/kanade/tachiyomi/multisrc/mangabox/MangaBox.kt b/lib-multisrc/mangabox/src/eu/kanade/tachiyomi/multisrc/mangabox/MangaBox.kt index c070e7fbd..d6ada3972 100644 --- a/lib-multisrc/mangabox/src/eu/kanade/tachiyomi/multisrc/mangabox/MangaBox.kt +++ b/lib-multisrc/mangabox/src/eu/kanade/tachiyomi/multisrc/mangabox/MangaBox.kt @@ -85,6 +85,9 @@ abstract class MangaBox( private fun useAltCdnInterceptor(chain: Interceptor.Chain): Response { val request = chain.request() + if (cdnSet.isEmpty()) { + return chain.proceed(request) + } val requestTag = request.tag(MangaBoxFallBackTag::class.java) val originalResponse: Response? = try { chain.proceed(request) @@ -346,11 +349,10 @@ abstract class MangaBox( } override fun pageListParse(document: Document): List { - val element = document.select("head > script").lastOrNull() - ?: return emptyList() + val content = document.select("script:containsData(cdns =)").joinToString("\n") { it.data() } val cdns = - extractArray(element.html(), "cdns") + extractArray(element.html(), "backupImage") - val chapterImages = extractArray(element.html(), "chapterImages") + extractArray(content, "cdns") + extractArray(content, "backupImage") + val chapterImages = extractArray(content, "chapterImages") // Add all parsed cdns to set cdnSet.addAll(cdns) @@ -369,6 +371,10 @@ abstract class MangaBox( } Page(i, document.location(), parsedUrl) + }.ifEmpty { + document.select("div.container-chapter-reader > img").mapIndexed { i, img -> + Page(i, imageUrl = img.absUrl("src")) + } } }