Hikari fix (#291)

* Fix(lib/ChillxExtractor): update Referer

* refactor

* refactor

* Fix(lib/ChillxExtractor): fix REGEX_SUBS

* Fix(lib/ChillxExtractor): fix REGEX_SUBS

* Fix(lib/ChillxExtractor): fix REGEX_SUBS
This commit is contained in:
Dark25 2024-10-07 00:29:18 +02:00 committed by GitHub
parent f0c3b4369f
commit 7a4e68215b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 5 deletions

View file

@ -23,13 +23,14 @@ class ChillxExtractor(private val client: OkHttpClient, private val headers: Hea
private val REGEX_SOURCES = Regex("""sources:\s*\[\{"file":"([^"]+)""")
private val REGEX_FILE = Regex("""file: ?"([^"]+)"""")
private val REGEX_SOURCE = Regex("""source = ?"([^"]+)"""")
private val REGEX_SUBS = Regex("""\[(.*?)\](https?://[^\s,]+)""")
private val REGEX_SUBS = Regex("""\{"file":"([^"]+)","label":"([^"]+)","kind":"captions","default":\w+\}""")
private const val KEY_SOURCE = "https://raw.githubusercontent.com/Rowdy-Avocado/multi-keys/keys/index.html"
}
fun videoFromUrl(url: String, referer: String, prefix: String = "Chillx - "): List<Video> {
val newHeaders = headers.newBuilder()
.set("Referer", referer)
.set("Referer", "$referer/")
.set("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8")
.set("Accept-Language", "en-US,en;q=0.5")
.build()
@ -50,13 +51,13 @@ class ChillxExtractor(private val client: OkHttpClient, private val headers: Hea
val subtitleList = buildList {
val subtitles = REGEX_SUBS.findAll(decryptedScript)
subtitles.forEach {
add(Track(it.groupValues[2], decodeUnicodeEscape(it.groupValues[1])))
add(Track(it.groupValues[1], decodeUnicodeEscape(it.groupValues[2])))
}
}
return playlistUtils.extractFromHls(
playlistUrl = masterUrl,
referer = referer,
referer = url,
videoNameGen = { "$prefix$it" },
subtitleList = subtitleList,
)

View file

@ -339,7 +339,7 @@ class Hikari : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
private fun getVideosFromEmbed(embedUrl: String, name: String): List<Video> = when {
name.contains("vidhide", true) -> vidHideExtractor.videosFromUrl(embedUrl, videoNameGen = { s -> "$name - $s" })
embedUrl.contains("filemoon", true) -> filemoonExtractor.videosFromUrl(embedUrl, prefix = "$name - ", headers = headers)
else -> chillxExtractor.videoFromUrl(embedUrl, referer = "https://playerx.stream/", prefix = "$name - ")
else -> chillxExtractor.videoFromUrl(embedUrl, referer = baseUrl, prefix = "$name - ")
}
override fun videoListSelector() = ".server-item:has(a[onclick~=getEmbed])"