mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
sora: fix bilibili
This commit is contained in:
parent
6cd8128eba
commit
78c4b58edf
4 changed files with 13 additions and 98 deletions
|
@ -1,7 +1,7 @@
|
|||
import org.jetbrains.kotlin.konan.properties.Properties
|
||||
|
||||
// use an integer for version numbers
|
||||
version = 127
|
||||
version = 128
|
||||
|
||||
android {
|
||||
defaultConfig {
|
||||
|
|
|
@ -889,9 +889,9 @@ object SoraExtractor : SoraStream() {
|
|||
{
|
||||
invokeBiliBili(aniId, episode, subtitleCallback, callback)
|
||||
},
|
||||
{
|
||||
if (season != null) invokeAllanime(aniId, title, jpTitle, episode, callback)
|
||||
}
|
||||
// {
|
||||
// if (season != null) invokeAllanime(aniId, title, jpTitle, episode, callback)
|
||||
// }
|
||||
)
|
||||
}
|
||||
|
||||
|
@ -976,25 +976,25 @@ object SoraExtractor : SoraStream() {
|
|||
subtitleCallback: (SubtitleFile) -> Unit,
|
||||
callback: (ExtractorLink) -> Unit
|
||||
) {
|
||||
val res = app.get("$biliBiliAPI/anime/episodes?id=$aniId&source_id=bilibili")
|
||||
val res = app.get("$biliBiliAPI/anime/episodes?id=$aniId&source_id=bilibili", referer = kaguyaBaseUrl)
|
||||
.parsedSafe<BiliBiliDetails>()?.episodes?.find {
|
||||
it.episodeNumber == episode
|
||||
} ?: return
|
||||
|
||||
val sources =
|
||||
app.get("$biliBiliAPI/source?episode_id=${res.sourceEpisodeId}&source_media_id=${res.sourceMediaId}&source_id=${res.sourceId}")
|
||||
app.get("$biliBiliAPI/source?episode_id=${res.sourceEpisodeId}&source_media_id=${res.sourceMediaId}&source_id=${res.sourceId}", referer = kaguyaBaseUrl)
|
||||
.parsedSafe<BiliBiliSourcesResponse>()
|
||||
|
||||
sources?.sources?.apmap { source ->
|
||||
val quality =
|
||||
app.get(source.file ?: return@apmap null).document.selectFirst("Representation")
|
||||
app.get(source.file ?: return@apmap null, referer = kaguyaBaseUrl).document.selectFirst("Representation")
|
||||
?.attr("height")
|
||||
callback.invoke(
|
||||
ExtractorLink(
|
||||
"BiliBili",
|
||||
"BiliBili",
|
||||
source.file,
|
||||
"",
|
||||
kaguyaBaseUrl,
|
||||
quality?.toIntOrNull() ?: Qualities.Unknown.value,
|
||||
isDash = true
|
||||
)
|
||||
|
|
|
@ -109,8 +109,8 @@ open class SoraStream : TmdbProvider() {
|
|||
const val fdMoviesAPI = "https://freedrivemovie.lol"
|
||||
const val m4uhdAPI = "https://m4uhd.tv"
|
||||
const val tvMoviesAPI = "https://www.tvseriesnmovies.com"
|
||||
const val moviezAddAPI = "https://45.143.223.244"
|
||||
const val bollyMazaAPI = "https://b.bloginguru.info"
|
||||
const val moviezAddAPI = "https://ww1.moviezaddiction.click"
|
||||
const val bollyMazaAPI = "https://ww1.bollymaza.click"
|
||||
const val moviesbayAPI = "https://moviesbay.live"
|
||||
const val rStreamAPI = "https://remotestre.am"
|
||||
const val flixonAPI = "https://flixon.ru"
|
||||
|
@ -131,8 +131,6 @@ open class SoraStream : TmdbProvider() {
|
|||
const val rinzryMoviesAPI = "https://rinzry.stream/0:"
|
||||
const val codexMoviesAPI = "https://packs.codexcloudx.tech/0:"
|
||||
const val edithxMoviesAPI = "https://index.edithx.ga/0:"
|
||||
const val papaonMovies1API = "https://m.papaonwork.workers.dev/0:"
|
||||
const val papaonMovies2API = "https://m.papaonwork.workers.dev/1:"
|
||||
const val dahmerMoviesAPI = "https://edytjedhgmdhm.abfhaqrhbnf.workers.dev"
|
||||
const val jmdkhMovieAPI = "https://tg.jmdkh.eu.org/0:"
|
||||
const val rubyMovieAPI = "https://upload.rubyshare111.workers.dev/0:"
|
||||
|
@ -150,6 +148,8 @@ open class SoraStream : TmdbProvider() {
|
|||
const val xtremeMoviesAPI = "https://kartik19.xtrememirror0.workers.dev/0:" // dead
|
||||
const val tgarMovieAPI = "https://tgarchive.eu.org" // dead
|
||||
const val baymoviesAPI = "https://opengatewayindex.pages.dev" // dead
|
||||
const val papaonMovies1API = "https://m.papaonwork.workers.dev/0:" // dead
|
||||
const val papaonMovies2API = "https://m.papaonwork.workers.dev/1:" // dead
|
||||
|
||||
fun getType(t: String?): TvType {
|
||||
return when (t) {
|
||||
|
@ -600,48 +600,6 @@ open class SoraStream : TmdbProvider() {
|
|||
{
|
||||
invokeSmashyStream(res.imdbId, res.season, res.episode, callback)
|
||||
},
|
||||
// {
|
||||
// if (!res.isAnime) invokeBaymovies(
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
// {
|
||||
// invokeChillmovies0(
|
||||
// chillmovies0API,
|
||||
// "Chillmovies0",
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
// {
|
||||
// invokeChillmovies1(
|
||||
// chillmovies1API,
|
||||
// "Chillmovies1",
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
// {
|
||||
// if (!res.isAnime) invokeGammovies(
|
||||
// gamMoviesAPI,
|
||||
// "GamMovies",
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
{
|
||||
invokeWatchsomuch(
|
||||
res.imdbId,
|
||||
|
@ -670,17 +628,6 @@ open class SoraStream : TmdbProvider() {
|
|||
callback
|
||||
)
|
||||
},
|
||||
// {
|
||||
// if (!res.isAnime) invokeJsmovies(
|
||||
// jsMoviesAPI,
|
||||
// "JSMovies",
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
{
|
||||
invokeRinzrymovies(
|
||||
rinzryMoviesAPI,
|
||||
|
@ -716,39 +663,6 @@ open class SoraStream : TmdbProvider() {
|
|||
"Basic ZWRpdGg6amFydmlz"
|
||||
)
|
||||
},
|
||||
// {
|
||||
// if (!res.isAnime) invokeXtrememovies(
|
||||
// xtremeMoviesAPI,
|
||||
// "XtremeMovies",
|
||||
// res.title,
|
||||
// res.year,
|
||||
// res.season,
|
||||
// res.episode,
|
||||
// callback
|
||||
// )
|
||||
// },
|
||||
{
|
||||
if (!res.isAnime) invokePapaonMovies1(
|
||||
papaonMovies1API,
|
||||
"PapaonMovies[1]",
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
if (!res.isAnime) invokePapaonMovies2(
|
||||
papaonMovies2API,
|
||||
"PapaonMovies[2]",
|
||||
res.title,
|
||||
res.year,
|
||||
res.season,
|
||||
res.episode,
|
||||
callback
|
||||
)
|
||||
},
|
||||
{
|
||||
invokeDahmerMovies(
|
||||
res.title,
|
||||
|
|
|
@ -46,6 +46,7 @@ import kotlin.math.min
|
|||
val soraAPI = base64DecodeAPI("cA==YXA=cy8=Y20=di8=LnQ=b2s=a2w=bG8=aS4=YXA=ZS0=aWw=b2I=LW0=Z2E=Ly8=czo=dHA=aHQ=")
|
||||
val bflixChipperKey = base64DecodeAPI("Yjc=ejM=TzA=YTk=WHE=WnU=bXU=RFo=")
|
||||
val bflixKey = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
||||
val kaguyaBaseUrl = "https://kaguya.app/"
|
||||
val soraHeaders = mapOf(
|
||||
"lang" to "en",
|
||||
"versioncode" to "33",
|
||||
|
|
Loading…
Reference in a new issue