Update AnimeKaiMegaUpExtractor.kt
This commit is contained in:
parent
3314fe7b98
commit
0dd5a45567
1 changed files with 28 additions and 2 deletions
|
@ -2,7 +2,9 @@ package eu.kanade.tachiyomi.animeextension.en.animekai.extractors
|
|||
|
||||
import eu.kanade.tachiyomi.animeextension.en.animekai.AnimekaiDecoder
|
||||
import eu.kanade.tachiyomi.source.model.Video
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.json.Json
|
||||
import okhttp3.Headers
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.Jsoup
|
||||
|
@ -12,10 +14,11 @@ class AnimeKaiMegaUpExtractor {
|
|||
private val client: OkHttpClient by injectLazy()
|
||||
|
||||
fun getVideoList(url: String): List<Video> {
|
||||
// Adjust media URL dynamically for both animekai.to and animekai.bz
|
||||
val mediaUrl = url.replace("/e/", "/media/").replace("/e2/", "/media/")
|
||||
|
||||
val encodedResult = runCatching {
|
||||
val response = client.newCall(GET(mediaUrl)).execute().body?.string()
|
||||
val response = client.newCall(GET(mediaUrl)).execute().body?.string() ?: return emptyList()
|
||||
Jsoup.parse(response).selectFirst("body")?.text()?.let { json ->
|
||||
json.substringAfter("\"result\":\"").substringBefore("\",\"status\"")
|
||||
}
|
||||
|
@ -55,6 +58,13 @@ class AnimeKaiMegaUpExtractor {
|
|||
"https://raw.githubusercontent.com/amarullz/kaicodex/refs/heads/main/generated/kai_codex.json"
|
||||
|
||||
private fun get(url: String): Request {
|
||||
// Adjust headers dynamically for animekai.to and animekai.bz
|
||||
val referer = if (url.contains("animekai.to")) {
|
||||
"https://animekai.to/"
|
||||
} else {
|
||||
"https://animekai.bz/"
|
||||
}
|
||||
|
||||
return Request.Builder()
|
||||
.url(url)
|
||||
.headers(
|
||||
|
@ -64,10 +74,26 @@ class AnimeKaiMegaUpExtractor {
|
|||
"Accept",
|
||||
"application/json",
|
||||
"Referer",
|
||||
"https://animekai.to/",
|
||||
referer,
|
||||
),
|
||||
)
|
||||
.build()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Serializable
|
||||
data class M3U8(
|
||||
val sources: List<M3U8Source>
|
||||
)
|
||||
|
||||
@Serializable
|
||||
data class M3U8Source(
|
||||
val file: String
|
||||
)
|
||||
|
||||
data class Video(
|
||||
val url: String,
|
||||
val quality: String,
|
||||
val videoUrl: String
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue