mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
fixed nineTv
This commit is contained in:
parent
e30bce94ab
commit
063fdb6bcf
6 changed files with 9 additions and 81 deletions
|
@ -1,7 +1,7 @@
|
|||
import org.jetbrains.kotlin.konan.properties.Properties
|
||||
|
||||
// use an integer for version numbers
|
||||
version = 24
|
||||
version = 25
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
|
|
|
@ -106,7 +106,7 @@ object NineTv {
|
|||
) {
|
||||
val mainUrl = getBaseUrl(url)
|
||||
val res = app.get(url, referer = referer)
|
||||
val master = Regex("JScript\\s*=\\s*'([^']+)").find(res.text)?.groupValues?.get(1)
|
||||
val master = Regex("JScripts\\s*=\\s*'([^']+)").find(res.text)?.groupValues?.get(1)
|
||||
val key = res.document.getKeys() ?: throw ErrorLoadingException("can't generate key")
|
||||
val decrypt = AesHelper.cryptoAESHandler(master ?: return, key.toByteArray(), false)
|
||||
?.replace("\\", "")
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import org.jetbrains.kotlin.konan.properties.Properties
|
||||
|
||||
// use an integer for version numbers
|
||||
version = 188
|
||||
version = 189
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
|
|
|
@ -248,7 +248,7 @@ object NineTv {
|
|||
) {
|
||||
val mainUrl = getBaseUrl(url)
|
||||
val res = app.get(url, referer = referer)
|
||||
val master = Regex("JScript\\s*=\\s*'([^']+)").find(res.text)?.groupValues?.get(1)
|
||||
val master = Regex("JScripts\\s*=\\s*'([^']+)").find(res.text)?.groupValues?.get(1)
|
||||
val key = res.document.getKeys() ?: throw ErrorLoadingException("can't generate key")
|
||||
val decrypt = AesHelper.cryptoAESHandler(master ?: return, key.toByteArray(), false)
|
||||
?.replace("\\", "")
|
||||
|
|
|
@ -1160,69 +1160,6 @@ object SoraExtractor : SoraStream() {
|
|||
}
|
||||
}
|
||||
|
||||
suspend fun invokePobmovies(
|
||||
title: String? = null, year: Int? = null, callback: (ExtractorLink) -> Unit
|
||||
) {
|
||||
val detailDoc = app.get("$pobmoviesAPI/${title.createSlug()}-$year").document
|
||||
val iframeList = detailDoc.select("div.entry-content p").map { it }
|
||||
.filter { it.text().filterIframe(year = year, title = title) }.mapNotNull {
|
||||
it.text() to it.nextElementSibling()?.select("a")?.attr("href")
|
||||
}.filter { it.second?.contains(Regex("(https:)|(http:)")) == true }
|
||||
|
||||
val sources = mutableListOf<Pair<String, String?>>()
|
||||
if (iframeList.any {
|
||||
it.first.contains(
|
||||
"2160p", true
|
||||
)
|
||||
}) {
|
||||
sources.addAll(iframeList.filter {
|
||||
it.first.contains(
|
||||
"2160p", true
|
||||
)
|
||||
})
|
||||
sources.add(iframeList.first {
|
||||
it.first.contains(
|
||||
"1080p", true
|
||||
)
|
||||
})
|
||||
} else {
|
||||
sources.addAll(iframeList.filter { it.first.contains("1080p", true) })
|
||||
}
|
||||
|
||||
sources.apmap { (name, link) ->
|
||||
if (link.isNullOrEmpty()) return@apmap
|
||||
val videoLink = when {
|
||||
link.contains("gdtot") -> {
|
||||
val gdBotLink = extractGdbot(link)
|
||||
extractGdflix(gdBotLink ?: return@apmap)
|
||||
}
|
||||
|
||||
link.contains("gdflix") -> {
|
||||
extractGdflix(link)
|
||||
}
|
||||
|
||||
else -> {
|
||||
return@apmap
|
||||
}
|
||||
}
|
||||
|
||||
val tags = getUhdTags(name)
|
||||
val qualities = getIndexQuality(name)
|
||||
val size = getIndexSize(name)
|
||||
callback.invoke(
|
||||
ExtractorLink(
|
||||
"Pobmovies",
|
||||
"Pobmovies $tags [${size}]",
|
||||
videoLink ?: return@apmap,
|
||||
"",
|
||||
qualities
|
||||
)
|
||||
)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
suspend fun invokeHdmovies4u(
|
||||
title: String? = null,
|
||||
imdbId: String? = null,
|
||||
|
|
|
@ -38,7 +38,6 @@ import com.hexated.SoraExtractor.invokeJump1
|
|||
import com.hexated.SoraExtractor.invokeMoment
|
||||
import com.hexated.SoraExtractor.invokeMultimovies
|
||||
import com.hexated.SoraExtractor.invokeNetmovies
|
||||
import com.hexated.SoraExtractor.invokePobmovies
|
||||
import com.hexated.SoraExtractor.invokeGomovies
|
||||
import com.hexated.SoraExtractor.invokeMovies123
|
||||
import com.hexated.SoraExtractor.invokeSFMovies
|
||||
|
@ -82,7 +81,7 @@ open class SoraStream : TmdbProvider() {
|
|||
|
||||
/** ALL SOURCES */
|
||||
const val twoEmbedAPI = "https://www.2embed.cc"
|
||||
const val vidSrcAPI = "https://v2.vidsrc.me"
|
||||
const val vidSrcAPI = "https://vidsrc.me"
|
||||
const val dbgoAPI = "https://dbgo.fun"
|
||||
const val dreamfilmAPI = "https://dreamfilmsw.net"
|
||||
const val noverseAPI = "https://www.nollyverse.com"
|
||||
|
@ -92,7 +91,7 @@ open class SoraStream : TmdbProvider() {
|
|||
const val crunchyrollAPI = "https://beta-api.crunchyroll.com"
|
||||
const val kissKhAPI = "https://kisskh.co"
|
||||
const val lingAPI = "https://ling-online.net"
|
||||
const val uhdmoviesAPI = "https://uhdmovies.click"
|
||||
const val uhdmoviesAPI = "https://uhdmovies.dev"
|
||||
const val gMoviesAPI = "https://gdrivemovies.xyz"
|
||||
const val fdMoviesAPI = "https://freedrivemovie.lol"
|
||||
const val m4uhdAPI = "https://ww2.m4ufree.com"
|
||||
|
@ -104,13 +103,12 @@ open class SoraStream : TmdbProvider() {
|
|||
const val smashyStreamAPI = "https://embed.smashystream.com"
|
||||
const val watchSomuchAPI = "https://watchsomuch.tv" // sub only
|
||||
const val watchOnlineAPI = "https://lookmovie.foundation"
|
||||
const val nineTvAPI = "https://moviesapi.club"
|
||||
const val nineTvAPI = "https://ww1.moviesapi.club"
|
||||
const val nowTvAPI = "https://myfilestorage.xyz"
|
||||
const val gokuAPI = "https://goku.sx"
|
||||
const val ridomoviesAPI = "https://ridomovies.pw"
|
||||
const val navyAPI = "https://navy-issue-i-239.site"
|
||||
const val emoviesAPI = "https://emovies.si"
|
||||
const val pobmoviesAPI = "https://pobmovies.cam"
|
||||
const val multimoviesAPI = "https://multimovies.info"
|
||||
const val netmoviesAPI = "https://netmovies.to"
|
||||
const val momentAPI = "https://moment-explanation-i-244.site"
|
||||
|
@ -120,11 +118,11 @@ open class SoraStream : TmdbProvider() {
|
|||
const val animetoshoAPI = "https://animetosho.org"
|
||||
const val movies123API = "https://new-movies123.link"
|
||||
const val jump1API = "https://ca.jump1.net"
|
||||
const val vegaMoviesAPI = "https://vegamovies.id"
|
||||
const val vegaMoviesAPI = "https://vegamovies.zip"
|
||||
const val hdmovies4uAPI = "https://hdmovies4u.name"
|
||||
const val watchflxAPI = "https://watchflx.tv"
|
||||
const val gomoviesAPI = "https://gomovies-online.cam"
|
||||
const val dotmoviesAPI = "https://dotmovies.monster"
|
||||
const val dotmoviesAPI = "https://dotmovies.tattoo"
|
||||
const val blackvidAPI = "https://prod.api.blackvid.space"
|
||||
const val showflixAPI = "https://showflix.online"
|
||||
const val dahmerMoviesAPI = "https://edytjedhgmdhm.abfhaqrhbnf.workers.dev"
|
||||
|
@ -645,13 +643,6 @@ open class SoraStream : TmdbProvider() {
|
|||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime && res.season == null) invokePobmovies(
|
||||
res.title,
|
||||
res.year,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
invokeMultimovies(res.title, res.season, res.episode, subtitleCallback, callback)
|
||||
},
|
||||
|
|
Loading…
Reference in a new issue