This commit is contained in:
alex 2024-01-04 15:29:33 +07:00
parent 76c58dbfc3
commit 53d3519b8f
4 changed files with 20 additions and 17 deletions

View File

@ -1,7 +1,7 @@
import org.jetbrains.kotlin.konan.properties.Properties
// use an integer for version numbers
version = 212
version = 213
android {
defaultConfig {

View File

@ -396,11 +396,6 @@ class Embedwish : Filesim() {
override val name = "Embedwish"
override var mainUrl = "https://embedwish.com"
}
class Vidplay2 : Vidplay() {
override val mainUrl = "https://vidplay.online"
}
class Flaswish : Filesim() {
override val name = "Flaswish"
override var mainUrl = "https://flaswish.com"

View File

@ -715,7 +715,7 @@ object SoraExtractor : SoraStream() {
child.select("span").text().equals("Episode $episode", true)
}?.attr("href")
}
}.filter { it.first.contains(Regex("(2160p)|(1080p)")) }
}.filter { it.first.contains(Regex("(2160p)|(1080p)")) }.reversed().takeLast(3)
iframeList.apmap { (quality, link) ->
val driveLink = bypassHrefli(link ?: return@apmap)
@ -768,16 +768,25 @@ object SoraExtractor : SoraStream() {
val hTag = if (season == null) "h5" else "h3"
val aTag = if (season == null) "Download Now" else "V-Cloud"
val sTag = if (season == null) "" else "(Season $season|S$seasonSlug)"
val entry = res.select("div.entry-content > $hTag:matches((?i)$sTag.*(1080p|2160p))").findLast { element -> !element.text().contains("Download", true) }
?: return
val tags = """(?:1080p|2160p)(.*)""".toRegex().find(entry.text())?.groupValues?.get(1)?.trim()
val href = entry.nextElementSibling()?.select("a:contains($aTag)")?.attr("href")
val selector = if (season == null) "p a:contains(V-Cloud)" else "h4:matches(0?$episode) + p a:contains(V-Cloud)"
val server = app.get(href
?: return, interceptor = wpredisInterceptor).document.selectFirst("div.entry-content > $selector")?.attr("href")
?: return
val entries = res.select("div.entry-content > $hTag:matches((?i)$sTag.*(1080p|2160p))").filter { element -> !element.text().contains("Download", true) }.takeLast(2)
entries.apmap {
val tags = """(?:1080p|2160p)(.*)""".toRegex().find(it.text())?.groupValues?.get(1)?.trim()
val href = it.nextElementSibling()?.select("a:contains($aTag)")?.attr("href")
val selector = if (season == null) "p a:contains(V-Cloud)" else "h4:matches(0?$episode) + p a:contains(V-Cloud)"
val server = app.get(
href ?: return@apmap, interceptor = wpredisInterceptor
).document.selectFirst("div.entry-content > $selector")
?.attr("href") ?: return@apmap
loadCustomTagExtractor(tags, server, "$api/", subtitleCallback, callback, getIndexQuality(entry.text()))
loadCustomTagExtractor(
tags,
server,
"$api/",
subtitleCallback,
callback,
getIndexQuality(it.text())
)
}
}
suspend fun invokeHdmovies4u(title: String? = null, imdbId: String? = null, season: Int? = null, episode: Int? = null, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit) {

View File

@ -28,7 +28,6 @@ class SoraStreamPlugin: Plugin() {
registerExtractorAPI(Wishfast())
registerExtractorAPI(Uploadever())
registerExtractorAPI(Netembed())
registerExtractorAPI(Vidplay2())
registerExtractorAPI(Flaswish())
registerExtractorAPI(Comedyshow())
}