sora: small fix

This commit is contained in:
hexated 2023-06-05 12:36:46 +07:00
parent af36ee6e71
commit aa4f49a5e7
3 changed files with 48 additions and 0 deletions

View file

@ -2870,6 +2870,35 @@ object SoraExtractor : SoraStream() {
} }
suspend fun invokeUpcloud(
imdbId: String? = null,
season: Int? = null,
episode: Int? = null,
callback: (ExtractorLink) -> Unit
) {
val apiUrl = base64DecodeAPI("dWI=Y2w=cC4=bXU=ZWE=LWI=Ynk=YmE=bS4=ZWE=dHI=ZXM=aW4=LWM=NDA=MDg=NjE=YmQ=Y2I=MmU=Ly8=czo=dHA=aHQ=")
val url = if (season == null) {
"$apiUrl/stream/movie/$imdbId.json"
} else {
"$apiUrl/stream/series/$imdbId:$season:$episode.json"
}
app.get(url).parsedSafe<CryMoviesResponse>()?.streams?.map { stream ->
callback.invoke(
ExtractorLink(
"Upcloud",
"Upcloud",
stream.url ?: return@map,
"",
stream.description?.toIntOrNull() ?: Qualities.Unknown.value,
headers = stream.behaviorHints?.proxyHeaders?.request ?: mapOf(),
isM3u8 = true
)
)
}
}
suspend fun invokeNowTv( suspend fun invokeNowTv(
tmdbId: Int? = null, tmdbId: Int? = null,
callback: (ExtractorLink) -> Unit callback: (ExtractorLink) -> Unit
@ -3219,6 +3248,7 @@ data class CryMoviesBehaviorHints(
data class CryMoviesStream( data class CryMoviesStream(
@JsonProperty("title") val title: String? = null, @JsonProperty("title") val title: String? = null,
@JsonProperty("url") val url: String? = null, @JsonProperty("url") val url: String? = null,
@JsonProperty("description") val description: String? = null,
@JsonProperty("behaviorHints") val behaviorHints: CryMoviesBehaviorHints? = null, @JsonProperty("behaviorHints") val behaviorHints: CryMoviesBehaviorHints? = null,
) )

View file

@ -50,6 +50,7 @@ import com.hexated.SoraExtractor.invokeSmashyStream
import com.hexated.SoraExtractor.invokeSoraStream import com.hexated.SoraExtractor.invokeSoraStream
import com.hexated.SoraExtractor.invokeTvMovies import com.hexated.SoraExtractor.invokeTvMovies
import com.hexated.SoraExtractor.invokeUhdmovies import com.hexated.SoraExtractor.invokeUhdmovies
import com.hexated.SoraExtractor.invokeUpcloud
import com.hexated.SoraExtractor.invokeVitoenMovies import com.hexated.SoraExtractor.invokeVitoenMovies
import com.hexated.SoraExtractor.invokeWatchOnline import com.hexated.SoraExtractor.invokeWatchOnline
import com.hexated.SoraExtractor.invokeWatchsomuch import com.hexated.SoraExtractor.invokeWatchsomuch
@ -565,6 +566,14 @@ open class SoraStream : TmdbProvider() {
callback callback
) )
}, },
{
invokeUpcloud(
res.imdbId,
res.season,
res.episode,
callback
)
},
{ {
invokePutlocker(res.title, res.year, res.season, res.episode, callback) invokePutlocker(res.title, res.year, res.season, res.episode, callback)
}, },

View file

@ -25,6 +25,7 @@ import com.hexated.SoraExtractor.invokeSeries9
import com.hexated.SoraExtractor.invokeSmashyStream import com.hexated.SoraExtractor.invokeSmashyStream
import com.hexated.SoraExtractor.invokeSoraStream import com.hexated.SoraExtractor.invokeSoraStream
import com.hexated.SoraExtractor.invokeTwoEmbed import com.hexated.SoraExtractor.invokeTwoEmbed
import com.hexated.SoraExtractor.invokeUpcloud
import com.hexated.SoraExtractor.invokeVidSrc import com.hexated.SoraExtractor.invokeVidSrc
import com.hexated.SoraExtractor.invokeWatchOnline import com.hexated.SoraExtractor.invokeWatchOnline
import com.hexated.SoraExtractor.invokeWatchsomuch import com.hexated.SoraExtractor.invokeWatchsomuch
@ -196,6 +197,14 @@ class SoraStreamLite : SoraStream() {
callback callback
) )
}, },
{
invokeUpcloud(
res.imdbId,
res.season,
res.episode,
callback
)
},
{ {
invokeXmovies( invokeXmovies(
res.title, res.title,