This commit is contained in:
enimax-anime
2022-12-03 05:10:22 -08:00
committed by GitHub
parent 1b5976083a
commit 2cfadcbdcc
2 changed files with 21 additions and 5 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'Wcofun' extName = 'Wcofun'
pkgNameSuffix = 'en.wcofun' pkgNameSuffix = 'en.wcofun'
extClass = '.Wcofun' extClass = '.Wcofun'
extVersionCode = 6 extVersionCode = 7
libVersion = '13' libVersion = '13'
} }

View File

@ -6,7 +6,6 @@ import android.util.Base64
import androidx.preference.ListPreference import androidx.preference.ListPreference
import androidx.preference.PreferenceScreen import androidx.preference.PreferenceScreen
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource 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.AnimeFilterList
import eu.kanade.tachiyomi.animesource.model.SAnime import eu.kanade.tachiyomi.animesource.model.SAnime
import eu.kanade.tachiyomi.animesource.model.SEpisode 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.api.get
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import java.lang.Exception import java.lang.Exception
import java.net.URI
class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() { class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
@ -118,19 +118,27 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val iframeLink = Jsoup.parse(html).select("div.pcat-jwplayer iframe") val iframeLink = Jsoup.parse(html).select("div.pcat-jwplayer iframe")
.attr("src") .attr("src")
val iframeDomain = "https://" + URI(iframeLink).host
val playerHtml = client.newCall( val playerHtml = client.newCall(
GET( GET(
url = baseUrl + iframeLink, url = iframeLink,
headers = Headers.headersOf("Referer", document.location()) headers = Headers.headersOf("Referer", document.location())
) )
).execute().body!!.string() ).execute().body!!.string()
val getVideoLink = playerHtml.substringAfter("\$.getJSON(\"").substringBefore("\"") 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<JsonObject>( val videoJson = json.decodeFromString<JsonObject>(
client.newCall( client.newCall(
GET( GET(
url = baseUrl + getVideoLink, url = (iframeDomain + getVideoLink),
headers = Headers.headersOf("x-requested-with", "XMLHttpRequest") headers = head.build()
) )
).execute().body!!.string() ).execute().body!!.string()
) )
@ -138,6 +146,7 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
val server = videoJson["server"]!!.jsonPrimitive.content val server = videoJson["server"]!!.jsonPrimitive.content
val hd = videoJson["hd"]?.jsonPrimitive?.content val hd = videoJson["hd"]?.jsonPrimitive?.content
val sd = videoJson["enc"]?.jsonPrimitive?.content val sd = videoJson["enc"]?.jsonPrimitive?.content
val fhd = videoJson["fhd"]?.jsonPrimitive?.content
val videoList = mutableListOf<Video>() val videoList = mutableListOf<Video>()
hd?.let { hd?.let {
if (it.isNotEmpty()) { if (it.isNotEmpty()) {
@ -151,6 +160,13 @@ class Wcofun : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
videoList.add(Video(videoUrl, "SD", videoUrl)) videoList.add(Video(videoUrl, "SD", videoUrl))
} }
} }
fhd?.let {
if (it.isNotEmpty()) {
val videoUrl = "$server/getvid?evid=$it"
videoList.add(Video(videoUrl, "FHD", videoUrl))
}
}
return videoList return videoList
} }