From 414d672109122ba34353872969593d06a58346b0 Mon Sep 17 00:00:00 2001 From: hexated Date: Fri, 1 Sep 2023 15:45:31 +0700 Subject: [PATCH] sora: fix Jeniusplay --- IdlixProvider/build.gradle.kts | 2 +- IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt | 6 +++--- SoraStream/build.gradle.kts | 2 +- SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt | 5 +++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/IdlixProvider/build.gradle.kts b/IdlixProvider/build.gradle.kts index 44b7432e..13421dec 100644 --- a/IdlixProvider/build.gradle.kts +++ b/IdlixProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 13 +version = 14 cloudstream { diff --git a/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt b/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt index 7c8e37de..2763d98b 100644 --- a/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt +++ b/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt @@ -7,8 +7,6 @@ import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer import com.lagradost.cloudstream3.mvvm.safeApiCall import com.lagradost.cloudstream3.utils.* import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson -import com.lagradost.nicehttp.Requests -import com.lagradost.nicehttp.Session import org.jsoup.nodes.Element import java.net.URI @@ -26,6 +24,8 @@ class IdlixProvider : MainAPI() { TvType.AsianDrama ) + private val key = "\\x5a\\x6d\\x5a\\x6c\\x4e\\x7a\\x55\\x79\\x4d\\x54\\x56\\x6a\\x5a\\x47\\x52\\x69\\x5a\\x44\\x55\\x30\\x5a\\x6d\\x59\\x35\\x4f\\x57\\x45\\x33\\x4d\\x44\\x4a\\x69\\x4e\\x32\\x4a\\x6c\\x4f\\x54\\x42\\x6c\\x4e\\x7a\\x49\\x3d" + override val mainPage = mainPageOf( "$mainUrl/" to "Featured", "$mainUrl/trending/page/?get=movies" to "Trending Movies", @@ -206,7 +206,7 @@ class IdlixProvider : MainAPI() { ), headers = mapOf("X-Requested-With" to "XMLHttpRequest"), referer = data ).let { tryParseJson(it.text) } ?: return@safeApiCall - var decrypted = AesHelper.cryptoAESHandler(source.embed_url,source.key.toByteArray(), false)?.fixBloat() ?: return@safeApiCall + var decrypted = AesHelper.cryptoAESHandler(source.embed_url,key.toByteArray(), false)?.fixBloat() ?: return@safeApiCall if (decrypted.startsWith("https://uservideo.xyz")) { decrypted = app.get(decrypted).document.select("iframe").attr("src") diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 2e8ec58f..a6a8ce22 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 = 162 +version = 163 android { defaultConfig { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index a99f48b3..5efdec40 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -415,7 +415,7 @@ object SoraExtractor : SoraStream() { } else { "$idlixAPI/episode/$fixTitle-season-$season-episode-$episode" } - invokeWpmovies(url, subtitleCallback, callback, encrypt = true) + invokeWpmovies(url, subtitleCallback, callback, encrypt = true, key = "\\x5a\\x6d\\x5a\\x6c\\x4e\\x7a\\x55\\x79\\x4d\\x54\\x56\\x6a\\x5a\\x47\\x52\\x69\\x5a\\x44\\x55\\x30\\x5a\\x6d\\x59\\x35\\x4f\\x57\\x45\\x33\\x4d\\x44\\x4a\\x69\\x4e\\x32\\x4a\\x6c\\x4f\\x54\\x42\\x6c\\x4e\\x7a\\x49\\x3d") } suspend fun invokeMultimovies( @@ -457,6 +457,7 @@ object SoraExtractor : SoraStream() { callback: (ExtractorLink) -> Unit, fixIframe: Boolean = false, encrypt: Boolean = false, + key: String? = null, ) { fun String.fixBloat() : String { return this.replace("\"", "").replace("\\", "") @@ -479,7 +480,7 @@ object SoraExtractor : SoraStream() { ) val source = tryParseJson(json.text)?.let { when { - encrypt -> cryptoAESHandler(it.embed_url,it.key.toByteArray(), false)?.fixBloat() + encrypt -> cryptoAESHandler(it.embed_url,(key ?: return@apmap).toByteArray(), false)?.fixBloat() fixIframe -> Jsoup.parse(it.embed_url).select("IFRAME").attr("SRC") else -> it.embed_url }