From b8929bbae73c0f00af53a7bdf7b038a554cbc707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josef=20Franti=C5=A1ek=20Straka?= Date: Thu, 6 Feb 2025 19:13:37 +0100 Subject: [PATCH] fix(en/aniplay): implemented proxy mechanic --- .../tachiyomi/animeextension/en/aniplay/AniPlay.kt | 12 ++++++++++++ .../animeextension/en/aniplay/AniPlayDto.kt | 1 + 2 files changed, 13 insertions(+) diff --git a/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlay.kt b/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlay.kt index 078d8583..cb2d4c69 100644 --- a/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlay.kt +++ b/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlay.kt @@ -282,6 +282,17 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource { } try { + if (episodeData.response.proxy == true) { + var proxyUrl = "$PROXY_URL/fetch?url=${defaultSource.url}" + if (episodeData.response.headers != null && episodeData.response.headers.Referer?.startsWith("https://") == true) { + proxyUrl += "&ref=${episodeData.response.headers.Referer}" + } + return playlistUtils.extractFromHls( + playlistUrl = proxyUrl, + videoNameGen = { quality -> "$serverName - $quality - $typeName" }, + subtitleList = subtitles, + ) + } if (episodeData.response.headers != null && episodeData.response.headers.Referer?.startsWith("https://") == true) { return playlistUtils.extractFromHls( playlistUrl = defaultSource.url, @@ -525,6 +536,7 @@ class AniPlay : AniListAnimeHttpSource(), ConfigurableAnimeSource { "NEXT_ACTION_SOURCES_LIST" to "8a76af451978c817dde2364326a5e4e45eb43db1", ), ) + private const val PROXY_URL = "https://aniplay-cors.yqizw7.easypanel.host" private val DATE_FORMATTER = SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) } diff --git a/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlayDto.kt b/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlayDto.kt index e75eb504..4f909466 100644 --- a/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlayDto.kt +++ b/src/en/aniplay/src/eu/kanade/tachiyomi/animeextension/en/aniplay/AniPlayDto.kt @@ -37,6 +37,7 @@ data class VideoSourceResponse( val outro: Timestamp?, val subtitles: List?, val headers: Headers?, + val proxy: Boolean?, ) { @Serializable data class Source(