diff --git a/src/es/mangacrab/build.gradle b/src/es/mangacrab/build.gradle index 948ada021..56d6a8e7c 100644 --- a/src/es/mangacrab/build.gradle +++ b/src/es/mangacrab/build.gradle @@ -3,7 +3,7 @@ ext { extClass = '.MangaCrab' themePkg = 'madara' baseUrl = 'https://mangacrab.org' - overrideVersionCode = 15 + overrideVersionCode = 16 isNsfw = false } diff --git a/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt b/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt index ca3208b12..479569916 100644 --- a/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt +++ b/src/es/mangacrab/src/eu/kanade/tachiyomi/extension/es/mangacrab/MangaCrab.kt @@ -51,9 +51,26 @@ class MangaCrab : override val pageListParseSelector = "div.page-break:not([style*='display:none']) img:not([src])" override fun imageFromElement(element: Element): String? { + val url = element.attributes() + .firstNotNullOfOrNull { attr -> + element.absUrl(attr.key).toHttpUrlOrNull() + ?.takeIf { it.encodedPath == "/validate.php" } + } + + val fileUrl = url + ?.queryParameter("file") + ?.takeIf { it.isNotBlank() } + ?.let { file -> + url.newBuilder() + .encodedPath("/$file") + .query(null) + .build() + } + val imageAbsUrl = element.attributes().firstOrNull { it.value.toHttpUrlOrNull() != null }?.value return when { + fileUrl != null -> fileUrl.toString() element.hasAttr("data-src") -> element.attr("abs:data-src") element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src") element.hasAttr("srcset") -> element.attr("abs:srcset").getSrcSetImage()