diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index d794263f..443288a6 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -920,17 +920,15 @@ object SoraExtractor : SoraStream() { ) } - app.get("https://api.bilibili.tv/intl/gateway/web/v2/subtitle?s_locale=en_US&platform=web&episode_id=${res.sourceEpisodeId}&spm_id=bstar-web.pgc-video-detail.0.0&from_spm_id=bstar-web.homepage.anime.all") - .parsedSafe()?.data?.subtitles?.map { sub -> - subtitleCallback.invoke( - SubtitleFile( - SubtitleHelper.fromTwoLettersToLanguage(sub.lang_key ?: "") ?: sub.lang - ?: return@map null, - sub.url ?: return@map null - ) + sources?.subtitles?.map { sub -> + subtitleCallback.invoke( + SubtitleFile( + SubtitleHelper.fromTwoLettersToLanguage(sub.lang ?: "") ?: sub.language + ?: return@map null, + sub.file ?: return@map null ) - } - + ) + } } @@ -1875,6 +1873,7 @@ object SoraExtractor : SoraStream() { imdbId: String? = null, season: Int? = null, episode: Int? = null, + isAnime: Boolean = false, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit, ) { @@ -1891,7 +1890,7 @@ object SoraExtractor : SoraStream() { it.attr("data-id") to it.text() }.apmap { when { - it.first.contains("/ffix") -> { + it.first.contains("/ffix") && !isAnime -> { invokeSmashyFfix(it.second, it.first, callback) } it.first.contains("/gtop") -> { @@ -3156,9 +3155,7 @@ data class BiliBiliDetails( data class BiliBiliSubtitles( @JsonProperty("file") val file: String? = null, - @JsonProperty("url") val url: String? = null, @JsonProperty("lang") val lang: String? = null, - @JsonProperty("lang_key") val lang_key: String? = null, @JsonProperty("language") val language: String? = null, ) @@ -3172,14 +3169,6 @@ data class BiliBiliSourcesResponse( @JsonProperty("subtitles") val subtitles: ArrayList? = arrayListOf(), ) -data class BiliBiliSubtitlesData( - @JsonProperty("subtitles") val subtitles: ArrayList? = arrayListOf(), -) - -data class BiliBiliSubtitlesResponses( - @JsonProperty("data") val data: BiliBiliSubtitlesData? = BiliBiliSubtitlesData(), -) - data class WatchOnlineItems( @JsonProperty("slug") val slug: String? = null, @JsonProperty("tmdb_id") val tmdb_id: Int? = null, diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index 04ce6700..1c813172 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -609,7 +609,7 @@ open class SoraStream : TmdbProvider() { invokeMovie123Net(res.title, res.season, res.episode, subtitleCallback, callback) }, { - invokeSmashyStream(res.imdbId, res.season, res.episode, subtitleCallback, callback) + invokeSmashyStream(res.imdbId, res.season, res.episode, res.isAnime, subtitleCallback, callback) }, { invokeWatchsomuch( diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt index a898a07e..12e49e63 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStreamLite.kt @@ -174,7 +174,7 @@ class SoraStreamLite : SoraStream() { invokeKimcartoon(res.title, res.season, res.episode, subtitleCallback, callback) }, { - invokeSmashyStream(res.imdbId, res.season, res.episode, subtitleCallback, callback) + invokeSmashyStream(res.imdbId, res.season, res.episode, res.isAnime, subtitleCallback, callback) }, { invokeXmovies(