From adee8473afc15a4bedbd15d20bcbcdf52040bee2 Mon Sep 17 00:00:00 2001 From: LuftVerbot <97435834+LuftVerbot@users.noreply.github.com> Date: Sun, 18 Jun 2023 23:36:00 +0200 Subject: [PATCH] fix(de/animeloads): Anime-Loads: fix (#1761) --- src/de/animeloads/build.gradle | 2 +- .../de/animeloads/AnimeLoads.kt | 53 +++++-------------- 2 files changed, 14 insertions(+), 41 deletions(-) diff --git a/src/de/animeloads/build.gradle b/src/de/animeloads/build.gradle index de914f227..59414be12 100644 --- a/src/de/animeloads/build.gradle +++ b/src/de/animeloads/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Anime-Loads' pkgNameSuffix = 'de.animeloads' extClass = '.AnimeLoads' - extVersionCode = 7 + extVersionCode = 8 libVersion = '13' } diff --git a/src/de/animeloads/src/eu/kanade/tachiyomi/animeextension/de/animeloads/AnimeLoads.kt b/src/de/animeloads/src/eu/kanade/tachiyomi/animeextension/de/animeloads/AnimeLoads.kt index 8f4b79c6a..0b53a59c4 100644 --- a/src/de/animeloads/src/eu/kanade/tachiyomi/animeextension/de/animeloads/AnimeLoads.kt +++ b/src/de/animeloads/src/eu/kanade/tachiyomi/animeextension/de/animeloads/AnimeLoads.kt @@ -29,6 +29,7 @@ import org.jsoup.nodes.Element import org.jsoup.select.Elements import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import java.net.URLDecoder import kotlin.Exception class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -228,16 +229,11 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val hoster = it.substringAfter("\"hoster\":\"").substringBefore("\",\"") val linkpart = it.substringAfter("\"link\":\"").substringBefore("\"}]") val leaveurl = client.newCall(GET("$baseUrl/leave/$linkpart")).execute().request.url.toString() - if (leaveurl.contains(baseUrl)) { - val neexurl = client.newCall(GET(leaveurl)).execute().request.url.toString() - val neexdoc = client.newCall(GET(leaveurl)).execute().asJsoup() - val nextlink = neexdoc.select("div#continue a").attr("href") - val anipart = nextlink.substringAfter("$baseUrl/leave/") - Thread.sleep(10000) - client.newCall(GET(nextlink, headers = Headers.headersOf("referer", neexurl))).execute().asJsoup() + val decode = "https://www." + URLDecoder.decode(leaveurl.substringAfter("www."), "utf-8") + if (decode.contains(baseUrl)) { + val link = client.newCall(GET(decode)).execute().request.url.toString() when { hoster.contains("voesx") && hosterSelection?.contains("voe") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Voe Deutsch Sub" val video = try { VoeExtractor(client).videoFromUrl(link, quality) @@ -250,7 +246,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("streamtapecom") && hosterSelection?.contains("stape") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Streamtape Deutsch Sub" val video = try { StreamTapeExtractor(client).videoFromUrl(link, quality) @@ -263,7 +258,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("doodstream") && hosterSelection?.contains("dood") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Doodstreams Deutsch Sub" val video = try { DoodExtractor(client).videoFromUrl(link, quality) @@ -364,16 +358,11 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val hoster = it.substringAfter("\"hoster\":\"").substringBefore("\",\"") val linkpart = it.substringAfter("\"link\":\"").substringBefore("\"}]") val leaveurl = client.newCall(GET("$baseUrl/leave/$linkpart")).execute().request.url.toString() - if (leaveurl.contains(baseUrl)) { - val neexurl = client.newCall(GET(leaveurl)).execute().request.url.toString() - val neexdoc = client.newCall(GET(leaveurl)).execute().asJsoup() - val nextlink = neexdoc.select("div#continue a").attr("href") - val anipart = nextlink.substringAfter("$baseUrl/leave/") - Thread.sleep(10000) - client.newCall(GET(nextlink, headers = Headers.headersOf("referer", neexurl))).execute().asJsoup() + val decode = "https://www." + URLDecoder.decode(leaveurl.substringAfter("www."), "utf-8") + if (decode.contains(baseUrl)) { + val link = client.newCall(GET(decode)).execute().request.url.toString() when { hoster.contains("voesx") && hosterSelection?.contains("voe") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Voe Deutsch Sub" val video = try { VoeExtractor(client).videoFromUrl(link, quality) @@ -386,7 +375,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("streamtapecom") && hosterSelection?.contains("stape") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Streamtape Deutsch Sub" val video = try { StreamTapeExtractor(client).videoFromUrl(link, quality) @@ -399,7 +387,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("doodstream") && hosterSelection?.contains("dood") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Doodstreams Deutsch Sub" val video = try { DoodExtractor(client).videoFromUrl(link, quality) @@ -562,16 +549,11 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val hoster = it.substringAfter("\"hoster\":\"").substringBefore("\",\"") val linkpart = it.substringAfter("\"link\":\"").substringBefore("\"}]") val leaveurl = client.newCall(GET("$baseUrl/leave/$linkpart")).execute().request.url.toString() - if (leaveurl.contains(baseUrl)) { - val neexurl = client.newCall(GET(leaveurl)).execute().request.url.toString() - val neexdoc = client.newCall(GET(leaveurl)).execute().asJsoup() - val nextlink = neexdoc.select("div#continue a").attr("href") - val anipart = nextlink.substringAfter("$baseUrl/leave/") - Thread.sleep(10000) - client.newCall(GET(nextlink, headers = Headers.headersOf("referer", neexurl))).execute().asJsoup() + val decode = "https://www." + URLDecoder.decode(leaveurl.substringAfter("www."), "utf-8") + if (decode.contains(baseUrl)) { + val link = client.newCall(GET(decode)).execute().request.url.toString() when { hoster.contains("voesx") && hosterSelection?.contains("voe") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Voe Deutsch Dub" val video = try { VoeExtractor(client).videoFromUrl(link, quality) @@ -584,7 +566,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("streamtapecom") && hosterSelection?.contains("stape") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Streamtape Deutsch Dub" val video = try { StreamTapeExtractor(client).videoFromUrl(link, quality) @@ -597,7 +578,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("doodstream") && hosterSelection?.contains("dood") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Doodstream Deutsch Dub" val video = try { DoodExtractor(client).videoFromUrl(link, quality) @@ -698,16 +678,11 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val hoster = it.substringAfter("\"hoster\":\"").substringBefore("\",\"") val linkpart = it.substringAfter("\"link\":\"").substringBefore("\"}]") val leaveurl = client.newCall(GET("$baseUrl/leave/$linkpart")).execute().request.url.toString() - if (leaveurl.contains(baseUrl)) { - val neexurl = client.newCall(GET(leaveurl)).execute().request.url.toString() - val neexdoc = client.newCall(GET(leaveurl)).execute().asJsoup() - val nextlink = neexdoc.select("div#continue a").attr("href") - val anipart = nextlink.substringAfter("$baseUrl/leave/") - Thread.sleep(10000) - client.newCall(GET(nextlink, headers = Headers.headersOf("referer", neexurl))).execute().asJsoup() + val decode = "https://www." + URLDecoder.decode(leaveurl.substringAfter("www."), "utf-8") + if (decode.contains(baseUrl)) { + val link = client.newCall(GET(decode)).execute().request.url.toString() when { hoster.contains("voesx") && hosterSelection?.contains("voe") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Voe Deutsch Dub" val video = try { VoeExtractor(client).videoFromUrl(link, quality) @@ -720,7 +695,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("streamtapecom") && hosterSelection?.contains("stape") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Streamtape Deutsch Dub" val video = try { StreamTapeExtractor(client).videoFromUrl(link, quality) @@ -733,7 +707,6 @@ class AnimeLoads : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } hoster.contains("doodstream") && hosterSelection?.contains("dood") == true -> { - val link = client.newCall(GET("$baseUrl/leave/$anipart")).execute().request.url.toString() val quality = "Doodstream Deutsch Dub" val video = try { DoodExtractor(client).videoFromUrl(link, quality)