diff --git a/src/pt/manhastro/build.gradle b/src/pt/manhastro/build.gradle index 5ec2de855..1669b5488 100644 --- a/src/pt/manhastro/build.gradle +++ b/src/pt/manhastro/build.gradle @@ -3,7 +3,8 @@ ext { extClass = '.Manhastro' themePkg = 'madara' baseUrl = 'https://manhastro.com' - overrideVersionCode = 0 + overrideVersionCode = 1 + isNsfw = true } apply from: "$rootDir/common.gradle" diff --git a/src/pt/manhastro/src/eu/kanade/tachiyomi/extension/pt/manhastro/Manhastro.kt b/src/pt/manhastro/src/eu/kanade/tachiyomi/extension/pt/manhastro/Manhastro.kt index 95f23a696..eff898303 100644 --- a/src/pt/manhastro/src/eu/kanade/tachiyomi/extension/pt/manhastro/Manhastro.kt +++ b/src/pt/manhastro/src/eu/kanade/tachiyomi/extension/pt/manhastro/Manhastro.kt @@ -1,8 +1,12 @@ package eu.kanade.tachiyomi.extension.pt.manhastro +import android.util.Base64 import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.Page +import kotlinx.serialization.decodeFromString import okhttp3.OkHttpClient +import org.jsoup.nodes.Document import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit @@ -19,4 +23,16 @@ class Manhastro : Madara( .build() override val useNewChapterEndpoint = true + + override fun pageListParse(document: Document): List { + return document.selectFirst("script:containsData(imageLinks)")?.data() + ?.let { imageLinksPattern.find(it)?.groups?.get(1)?.value } + ?.let { json.decodeFromString>(it) } + ?.mapIndexed { i, imageUrlEncoded -> + val imageUrl = String(Base64.decode(imageUrlEncoded, Base64.DEFAULT)) + Page(i, document.location(), imageUrl) + } ?: emptyList() + } + + private val imageLinksPattern = """var\s+?imageLinks\s*?=\s*?(\[.*]);""".toRegex() }