diff --git a/Kickassanime/build.gradle.kts b/Kickassanime/build.gradle.kts index fa7088c5..562899be 100644 --- a/Kickassanime/build.gradle.kts +++ b/Kickassanime/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 9 +version = 10 cloudstream { diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 239303ee..6bddc4bd 100644 --- a/SoraStream/build.gradle.kts +++ b/SoraStream/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 86 +version = 87 cloudstream { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 0a7ba395..d71007b8 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -2141,6 +2141,26 @@ object SoraExtractor : SoraStream() { ) } + suspend fun invokeXtrememovies( + apiUrl: String, + api: String, + title: String? = null, + year: Int? = null, + season: Int? = null, + episode: Int? = null, + callback: (ExtractorLink) -> Unit, + ) { + invokeIndex( + apiUrl, + api, + title, + year, + season, + episode, + callback, + ) + } + suspend fun invokeRinzrymovies( apiUrl: String, api: String, @@ -2216,21 +2236,22 @@ object SoraExtractor : SoraStream() { password: String? = null, ) { val encodedIndex = arrayOf( - "Gammovies", + "GamMovies", "JSMovies", - "Blackmovies", + "BlackMovies", "CodexMovies", - "Rinzrymovies", - "Edithxmovies", + "RinzryMovies", + "EdithxMovies", + "XtremeMovies", ) val lockedIndex = arrayOf( "CodexMovies", - "Edithxmovies", + "EdithxMovies", ) val premiumIndex = arrayOf( - "Edithxmovies" + "EdithxMovies" ) val passHeaders = mapOf( @@ -2290,7 +2311,7 @@ object SoraExtractor : SoraStream() { } else { app.post("${apiUrl}id2path", requestBody = pathBody) }).text.let { path -> - if (api == "Rinzrymovies") { + if (api == "RinzryMovies") { val worker = app.get( "${fixUrl(path, apiUrl)}?a=view" ).document.selectFirst("script:containsData(downloaddomain)")?.data() diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index afb3c137..7080dc03 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -42,6 +42,7 @@ import com.hexated.SoraExtractor.invokeSoraStream import com.hexated.SoraExtractor.invokeTvMovies import com.hexated.SoraExtractor.invokeUhdmovies import com.hexated.SoraExtractor.invokeWatchsomuch +import com.hexated.SoraExtractor.invokeXtrememovies import com.lagradost.cloudstream3.utils.AppUtils.parseJson import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.ExtractorLink @@ -116,6 +117,7 @@ open class SoraStream : TmdbProvider() { const val rinzryMoviesAPI = "https://rinzry.stream/0:" const val codexMoviesAPI = "https://packs.codexcloudx.tech/0:" const val edithxMoviesAPI = "https://index.edithx.ga/0:" + const val xtremeMoviesAPI = "https://kartik19.xtrememirror0.workers.dev/0:" fun getType(t: String?): TvType { return when (t) { @@ -588,7 +590,7 @@ open class SoraStream : TmdbProvider() { // { // if (!res.isAnime) invokeGammovies( // gamMoviesAPI, -// "Gammovies", +// "GamMovies", // res.title, // res.year, // res.season, @@ -607,7 +609,7 @@ open class SoraStream : TmdbProvider() { { if (!res.isAnime) invokeBlackmovies( blackMoviesAPI, - "Blackmovies", + "BlackMovies", res.title, res.year, res.season, @@ -629,7 +631,7 @@ open class SoraStream : TmdbProvider() { { invokeRinzrymovies( rinzryMoviesAPI, - "Rinzrymovies", + "RinzryMovies", res.title, res.year, res.season, @@ -652,7 +654,7 @@ open class SoraStream : TmdbProvider() { { if (!res.isAnime) invokeEdithxmovies( edithxMoviesAPI, - "Edithxmovies", + "EdithxMovies", res.title, res.year, res.season, @@ -660,7 +662,18 @@ open class SoraStream : TmdbProvider() { callback, "Basic ZWRpdGg6amFydmlz" ) - } + }, + { + if (!res.isAnime) invokeXtrememovies( + xtremeMoviesAPI, + "XtremeMovies", + res.title, + res.year, + res.season, + res.episode, + callback + ) + }, ) return true