This commit is contained in:
jack 2023-11-30 17:38:33 +07:00
parent 19b32029e6
commit be6b026fe0
2 changed files with 38 additions and 32 deletions

View File

@ -1,7 +1,7 @@
import org.jetbrains.kotlin.konan.properties.Properties import org.jetbrains.kotlin.konan.properties.Properties
// use an integer for version numbers // use an integer for version numbers
version = 197 version = 198
android { android {
defaultConfig { defaultConfig {

View File

@ -451,7 +451,7 @@ object SoraExtractor : SoraStream() {
sourcesData?.get("movie")?.get("movie") sourcesData?.get("movie")?.get("movie")
} else { } else {
sourcesData?.get("s$seasonSlug")?.get("e$episodeSlug") sourcesData?.get("s$seasonSlug")?.get("e$episodeSlug")
} } ?: return
val subSources = if (season == null) { val subSources = if (season == null) {
subSourcesData?.get("movie")?.get("movie") subSourcesData?.get("movie")?.get("movie")
} else { } else {
@ -464,39 +464,45 @@ object SoraExtractor : SoraStream() {
Regex("var\\suserNonce.*?[\"|'](\\S+?)[\"|'];").find(scriptUser)?.groupValues?.get(1) Regex("var\\suserNonce.*?[\"|'](\\S+?)[\"|'];").find(scriptUser)?.groupValues?.get(1)
val userId = val userId =
Regex("var\\suser_id.*?[\"|'](\\S+?)[\"|'];").find(scriptUser)?.groupValues?.get(1) Regex("var\\suser_id.*?[\"|'](\\S+?)[\"|'];").find(scriptUser)?.groupValues?.get(1)
val linkIDs = sources?.joinToString("") {
"&linkIDs%5B%5D=$it"
}?.replace("\"", "")
val json = app.post( val listSources = sources.withIndex()
"$filmxyAPI/wp-admin/admin-ajax.php", .groupBy { it.index / 2 }
requestBody = "action=get_vid_links$linkIDs&user_id=$userId&nonce=$userNonce".toRequestBody(), .map { entry -> entry.value.map { it.value } }
referer = url,
headers = mapOf(
"Accept" to "*/*",
"DNT" to "1",
"Content-Type" to "application/x-www-form-urlencoded; charset=UTF-8",
"Origin" to filmxyAPI,
"X-Requested-With" to "XMLHttpRequest",
),
cookies = filmxyCookies
).text.let { tryParseJson<HashMap<String, String>>(it) }
sources?.map { source -> listSources.apmap { src ->
val link = json?.get(source) val linkIDs = src.joinToString("") {
val quality = sourcesDetail?.get(source)?.get("resolution") "&linkIDs%5B%5D=$it"
val server = sourcesDetail?.get(source)?.get("server") }.replace("\"", "")
val size = sourcesDetail?.get(source)?.get("size") val json = app.post(
"$filmxyAPI/wp-admin/admin-ajax.php",
requestBody = "action=get_vid_links$linkIDs&user_id=$userId&nonce=$userNonce".toRequestBody(),
referer = url,
headers = mapOf(
"Accept" to "*/*",
"DNT" to "1",
"Content-Type" to "application/x-www-form-urlencoded; charset=UTF-8",
"Origin" to filmxyAPI,
"X-Requested-With" to "XMLHttpRequest",
),
cookies = filmxyCookies
).text.let { tryParseJson<HashMap<String, String>>(it) }
callback.invoke( src.map { source ->
ExtractorLink( val link = json?.get(source)
"Filmxy", val quality = sourcesDetail?.get(source)?.get("resolution")
"Filmxy $server [$size]", val server = sourcesDetail?.get(source)?.get("server")
link ?: return@map, val size = sourcesDetail?.get(source)?.get("size")
"$filmxyAPI/",
getQualityFromName(quality) callback.invoke(
ExtractorLink(
"Filmxy",
"Filmxy $server [$size]",
link ?: return@map,
"$filmxyAPI/",
getQualityFromName(quality)
)
) )
) }
} }
subSources?.mapKeys { sub -> subSources?.mapKeys { sub ->
@ -2463,7 +2469,7 @@ object SoraExtractor : SoraStream() {
ExtractorLink( ExtractorLink(
"SFMovies", "SFMovies",
"SFMovies", "SFMovies",
fixUrl(video, base64DecodeAPI("aQ==YXA=dGE=ZGE=c3Q=cmU=dC8=bmU=cy4=b3c=bmQ=d2k=ZS4=b3I=LmM=b2I=Ymw=aS4=YXA=dGE=ZGE=c3Q=cmU=Ly8=czo=dHA=aHQ=")), fixUrl(video, base64DecodeAPI("cw==bmU=Ym8=Y2s=YmE=dC8=bmU=cy4=b3c=bmQ=d2k=ZS4=b3I=LmM=b2I=Ymw=cy4=bmU=Ym8=Y2s=YmE=Ly8=czo=dHA=aHQ=")),
"", "",
Qualities.P1080.value, Qualities.P1080.value,
INFER_TYPE INFER_TYPE