mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
sora: fix extractors
This commit is contained in:
parent
4aa062b89f
commit
8f84b3a05d
3 changed files with 24 additions and 13 deletions
|
@ -1,7 +1,7 @@
|
|||
import org.jetbrains.kotlin.konan.properties.Properties
|
||||
|
||||
// use an integer for version numbers
|
||||
version = 205
|
||||
version = 206
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
|
|
|
@ -323,18 +323,26 @@ open class Netembed : ExtractorApi() {
|
|||
) {
|
||||
val response = app.get(url, referer = referer)
|
||||
val script = getAndUnpack(response.text)
|
||||
val m3u8 = Regex("((https:|http:)//.*\\.m3u8)").find(script)?.groupValues?.getOrNull(1)
|
||||
val m3u8 = Regex("((https:|http:)//.*\\.m3u8)").find(script)?.groupValues?.getOrNull(1) ?: return
|
||||
|
||||
callback.invoke(
|
||||
ExtractorLink(
|
||||
this.name,
|
||||
this.name,
|
||||
m3u8 ?: return,
|
||||
"$mainUrl/",
|
||||
getQuality(m3u8),
|
||||
INFER_TYPE
|
||||
if(m3u8.startsWith("https://www.febbox.com")) {
|
||||
callback.invoke(
|
||||
ExtractorLink(
|
||||
this.name,
|
||||
this.name,
|
||||
m3u8,
|
||||
"$mainUrl/",
|
||||
getQuality(m3u8),
|
||||
INFER_TYPE
|
||||
)
|
||||
)
|
||||
)
|
||||
} else {
|
||||
M3u8Helper.generateM3u8(
|
||||
this.name,
|
||||
m3u8,
|
||||
"$mainUrl/",
|
||||
).forEach(callback)
|
||||
}
|
||||
}
|
||||
|
||||
private suspend fun getQuality(url: String) : Int {
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.lagradost.nicehttp.RequestBodyTypes
|
|||
import kotlinx.coroutines.delay
|
||||
import okhttp3.MediaType.Companion.toMediaTypeOrNull
|
||||
import okhttp3.RequestBody.Companion.toRequestBody
|
||||
import okhttp3.internal.closeQuietly
|
||||
import org.jsoup.Jsoup
|
||||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.select.Elements
|
||||
|
@ -2093,6 +2094,7 @@ object SoraExtractor : SoraStream() {
|
|||
.substringBefore("-")
|
||||
}
|
||||
val res = app.get(fixUrl(iframe, api), verify = false)
|
||||
delay(1000)
|
||||
val serverUrl = res.document.selectFirst("script:containsData(pushState)")?.data()?.let {
|
||||
""",\s*'([^']+)""".toRegex().find(it)?.groupValues?.get(1)
|
||||
} ?: return
|
||||
|
@ -2147,8 +2149,9 @@ object SoraExtractor : SoraStream() {
|
|||
"$blackvidAPI/v3/tv/sources/$tmdbId/$season/$episode?key=$key"
|
||||
}
|
||||
|
||||
val res = request(url).peekBody(1024 * 512)
|
||||
val data = res.source().buffer.readByteArray().decrypt("2378f8e4e844f2dc839ab48f66e00acc2305a401")
|
||||
val res = request(url).body
|
||||
val bytes = res.bytes().also { res.closeQuietly() }
|
||||
val data = bytes.decrypt("2378f8e4e844f2dc839ab48f66e00acc2305a401")
|
||||
val json = tryParseJson<BlackvidResponses>(data)
|
||||
|
||||
json?.sources?.map { source ->
|
||||
|
|
Loading…
Reference in a new issue