Update AnimeKaiMegaUpExtractor.kt

This commit is contained in:
Arkai1 2025-04-13 21:14:05 +05:30 committed by GitHub
parent 3314fe7b98
commit 0dd5a45567
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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
)