@ -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'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user