diff --git a/src/en/gogoanime/build.gradle b/src/en/gogoanime/build.gradle index 8bb4b44ec..bb6f90aff 100644 --- a/src/en/gogoanime/build.gradle +++ b/src/en/gogoanime/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Gogoanime' pkgNameSuffix = 'en.gogoanime' extClass = '.GogoAnime' - extVersionCode = 20 + extVersionCode = 21 libVersion = '12' } diff --git a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt index f23dd1a01..32a8467ca 100644 --- a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt +++ b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt @@ -40,11 +40,6 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { Injekt.get().getSharedPreferences("source_$id", 0x0000) } - private val videoHeaders = Headers.Builder().apply { - add("User-Agent", "Aniyomi") - add("Referer", "https://streamani.io/") - }.build() - override fun popularAnimeSelector(): String = "div.img a" override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/popular.html?page=$page") @@ -114,6 +109,8 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoFromElement(element: Element): Video { val quality = element.text().substringAfter("Download (").replace("P - mp4)", "p") val url = element.attr("href") + val location = element.ownerDocument().location() + val videoHeaders = Headers.headersOf("Referer", location) return when { url.contains("https://dood.la") -> { val newQuality = "Doodstream mirror" @@ -135,16 +132,17 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { "SDp" -> "360p" else -> quality } - Video(url, parsedQuality, videoUrlParse(url), null, videoHeaders) + Video(url, parsedQuality, videoUrlParse(url, location), null, videoHeaders) } } } override fun videoUrlParse(document: Document) = throw Exception("not used") - private fun videoUrlParse(url: String): String { + private fun videoUrlParse(url: String, referer: String): String { + val refererHeader = Headers.headersOf("Referer", referer) val noRedirectClient = client.newBuilder().followRedirects(false).build() - val response = noRedirectClient.newCall(GET(url)).execute() + val response = noRedirectClient.newCall(GET(url, refererHeader)).execute() val videoUrl = response.header("location") response.close() return videoUrl ?: url