mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
added Chillmovies0&1 in sora
This commit is contained in:
parent
213d439540
commit
db1acd1c51
2 changed files with 72 additions and 10 deletions
|
@ -2089,7 +2089,7 @@ object SoraExtractor : SoraStream() {
|
||||||
"cf_cache_token" to "UKsVpQqBMxB56gBfhYKbfCVkRIXMh42pk6G4DdkXXoVh7j4BjV"
|
"cf_cache_token" to "UKsVpQqBMxB56gBfhYKbfCVkRIXMh42pk6G4DdkXXoVh7j4BjV"
|
||||||
)
|
)
|
||||||
val query = getIndexQuery(title, year, season, episode)
|
val query = getIndexQuery(title, year, season, episode)
|
||||||
val search = app.get("$baymoviesAPI//0:search?q=$query&page_token=&page_index=0", headers = headers)
|
val search = app.get("$baymoviesAPI/0:search?q=$query&page_token=&page_index=0", headers = headers)
|
||||||
val media = searchIndex(title, season, episode, year, search) ?: return
|
val media = searchIndex(title, season, episode, year, search) ?: return
|
||||||
|
|
||||||
media.apmap { file ->
|
media.apmap { file ->
|
||||||
|
@ -2129,7 +2129,49 @@ object SoraExtractor : SoraStream() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
suspend fun invokeChillmovies0(
|
||||||
|
apiUrl: String,
|
||||||
|
api: String,
|
||||||
|
title: String? = null,
|
||||||
|
year: Int? = null,
|
||||||
|
season: Int? = null,
|
||||||
|
episode: Int? = null,
|
||||||
|
callback: (ExtractorLink) -> Unit,
|
||||||
|
) {
|
||||||
|
invokeChillmovies(
|
||||||
|
apiUrl,
|
||||||
|
api,
|
||||||
|
title,
|
||||||
|
year,
|
||||||
|
season,
|
||||||
|
episode,
|
||||||
|
callback,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
suspend fun invokeChillmovies1(
|
||||||
|
apiUrl: String,
|
||||||
|
api: String,
|
||||||
|
title: String? = null,
|
||||||
|
year: Int? = null,
|
||||||
|
season: Int? = null,
|
||||||
|
episode: Int? = null,
|
||||||
|
callback: (ExtractorLink) -> Unit,
|
||||||
|
) {
|
||||||
|
invokeChillmovies(
|
||||||
|
apiUrl,
|
||||||
|
api,
|
||||||
|
title,
|
||||||
|
year,
|
||||||
|
season,
|
||||||
|
episode,
|
||||||
|
callback,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
suspend fun invokeChillmovies(
|
suspend fun invokeChillmovies(
|
||||||
|
apiUrl: String,
|
||||||
|
api: String,
|
||||||
title: String? = null,
|
title: String? = null,
|
||||||
year: Int? = null,
|
year: Int? = null,
|
||||||
season: Int? = null,
|
season: Int? = null,
|
||||||
|
@ -2141,14 +2183,14 @@ object SoraExtractor : SoraStream() {
|
||||||
"""{"q":"$query","password":null,"page_token":null,"page_index":0}""".toRequestBody(
|
"""{"q":"$query","password":null,"page_token":null,"page_index":0}""".toRequestBody(
|
||||||
RequestBodyTypes.JSON.toMediaTypeOrNull()
|
RequestBodyTypes.JSON.toMediaTypeOrNull()
|
||||||
)
|
)
|
||||||
val search = app.post("$chillmoviesAPI/0:search", requestBody = body)
|
val search = app.post("${apiUrl}search", requestBody = body)
|
||||||
val media = searchIndex(title, season, episode, year, search) ?: return
|
val media = searchIndex(title, season, episode, year, search) ?: return
|
||||||
media.apmap { file ->
|
media.apmap { file ->
|
||||||
val pathBody = """{"id":"${file.id ?: return@apmap null}"}""".toRequestBody(
|
val pathBody = """{"id":"${file.id ?: return@apmap null}"}""".toRequestBody(
|
||||||
RequestBodyTypes.JSON.toMediaTypeOrNull()
|
RequestBodyTypes.JSON.toMediaTypeOrNull()
|
||||||
)
|
)
|
||||||
val path = app.post("$chillmoviesAPI/0:id2path", requestBody = pathBody).text.let {
|
val path = app.post("${apiUrl}id2path", requestBody = pathBody).text.let {
|
||||||
fixUrl(it, "$chillmoviesAPI/0:")
|
fixUrl(it, apiUrl)
|
||||||
}.encodeUrl()
|
}.encodeUrl()
|
||||||
val size = file.size?.toDouble() ?: return@apmap null
|
val size = file.size?.toDouble() ?: return@apmap null
|
||||||
val sizeFile = "%.2f GB".format(bytesToGigaBytes(size))
|
val sizeFile = "%.2f GB".format(bytesToGigaBytes(size))
|
||||||
|
@ -2158,10 +2200,15 @@ object SoraExtractor : SoraStream() {
|
||||||
)?.groupValues?.getOrNull(1)?.toIntOrNull()
|
)?.groupValues?.getOrNull(1)?.toIntOrNull()
|
||||||
?: Qualities.P1080.value
|
?: Qualities.P1080.value
|
||||||
|
|
||||||
|
val tags = Regex("\\d{3,4}[pP]\\.?(.*?)\\.(mkv|mp4|avi)").find(
|
||||||
|
file.name
|
||||||
|
)?.groupValues?.getOrNull(1)?.replace(".", " ")?.trim()
|
||||||
|
?: ""
|
||||||
|
|
||||||
callback.invoke(
|
callback.invoke(
|
||||||
ExtractorLink(
|
ExtractorLink(
|
||||||
"Chillmovies [$sizeFile]",
|
"$api $tags [$sizeFile]",
|
||||||
"Chillmovies [$sizeFile]",
|
"$api $tags [$sizeFile]",
|
||||||
path,
|
path,
|
||||||
"",
|
"",
|
||||||
quality,
|
quality,
|
||||||
|
|
|
@ -5,7 +5,8 @@ import com.hexated.SoraExtractor.invoke123Movie
|
||||||
import com.hexated.SoraExtractor.invokeAnimes
|
import com.hexated.SoraExtractor.invokeAnimes
|
||||||
import com.hexated.SoraExtractor.invokeBaymovies
|
import com.hexated.SoraExtractor.invokeBaymovies
|
||||||
import com.hexated.SoraExtractor.invokeBollyMaza
|
import com.hexated.SoraExtractor.invokeBollyMaza
|
||||||
import com.hexated.SoraExtractor.invokeChillmovies
|
import com.hexated.SoraExtractor.invokeChillmovies0
|
||||||
|
import com.hexated.SoraExtractor.invokeChillmovies1
|
||||||
import com.hexated.SoraExtractor.invokeDbgo
|
import com.hexated.SoraExtractor.invokeDbgo
|
||||||
import com.hexated.SoraExtractor.invokeFilmxy
|
import com.hexated.SoraExtractor.invokeFilmxy
|
||||||
import com.hexated.SoraExtractor.invokeFlixhq
|
import com.hexated.SoraExtractor.invokeFlixhq
|
||||||
|
@ -107,7 +108,8 @@ open class SoraStream : TmdbProvider() {
|
||||||
const val movie123NetAPI = "https://ww7.0123movie.net"
|
const val movie123NetAPI = "https://ww7.0123movie.net"
|
||||||
const val smashyStreamAPI = "https://embed.smashystream.com"
|
const val smashyStreamAPI = "https://embed.smashystream.com"
|
||||||
const val baymoviesAPI = "https://thebayindexpublicgroupapi.zindex.eu.org"
|
const val baymoviesAPI = "https://thebayindexpublicgroupapi.zindex.eu.org"
|
||||||
const val chillmoviesAPI = "https://chill.aicirou.workers.dev"
|
const val chillmovies0API = "https://chill.aicirou.workers.dev/0:"
|
||||||
|
const val chillmovies1API = "https://chill.aicirou.workers.dev/1:"
|
||||||
|
|
||||||
fun getType(t: String?): TvType {
|
fun getType(t: String?): TvType {
|
||||||
return when (t) {
|
return when (t) {
|
||||||
|
@ -543,14 +545,27 @@ open class SoraStream : TmdbProvider() {
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
invokeChillmovies (
|
invokeChillmovies0(
|
||||||
|
chillmovies0API,
|
||||||
|
"Chillmovies0",
|
||||||
res.title,
|
res.title,
|
||||||
res.year,
|
res.year,
|
||||||
res.season,
|
res.season,
|
||||||
res.episode,
|
res.episode,
|
||||||
callback
|
callback
|
||||||
)
|
)
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
invokeChillmovies1(
|
||||||
|
chillmovies1API,
|
||||||
|
"Chillmovies1",
|
||||||
|
res.title,
|
||||||
|
res.year,
|
||||||
|
res.season,
|
||||||
|
res.episode,
|
||||||
|
callback
|
||||||
|
)
|
||||||
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|
Loading…
Reference in a new issue