From f2fbf9c2f72e3ed5ff2150ed86d6e3cd41de1265 Mon Sep 17 00:00:00 2001 From: jack Date: Thu, 16 Nov 2023 18:05:39 +0700 Subject: [PATCH] fixed #378 --- SoraStream/build.gradle.kts | 2 +- .../src/main/kotlin/com/hexated/Extractors.kt | 5 +++++ .../main/kotlin/com/hexated/SoraExtractor.kt | 18 +++++------------- .../src/main/kotlin/com/hexated/SoraStream.kt | 5 ++--- .../main/kotlin/com/hexated/SoraStreamLite.kt | 1 - .../kotlin/com/hexated/SoraStreamPlugin.kt | 1 + 6 files changed, 14 insertions(+), 18 deletions(-) diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 2c04a670..3849e5a0 100644 --- a/SoraStream/build.gradle.kts +++ b/SoraStream/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.konan.properties.Properties // use an integer for version numbers -version = 193 +version = 194 android { defaultConfig { diff --git a/SoraStream/src/main/kotlin/com/hexated/Extractors.kt b/SoraStream/src/main/kotlin/com/hexated/Extractors.kt index eb9c1257..1d6a2494 100644 --- a/SoraStream/src/main/kotlin/com/hexated/Extractors.kt +++ b/SoraStream/src/main/kotlin/com/hexated/Extractors.kt @@ -359,6 +359,11 @@ class Streamwish : Filesim() { override var mainUrl = "https://streamwish.to" } +class Wishfast : Filesim() { + override val name = "Wishfast" + override var mainUrl = "https://wishfast.top" +} + class FilelionsTo : Filesim() { override val name = "Filelions" override var mainUrl = "https://filelions.to" diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 73bda4ff..8fc75df5 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -246,10 +246,6 @@ object SoraExtractor : SoraStream() { } else { "$multimoviesAPI/episodes/$fixTitle-${season}x${episode}" } - val req = app.get(url) - val directUrl = getBaseUrl(req.url) - val iframe = req.document.selectFirst("div.pframe iframe")?.attr("src") - loadCustomExtractor("Multimovies", iframe ?: return, "$directUrl/", subtitleCallback, callback) } suspend fun invokeNetmovies( @@ -1933,13 +1929,10 @@ object SoraExtractor : SoraStream() { "$twoEmbedAPI/embedtv/$imdbId&s=$season&e=$episode" } - val iframesrc = app.get(url).document.selectFirst("iframe#vsrcs")?.attr("data-src") ?: return - val ref = getBaseUrl(iframesrc) - val framesrc = app.get( - iframesrc - ).document.selectFirst("iframe#framesrc")?.attr("src") - - loadExtractor("https://embedwish.com/e/$framesrc", "$ref/", subtitleCallback, callback) + val framesrc = app.get(url).document.selectFirst("iframe#iframesrc")?.attr("data-src") ?: return + val ref = getBaseUrl(framesrc) + val id = framesrc.substringAfter("id=").substringBefore("&") + loadExtractor("https://wishfast.top/e/$id", "$ref/", subtitleCallback, callback) } @@ -2269,10 +2262,9 @@ object SoraExtractor : SoraStream() { suspend fun invokeRidomovies( tmdbId: Int? = null, imdbId: String? = null, - title: String? = null, callback: (ExtractorLink) -> Unit, ) { - val slug = app.get("$ridomoviesAPI/core/api/search?q=$title") + val slug = app.get("$ridomoviesAPI/core/api/search?q=$imdbId") .parsedSafe()?.data?.items?.find { it.contentable?.tmdbId == tmdbId || it.contentable?.imdbId == imdbId }?.slug ?: return diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index 92553934..03bf7436 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -106,7 +106,7 @@ open class SoraStream : TmdbProvider() { const val ridomoviesAPI = "https://ridomovies.pw" const val navyAPI = "https://navy-issue-i-239.site" const val emoviesAPI = "https://emovies.si" - const val multimoviesAPI = "https://multimovies.info" + const val multimoviesAPI = "https://multimovies.live" const val netmoviesAPI = "https://netmovies.to" const val momentAPI = "https://izzillent-dickstonyx-i-262.site" const val doomoviesAPI = "https://doomovies.net" @@ -119,7 +119,7 @@ open class SoraStream : TmdbProvider() { const val dotmoviesAPI = "https://dotmovies.yachts" const val blackvidAPI = "https://prod.api.blackvid.space" const val showflixAPI = "https://showflix.online" - const val dahmerMoviesAPI = "https://edytjedhgmdhm.abfhaqrhbnf.workers.dev" + const val dahmerMoviesAPI = "https://odd-bird-1319.zwuhygoaqe.workers.dev" fun getType(t: String?): TvType { return when (t) { @@ -577,7 +577,6 @@ open class SoraStream : TmdbProvider() { if (!res.isAnime && res.season == null) invokeRidomovies( res.id, res.imdbId, - res.title, callback ) }, diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt index aa88b62c..5a3cb447 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt @@ -218,7 +218,6 @@ class SoraStreamLite : SoraStream() { if (!res.isAnime && res.season == null) invokeRidomovies( res.id, res.imdbId, - res.title, callback ) }, diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt index d6d06b09..8ca15ddd 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt @@ -26,5 +26,6 @@ class SoraStreamPlugin: Plugin() { registerExtractorAPI(Streamwish()) registerExtractorAPI(FilelionsTo()) registerExtractorAPI(Embedwish()) + registerExtractorAPI(Wishfast()) } } \ No newline at end of file