mirror of
https://github.com/recloudstream/cloudstream.git
synced 2025-08-06 19:43:48 +08:00
Updated VidhideExtractor (#1279)
This commit is contained in:
@ -4,31 +4,60 @@ import com.lagradost.cloudstream3.app
|
||||
import com.lagradost.cloudstream3.network.WebViewResolver
|
||||
import com.lagradost.cloudstream3.utils.ExtractorApi
|
||||
import com.lagradost.cloudstream3.utils.ExtractorLink
|
||||
import com.lagradost.cloudstream3.utils.JsUnpacker
|
||||
import com.lagradost.cloudstream3.utils.Qualities
|
||||
|
||||
class VidhideExtractor1 : VidhideExtractor() {
|
||||
override var mainUrl = "https://azipcdn.com"
|
||||
}
|
||||
|
||||
class VidhideExtractor2 : VidhideExtractor() {
|
||||
override var mainUrl = "https://filelions.live"
|
||||
}
|
||||
|
||||
class VidhideExtractor3 : VidhideExtractor() {
|
||||
override var mainUrl = "https://filelions.online"
|
||||
}
|
||||
|
||||
class VidhideExtractor4 : VidhideExtractor() {
|
||||
override var mainUrl = "https://filelions.online"
|
||||
}
|
||||
|
||||
class VidhideExtractor5 : VidhideExtractor() {
|
||||
override var mainUrl = "https://filelions.to"
|
||||
}
|
||||
|
||||
class VidhideExtractor6 : VidhideExtractor() {
|
||||
override var mainUrl = "https://vidhidepro.com"
|
||||
}
|
||||
|
||||
open class VidhideExtractor : ExtractorApi() {
|
||||
override var name = "VidHide"
|
||||
override var mainUrl = "https://vidhide.com"
|
||||
override val requiresReferer = false
|
||||
private val srcRegex = Regex("""sources:\[\{file:"(.*?)"""")
|
||||
|
||||
override suspend fun getUrl(url: String, referer: String?): List<ExtractorLink>? {
|
||||
val response = app.get(
|
||||
url, referer = referer ?: "$mainUrl/", interceptor = WebViewResolver(
|
||||
Regex("""master\.m3u8""")
|
||||
)
|
||||
)
|
||||
val sources = mutableListOf<ExtractorLink>()
|
||||
if (response.url.contains("m3u8"))
|
||||
sources.add(
|
||||
ExtractorLink(
|
||||
source = name,
|
||||
name = name,
|
||||
url = response.url,
|
||||
referer = referer ?: "$mainUrl/",
|
||||
quality = Qualities.Unknown.value,
|
||||
isM3u8 = true
|
||||
)
|
||||
)
|
||||
return sources
|
||||
with(app.get(url)) {
|
||||
JsUnpacker(this.document.select("script").find {
|
||||
it.html().contains("eval(function(p,a,c,k,e,d)")
|
||||
}?.html()).unpack()?.let { script ->
|
||||
srcRegex.find(script)?.groupValues?.get(1)?.let { link ->
|
||||
return listOf(
|
||||
ExtractorLink(
|
||||
name,
|
||||
name,
|
||||
link,
|
||||
url,
|
||||
Qualities.Unknown.value,
|
||||
isM3u8 = link.contains("m3u8")
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
@ -256,6 +256,12 @@ import com.lagradost.cloudstream3.extractors.Asnwish
|
||||
import com.lagradost.cloudstream3.extractors.Nekowish
|
||||
import com.lagradost.cloudstream3.extractors.Nekostream
|
||||
import com.lagradost.cloudstream3.extractors.Swdyu
|
||||
import com.lagradost.cloudstream3.extractors.VidhideExtractor1
|
||||
import com.lagradost.cloudstream3.extractors.VidhideExtractor2
|
||||
import com.lagradost.cloudstream3.extractors.VidhideExtractor3
|
||||
import com.lagradost.cloudstream3.extractors.VidhideExtractor4
|
||||
import com.lagradost.cloudstream3.extractors.VidhideExtractor5
|
||||
import com.lagradost.cloudstream3.extractors.VidhideExtractor6
|
||||
import com.lagradost.cloudstream3.extractors.Wishonly
|
||||
import com.lagradost.cloudstream3.mvvm.logError
|
||||
import com.lagradost.cloudstream3.mvvm.normalSafeApiCall
|
||||
@ -921,6 +927,12 @@ val extractorApis: MutableList<ExtractorApi> = arrayListOf(
|
||||
Dokicloud(),
|
||||
Megacloud(),
|
||||
VidhideExtractor(),
|
||||
VidhideExtractor1(),
|
||||
VidhideExtractor2(),
|
||||
VidhideExtractor3(),
|
||||
VidhideExtractor4(),
|
||||
VidhideExtractor5(),
|
||||
VidhideExtractor6(),
|
||||
StreamWishExtractor(),
|
||||
WishembedPro(),
|
||||
CdnwishCom(),
|
||||
|
Reference in New Issue
Block a user