diff --git a/src/en/wcofun/build.gradle b/src/en/wcofun/build.gradle index 6c2baf205..d8deed5cd 100644 --- a/src/en/wcofun/build.gradle +++ b/src/en/wcofun/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Wcofun' pkgNameSuffix = 'en.wcofun' extClass = '.Wcofun' - extVersionCode = 6 + extVersionCode = 7 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 130e44a44..5a7ddfb72 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 @@ -6,7 +6,6 @@ import android.util.Base64 import androidx.preference.ListPreference import androidx.preference.PreferenceScreen import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource -import eu.kanade.tachiyomi.animesource.model.AnimeFilter import eu.kanade.tachiyomi.animesource.model.AnimeFilterList import eu.kanade.tachiyomi.animesource.model.SAnime import eu.kanade.tachiyomi.animesource.model.SEpisode @@ -31,6 +30,7 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import java.lang.Exception +import java.net.URI class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -118,19 +118,27 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val iframeLink = Jsoup.parse(html).select("div.pcat-jwplayer iframe") .attr("src") + + val iframeDomain = "https://" + URI(iframeLink).host + val playerHtml = client.newCall( GET( - url = baseUrl + iframeLink, + url = iframeLink, headers = Headers.headersOf("Referer", document.location()) ) ).execute().body!!.string() val getVideoLink = playerHtml.substringAfter("\$.getJSON(\"").substringBefore("\"") + + val head = Headers.Builder() + head.add("x-requested-with", "XMLHttpRequest") + head.add("Referer", (iframeDomain + getVideoLink)) + val videoJson = json.decodeFromString( client.newCall( GET( - url = baseUrl + getVideoLink, - headers = Headers.headersOf("x-requested-with", "XMLHttpRequest") + url = (iframeDomain + getVideoLink), + headers = head.build() ) ).execute().body!!.string() ) @@ -138,6 +146,7 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val server = videoJson["server"]!!.jsonPrimitive.content val hd = videoJson["hd"]?.jsonPrimitive?.content val sd = videoJson["enc"]?.jsonPrimitive?.content + val fhd = videoJson["fhd"]?.jsonPrimitive?.content val videoList = mutableListOf