From 78c4b58edfd66e44563d6dd82d23c2469bdd93ab Mon Sep 17 00:00:00 2001 From: hexated Date: Tue, 9 May 2023 13:54:20 +0700 Subject: [PATCH] sora: fix bilibili --- SoraStream/build.gradle.kts | 2 +- .../main/kotlin/com/hexated/SoraExtractor.kt | 14 +-- .../src/main/kotlin/com/hexated/SoraStream.kt | 94 +------------------ .../src/main/kotlin/com/hexated/SoraUtils.kt | 1 + 4 files changed, 13 insertions(+), 98 deletions(-) diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 7cc90bbb..c2c83b26 100644 --- a/SoraStream/build.gradle.kts +++ b/SoraStream/build.gradle.kts @@ -1,7 +1,7 @@ import org.jetbrains.kotlin.konan.properties.Properties // use an integer for version numbers -version = 127 +version = 128 android { defaultConfig { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 67c79881..1a616f23 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -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()?.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() 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 ) diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index 2b9878fb..67d7e51a 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -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, diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt index abad1945..7e15ca51 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt @@ -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",