streamo upload extractor fix

This commit is contained in:
Thorodinson1 2023-07-15 18:41:51 +05:30
parent 91d2d4dc47
commit efaaf044f7

View file

@ -21,17 +21,26 @@ open class StreamoUpload : ExtractorApi() {
override suspend fun getUrl(url: String, referer: String?): List<ExtractorLink> { override suspend fun getUrl(url: String, referer: String?): List<ExtractorLink> {
val sources = mutableListOf<ExtractorLink>() val sources = mutableListOf<ExtractorLink>()
app.get(url, referer = referer).document.select("script").map { script -> val response = app.get(url, referer = referer)
val scriptElements = response.document.select("script")
for (script in scriptElements) {
if (script.data().contains("eval(function(p,a,c,k,e,d)")) { if (script.data().contains("eval(function(p,a,c,k,e,d)")) {
val data = val data = getAndUnpack(script.data())
getAndUnpack(script.data()).substringAfter("sources: [") .substringAfter("sources: [")
.substringBefore("],").replace("file", "\"file\"").trim() .substringBefore("],")
tryParseJson<File>(data)?.let { .replace("file", "\"file\"")
M3u8Helper.generateM3u8( .trim()
name,
it.file, tryParseJson<List<File>>(data)?.let { fileList ->
"$mainUrl/", for (fileData in fileList) {
).forEach { m3uData -> sources.add(m3uData) } M3u8Helper.generateM3u8(
name,
fileData.file,
"$mainUrl/"
).forEach { m3uData ->
sources.add(m3uData)
}
}
} }
} }
} }
@ -39,6 +48,6 @@ open class StreamoUpload : ExtractorApi() {
} }
private data class File( private data class File(
@JsonProperty("file") val file: String, @JsonProperty("file") val file: String
) )
} }