2023-01-31 06:30:37 +00:00
|
|
|
package com.hexated
|
|
|
|
|
2023-08-21 00:55:21 +00:00
|
|
|
import com.hexated.SoraExtractor.invoke2embed
|
2023-12-30 09:09:19 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeAllMovieland
|
2023-02-02 06:51:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeAnimes
|
2023-12-15 04:32:48 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeAoneroom
|
2023-07-31 04:30:48 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeDoomovies
|
2023-08-20 06:21:50 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeDramaday
|
2023-05-24 08:29:19 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeDreamfilm
|
2023-02-02 06:51:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeFilmxy
|
|
|
|
import com.hexated.SoraExtractor.invokeFlixon
|
2023-06-15 23:38:22 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeGoku
|
2023-02-02 06:51:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeKimcartoon
|
|
|
|
import com.hexated.SoraExtractor.invokeKisskh
|
|
|
|
import com.hexated.SoraExtractor.invokeLing
|
|
|
|
import com.hexated.SoraExtractor.invokeM4uhd
|
2023-04-08 14:14:42 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeNinetv
|
2023-05-19 23:35:52 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeNowTv
|
2023-02-02 06:51:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeRStream
|
2023-06-22 10:05:28 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeRidomovies
|
2023-02-06 04:55:42 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeSmashyStream
|
2023-06-26 05:11:27 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeDumpStream
|
2023-07-04 09:38:14 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeEmovies
|
2023-07-26 07:31:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeMultimovies
|
2023-07-27 14:38:45 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeNetmovies
|
2023-10-08 01:32:01 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeShowflix
|
2023-02-02 06:51:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeVidSrc
|
2023-08-18 21:35:24 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeVidsrcto
|
2023-12-09 23:38:31 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeCinemaTv
|
2024-01-21 12:39:02 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeMoflix
|
2024-01-25 01:33:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeGhostx
|
2024-01-30 14:47:49 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeMoviefiction
|
2023-12-24 09:09:45 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeWatchCartoon
|
2023-02-02 06:51:20 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeWatchsomuch
|
2023-09-18 07:36:12 +00:00
|
|
|
import com.hexated.SoraExtractor.invokeZshow
|
2023-01-31 06:30:37 +00:00
|
|
|
import com.lagradost.cloudstream3.SubtitleFile
|
|
|
|
import com.lagradost.cloudstream3.argamap
|
|
|
|
import com.lagradost.cloudstream3.utils.AppUtils
|
|
|
|
import com.lagradost.cloudstream3.utils.ExtractorLink
|
|
|
|
|
|
|
|
class SoraStreamLite : SoraStream() {
|
|
|
|
override var name = "SoraStream-Lite"
|
|
|
|
|
2024-01-07 19:17:40 +00:00
|
|
|
override suspend fun loadLinks(
|
|
|
|
data: String,
|
|
|
|
isCasting: Boolean,
|
|
|
|
subtitleCallback: (SubtitleFile) -> Unit,
|
|
|
|
callback: (ExtractorLink) -> Unit
|
|
|
|
): Boolean {
|
2023-01-31 06:30:37 +00:00
|
|
|
|
|
|
|
val res = AppUtils.parseJson<LinkData>(data)
|
|
|
|
|
|
|
|
argamap(
|
2024-01-21 12:39:02 +00:00
|
|
|
{
|
2024-01-21 17:36:28 +00:00
|
|
|
if (!res.isAnime) invokeMoflix(res.id, res.season, res.episode, callback)
|
2024-01-21 12:39:02 +00:00
|
|
|
},
|
2024-01-07 19:17:40 +00:00
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeWatchsomuch(
|
|
|
|
res.imdbId,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
invokeDumpStream(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeNinetv(
|
|
|
|
res.id,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
invokeGoku(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.lastSeason,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
invokeVidSrc(res.id, res.season, res.episode, callback)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime && res.isCartoon) invokeWatchCartoon(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (res.isAnime) invokeAnimes(
|
|
|
|
res.title,
|
|
|
|
res.epsTitle,
|
|
|
|
res.date,
|
|
|
|
res.airedDate,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeDreamfilm(
|
|
|
|
res.title,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeFilmxy(
|
|
|
|
res.imdbId,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
2024-01-25 01:33:20 +00:00
|
|
|
if (!res.isAnime) invokeGhostx(
|
2024-01-07 19:17:40 +00:00
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime && res.isCartoon) invokeKimcartoon(
|
|
|
|
res.title,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeSmashyStream(
|
2024-01-25 07:56:40 +00:00
|
|
|
res.id,
|
2024-01-07 19:17:40 +00:00
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeVidsrcto(
|
|
|
|
res.imdbId,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (res.isAsian || res.isAnime) invokeKisskh(
|
|
|
|
res.title,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
res.isAnime,
|
|
|
|
res.lastSeason,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeLing(
|
|
|
|
res.title, res.airedYear
|
|
|
|
?: res.year, res.season, res.episode, subtitleCallback, callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeM4uhd(
|
|
|
|
res.title, res.airedYear
|
|
|
|
?: res.year, res.season, res.episode, subtitleCallback, callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeRStream(res.id, res.season, res.episode, callback)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeFlixon(
|
|
|
|
res.id,
|
|
|
|
res.imdbId,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
invokeCinemaTv(
|
|
|
|
res.imdbId, res.title, res.airedYear
|
|
|
|
?: res.year, res.season, res.episode, subtitleCallback, callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeNowTv(res.id, res.imdbId, res.season, res.episode, callback)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeAoneroom(
|
|
|
|
res.title, res.airedYear
|
|
|
|
?: res.year, res.season, res.episode, subtitleCallback, callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
2024-01-12 07:17:54 +00:00
|
|
|
if (!res.isAnime) invokeRidomovies(
|
|
|
|
res.id,
|
|
|
|
res.imdbId,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
2024-01-07 19:17:40 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeEmovies(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (res.isBollywood) invokeMultimovies(
|
|
|
|
multimoviesAPI,
|
|
|
|
res.title,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (res.isBollywood) invokeMultimovies(
|
|
|
|
multimovies2API,
|
|
|
|
res.title,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
invokeNetmovies(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeAllMovieland(res.imdbId, res.season, res.episode, callback)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime && res.season == null) invokeDoomovies(
|
|
|
|
res.title,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (res.isAsian) invokeDramaday(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invoke2embed(
|
|
|
|
res.imdbId,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
invokeZshow(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeShowflix(
|
|
|
|
res.title,
|
|
|
|
res.year,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
2024-01-30 14:47:49 +00:00
|
|
|
{
|
|
|
|
if (!res.isAnime) invokeMoviefiction(
|
|
|
|
res.title,
|
|
|
|
res.season,
|
|
|
|
res.episode,
|
|
|
|
subtitleCallback,
|
|
|
|
callback
|
|
|
|
)
|
|
|
|
},
|
2023-01-31 06:30:37 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|