diff --git a/src/es/animefenix/build.gradle b/src/es/animefenix/build.gradle index 929d7cb3d..d8f35be70 100644 --- a/src/es/animefenix/build.gradle +++ b/src/es/animefenix/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Animefenix' pkgNameSuffix = 'es.animefenix' extClass = '.Animefenix' - extVersionCode = 5 + extVersionCode = 6 libVersion = '13' } diff --git a/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt b/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt index eae8a4bd4..f1a96120d 100644 --- a/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt +++ b/src/es/animefenix/src/eu/kanade/tachiyomi/animeextension/es/animefenix/Animefenix.kt @@ -6,6 +6,7 @@ import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animeextension.es.animefenix.extractors.FembedExtractor import eu.kanade.tachiyomi.animeextension.es.animefenix.extractors.OkruExtractor +import eu.kanade.tachiyomi.animeextension.es.animefenix.extractors.StreamSBExtractor import eu.kanade.tachiyomi.animeextension.es.animefenix.extractors.StreamTapeExtractor import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilter @@ -23,6 +24,7 @@ import org.jsoup.nodes.Document import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get +import java.io.IOException import java.net.URLDecoder class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -90,18 +92,15 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() { when { realUrl.contains("ok.ru") -> { - val video = OkruExtractor(client).videosFromUrl(realUrl) - videoList.addAll(video) + OkruExtractor(client).videosFromUrl(realUrl).map { videoList.add(it) } } realUrl.contains("fembed") -> { - val video = FembedExtractor().videosFromUrl(realUrl) - videoList.addAll(video) + FembedExtractor().videosFromUrl(realUrl).map { videoList.add(it) } } realUrl.contains("/stream/amz.php?") -> { val video = amazonExtractor(baseUrl + realUrl.substringAfter("..")) if (video.isNotBlank()) { if (realUrl.contains("&ext=es")) { - videoList.add(Video(video, "Amazon ES", video)) } else { videoList.add(Video(video, "Amazon", video)) @@ -117,14 +116,26 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } } realUrl.contains("streamtape") -> { - val video = StreamTapeExtractor(client).videoFromUrl(realUrl, "Streamtape") + val video = StreamTapeExtractor(client).videoFromUrl(realUrl, "StreamTape") if (video != null) { videoList.add(video) } } + realUrl.contains("sbthe") -> { + val headers = headers.newBuilder() + .set("referer", realUrl) + .set( + "User-Agent", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36" + ) + .set("Accept-Language", "es-MX,es-419;q=0.9,es;q=0.8,en;q=0.7") + .set("watchsb", "streamsb") + .set("authority", "embedsb.com") + .build() + StreamSBExtractor(client).videosFromUrl(realUrl, headers).map { videoList.add(it) } + } } } - return videoList } @@ -134,6 +145,27 @@ class Animefenix : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoFromElement(element: Element) = throw Exception("not used") + override fun List