forked from AlmightyHak/extensions-source
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:
parent
f0c3b4369f
commit
7a4e68215b
2 changed files with 6 additions and 5 deletions
|
@ -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_SOURCES = Regex("""sources:\s*\[\{"file":"([^"]+)""")
|
||||||
private val REGEX_FILE = Regex("""file: ?"([^"]+)"""")
|
private val REGEX_FILE = Regex("""file: ?"([^"]+)"""")
|
||||||
private val REGEX_SOURCE = Regex("""source = ?"([^"]+)"""")
|
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"
|
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> {
|
fun videoFromUrl(url: String, referer: String, prefix: String = "Chillx - "): List<Video> {
|
||||||
val newHeaders = headers.newBuilder()
|
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")
|
.set("Accept-Language", "en-US,en;q=0.5")
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
|
@ -50,13 +51,13 @@ class ChillxExtractor(private val client: OkHttpClient, private val headers: Hea
|
||||||
val subtitleList = buildList {
|
val subtitleList = buildList {
|
||||||
val subtitles = REGEX_SUBS.findAll(decryptedScript)
|
val subtitles = REGEX_SUBS.findAll(decryptedScript)
|
||||||
subtitles.forEach {
|
subtitles.forEach {
|
||||||
add(Track(it.groupValues[2], decodeUnicodeEscape(it.groupValues[1])))
|
add(Track(it.groupValues[1], decodeUnicodeEscape(it.groupValues[2])))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return playlistUtils.extractFromHls(
|
return playlistUtils.extractFromHls(
|
||||||
playlistUrl = masterUrl,
|
playlistUrl = masterUrl,
|
||||||
referer = referer,
|
referer = url,
|
||||||
videoNameGen = { "$prefix$it" },
|
videoNameGen = { "$prefix$it" },
|
||||||
subtitleList = subtitleList,
|
subtitleList = subtitleList,
|
||||||
)
|
)
|
||||||
|
|
|
@ -339,7 +339,7 @@ class Hikari : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
|
||||||
private fun getVideosFromEmbed(embedUrl: String, name: String): List<Video> = when {
|
private fun getVideosFromEmbed(embedUrl: String, name: String): List<Video> = when {
|
||||||
name.contains("vidhide", true) -> vidHideExtractor.videosFromUrl(embedUrl, videoNameGen = { s -> "$name - $s" })
|
name.contains("vidhide", true) -> vidHideExtractor.videosFromUrl(embedUrl, videoNameGen = { s -> "$name - $s" })
|
||||||
embedUrl.contains("filemoon", true) -> filemoonExtractor.videosFromUrl(embedUrl, prefix = "$name - ", headers = headers)
|
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])"
|
override fun videoListSelector() = ".server-item:has(a[onclick~=getEmbed])"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue