diff --git a/src/it/toonitalia/build.gradle b/src/it/toonitalia/build.gradle index b4c6f1dd..ef3acda7 100644 --- a/src/it/toonitalia/build.gradle +++ b/src/it/toonitalia/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Toonitalia' extClass = '.Toonitalia' - extVersionCode = 22 + extVersionCode = 23 } apply from: "$rootDir/common.gradle" diff --git a/src/it/toonitalia/src/eu/kanade/tachiyomi/animeextension/it/toonitalia/Toonitalia.kt b/src/it/toonitalia/src/eu/kanade/tachiyomi/animeextension/it/toonitalia/Toonitalia.kt index cd854371..e7aa1652 100644 --- a/src/it/toonitalia/src/eu/kanade/tachiyomi/animeextension/it/toonitalia/Toonitalia.kt +++ b/src/it/toonitalia/src/eu/kanade/tachiyomi/animeextension/it/toonitalia/Toonitalia.kt @@ -277,11 +277,18 @@ class Toonitalia : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } // ============================= Utilities ============================== - private fun bypassUprot(url: String): String? = - client.newCall(GET(url, headers)).execute() - .asJsoup() - .selectFirst("a:has(button.button.is-info)") - ?.attr("href") + private fun bypassUprot(url: String): String { + val page = client.newCall(GET(url, headers)).execute().body.string() + Regex("""]+href="([^"]+)".*Continue""").findAll(page) + .map { it.groupValues[1] } + .toList() + .forEach { link -> + if (link.contains("https://maxstream.video") || link.contains("https://uprot.net") || link.contains("https://streamtape") || link.contains("https://voe") && link != url) { + return link + } + } + return "something went wrong" + } companion object { private const val PREF_QUALITY_KEY = "preferred_quality"