video headers and minor changes

This commit is contained in:
Josef František Straka 2025-04-09 19:40:58 +02:00
parent 3657c77c58
commit 824f7865a9

View file

@ -246,9 +246,9 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
val response = client.newCall(request).execute() val response = client.newCall(request).execute()
val responseString = response.body.string() val responseString = response.body.string()
val sourcesString = extractSourcesList(responseString) ?: return emptyList()
Log.i("AniPlay", "${extra.source} $language -> $sourcesString")
try { try {
val sourcesString = extractSourcesList(responseString) ?: throw Exception("extractSourcesList null")
Log.i("AniPlay", "${extra.source} $language -> $sourcesString")
return processEpisodeData( return processEpisodeData(
EpisodeData( EpisodeData(
source = extra.source, source = extra.source,
@ -262,14 +262,6 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
} }
} }
private fun getProxiedUrl(originalUrl: String, serverName: String, referer: String?): String {
return when (serverName) {
"Yuki" -> "$PROXY_URL/yukiprox?url=$originalUrl"
"Pahe" -> "$PROXY_URL/fetch?url=$originalUrl?ref=$referer"
else -> return originalUrl
}
}
private fun processEpisodeData(episodeData: EpisodeData): List<Video> { private fun processEpisodeData(episodeData: EpisodeData): List<Video> {
val defaultSource = episodeData.response.sources?.firstOrNull { val defaultSource = episodeData.response.sources?.firstOrNull {
it.quality in listOf("default", "auto") it.quality in listOf("default", "auto")
@ -292,26 +284,29 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
} }
try { try {
return when (serverName) { when (serverName) {
// yuki // yuki
PREF_SERVER_ENTRIES[1] -> { PREF_SERVER_ENTRIES[1] -> {
// proxy wont work due to aniplay using /m3u8-proxy for playlists and /ts-proxy for segments, not sure how to tell that to aniyomi val url = "https://yukiprox.aniplaynow.live/m3u8-proxy?url=${defaultSource.url}&headers={\"Referer\":\"https://megacloud.club/\"}"
// val url = "https://yukiprox.aniplaynow.live/m3u8-proxy?url=${defaultSource.url}&headers={\"Referer\":\"https://megacloud.club/\"}" return playlistUtils.extractFromHls(
playlistUrl = url,
//and using raw server is kinda cheap videoNameGen = { quality -> "$serverName - $quality - $typeName" },
// playlistUtils.extractFromHls( subtitleList = subtitles,
// playlistUrl = defaultSource.url, masterHeadersGen = { baseHeaders: Headers, _: String ->
// videoNameGen = { quality -> "$serverName - $quality - $typeName" }, baseHeaders.newBuilder().apply {
// subtitleList = subtitles, set("Accept", "*/*")
// masterHeadersGen = { baseHeaders: Headers, _: String -> set("Origin", baseUrl)
// baseHeaders.newBuilder().apply { set("Referer", "$baseUrl/")
// set("Accept", "*/*") }.build()
// set("Origin", "https://megacloud.club") },
// set("Referer", "https://megacloud.club/") videoHeadersGen = { baseHeaders: Headers, _, _: String ->
// }.build() baseHeaders.newBuilder().apply {
// }, set("Accept", "*/*")
// ) set("Origin", baseUrl)
emptyList() set("Referer", "$baseUrl/")
}.build()
},
)
} }
// pahe // pahe
PREF_SERVER_ENTRIES[2] -> { PREF_SERVER_ENTRIES[2] -> {
@ -321,10 +316,10 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
set("Origin", baseUrl) set("Origin", baseUrl)
set("Referer", "$baseUrl/") set("Referer", "$baseUrl/")
}.build() }.build()
listOf(Video(url, "$serverName - Video - $typeName", url, headers, subtitles, listOf())) return listOf(Video(url, "$serverName - Video - $typeName", url, headers, subtitles, listOf()))
} }
else -> { else -> {
emptyList() throw Exception("Unknown serverName: $serverName (${episodeData.source})")
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
@ -598,8 +593,6 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource {
private const val NEXT_ACTION_EPISODE_LIST = "NEXT_ACTION_EPISODE_LIST" private const val NEXT_ACTION_EPISODE_LIST = "NEXT_ACTION_EPISODE_LIST"
private const val NEXT_ACTION_SOURCES_LIST = "NEXT_ACTION_SOURCES_LIST" private const val NEXT_ACTION_SOURCES_LIST = "NEXT_ACTION_SOURCES_LIST"
private const val PROXY_URL = "https://prox.aniplaynow.live"
private const val HEADERS_TIMEOUT_MINUTES = 60 private const val HEADERS_TIMEOUT_MINUTES = 60
private val DATE_FORMATTER = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) private val DATE_FORMATTER = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH)