diff --git a/src/en/wcofun/build.gradle b/src/en/wcofun/build.gradle index 417966e8a..3f2a48d4c 100644 --- a/src/en/wcofun/build.gradle +++ b/src/en/wcofun/build.gradle @@ -8,7 +8,7 @@ ext { extName = 'Wcofun' pkgNameSuffix = 'en.wcofun' extClass = '.Wcofun' - extVersionCode = 10 + extVersionCode = 11 libVersion = '13' } diff --git a/src/en/wcofun/src/eu/kanade/tachiyomi/animeextension/en/wcofun/Wcofun.kt b/src/en/wcofun/src/eu/kanade/tachiyomi/animeextension/en/wcofun/Wcofun.kt index 570e72027..d7cb8ea2d 100644 --- a/src/en/wcofun/src/eu/kanade/tachiyomi/animeextension/en/wcofun/Wcofun.kt +++ b/src/en/wcofun/src/eu/kanade/tachiyomi/animeextension/en/wcofun/Wcofun.kt @@ -40,6 +40,10 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val client: OkHttpClient = network.cloudflareClient + override fun headersBuilder() = super.headersBuilder() + .add("Referer", "$baseUrl/") + .add("Origin", baseUrl) + private val json: Json by injectLazy() private val preferences by lazy { @@ -113,15 +117,15 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { data class VideoResponseDto( val server: String, @SerialName("enc") - val sd: String, - val hd: String, - val fhd: String, + val sd: String?, + val hd: String?, + val fhd: String?, ) { val videos by lazy { listOfNotNull( - sd.takeIf(String::isNotBlank)?.let { Pair("SD", it) }, - hd.takeIf(String::isNotBlank)?.let { Pair("HD", it) }, - fhd.takeIf(String::isNotBlank)?.let { Pair("FHD", it) }, + sd?.takeIf(String::isNotBlank)?.let { Pair("SD", it) }, + hd?.takeIf(String::isNotBlank)?.let { Pair("HD", it) }, + fhd?.takeIf(String::isNotBlank)?.let { Pair("FHD", it) }, ).map { val videoUrl = "$server/getvid?evid=" + it.second Video(videoUrl, it.first, videoUrl) @@ -143,6 +147,7 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val requestHeaders = headersBuilder() .add("x-requested-with", "XMLHttpRequest") .set("Referer", requestUrl) + .set("Origin", iframeDomain) .build() val videoData = client.newCall(GET(requestUrl, requestHeaders)).execute()