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(