Sflix fix

This commit is contained in:
Blatzar 2022-09-18 20:06:13 +02:00
parent 95c9aba1c2
commit 0dedfa35ea
2 changed files with 13 additions and 9 deletions

View File

@ -1,5 +1,5 @@
// use an integer for version numbers // use an integer for version numbers
version = 6 version = 7
cloudstream { cloudstream {

View File

@ -304,6 +304,7 @@ open class SflixProvider : MainAPI() {
data class SourceObjectEncrypted( data class SourceObjectEncrypted(
@JsonProperty("sources") val sources: String?, @JsonProperty("sources") val sources: String?,
@JsonProperty("encrypted") val encrypted: Boolean?,
@JsonProperty("sources_1") val sources1: String?, @JsonProperty("sources_1") val sources1: String?,
@JsonProperty("sources_2") val sources2: String?, @JsonProperty("sources_2") val sources2: String?,
@JsonProperty("sourcesBackup") val sourcesBackup: String?, @JsonProperty("sourcesBackup") val sourcesBackup: String?,
@ -779,16 +780,19 @@ open class SflixProvider : MainAPI() {
) )
) )
println("Sflix response: $response")
val sourceObject = if (response.text.contains("encrypted") && decryptKey != null) { val sourceObject = if (response.text.contains("encrypted") && decryptKey != null) {
val encryptedMap = response.parsedSafe<SourceObjectEncrypted>() val encryptedMap = response.parsedSafe<SourceObjectEncrypted>()
val sources = val sources = encryptedMap?.sources
encryptedMap?.sources ?: throw RuntimeException("NO SOURCES $encryptedMap") if (sources == null || encryptedMap.encrypted == false) {
response.parsedSafe()
val decrypted = decryptMapped<List<Sources>>(sources, decryptKey) } else {
SourceObject( val decrypted = decryptMapped<List<Sources>>(sources, decryptKey)
sources = decrypted, SourceObject(
tracks = encryptedMap.tracks sources = decrypted,
) tracks = encryptedMap.tracks
)
}
} else { } else {
response.parsedSafe() response.parsedSafe()
} ?: return@suspendSafeApiCall } ?: return@suspendSafeApiCall