diff --git a/src/en/nineanime/build.gradle b/src/en/nineanime/build.gradle index 933a0d983..59c1ca96f 100644 --- a/src/en/nineanime/build.gradle +++ b/src/en/nineanime/build.gradle @@ -6,7 +6,7 @@ ext { extName = '9anime' pkgNameSuffix = 'en.nineanime' extClass = '.NineAnime' - extVersionCode = 36 + extVersionCode = 37 libVersion = '13' } diff --git a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt index b2e769078..cb9ad984b 100644 --- a/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt +++ b/src/en/nineanime/src/eu/kanade/tachiyomi/animeextension/en/nineanime/NineAnime.kt @@ -105,7 +105,9 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { throw Exception("Not used") private fun searchAnimeRequest(page: Int, query: String, filters: NineAnimeFilters.FilterSearchParams): Request { - val vrf = if (query.isNotBlank()) vrfInterceptor.getVrf(query) else "" + val vrf = (if (query.isNotBlank()) vrfInterceptor.getVrf(query) else "").let { + java.net.URLEncoder.encode(it, "utf-8") + } var url = "$baseUrl/filter?keyword=$query" @@ -119,7 +121,7 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { if (filters.rating.isNotBlank()) url += filters.rating return GET( - "$url&sort=${filters.sort}&vrf=${java.net.URLEncoder.encode(vrf, "utf-8")}&page=$page", + "$url&sort=${filters.sort}&$VRF_NAME=$vrf&page=$page", headers = Headers.headersOf("Referer", "$baseUrl/"), ) } @@ -160,9 +162,9 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun episodeListRequest(anime: SAnime): Request { val id = client.newCall(GET(baseUrl + anime.url)).execute().asJsoup() .selectFirst("div[data-id]")!!.attr("data-id") - val vrf = getVrf(id) + val vrf = java.net.URLEncoder.encode(callConsumet(id, "vrf"), "utf-8") return GET( - "$baseUrl/ajax/episode/list/$id?vrf=${java.net.URLEncoder.encode(vrf, "utf-8")}", + "$baseUrl/ajax/episode/list/$id?$VRF_NAME=$vrf", headers = Headers.headersOf("url", anime.url), ) } @@ -199,8 +201,8 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoListRequest(episode: SEpisode): Request { val ids = episode.url.substringBefore("&") - val vrf = getVrf(ids) - val url = "/ajax/server/list/$ids?vrf=${java.net.URLEncoder.encode(vrf, "utf-8")}" + val vrf = java.net.URLEncoder.encode(callConsumet(ids, "vrf"), "utf-8") + val url = "/ajax/server/list/$ids?$VRF_NAME=$vrf" val epurl = episode.url.substringAfter("epurl=") return GET(baseUrl + url, headers = Headers.headersOf("url", epurl)) } @@ -262,26 +264,22 @@ class NineAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } private fun extractVideoConsumet(server: Triple, epUrl: String): List