From e31a2203ac91c8383c1072e5e1e9f4225b51f6b5 Mon Sep 17 00:00:00 2001 From: hexated Date: Sun, 27 Nov 2022 04:25:36 +0700 Subject: [PATCH] small fixed into SoraStream --- SoraStream/build.gradle.kts | 2 +- .../src/main/kotlin/com/hexated/SoraExtractor.kt | 15 ++++++++++++--- .../src/main/kotlin/com/hexated/SoraStream.kt | 5 ++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 50295e51..89c96378 100644 --- a/SoraStream/build.gradle.kts +++ b/SoraStream/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 38 +version = 39 cloudstream { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 44c73520..2a5f2557 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -1233,10 +1233,19 @@ object SoraExtractor : SoraStream() { iframe.apmap { (quality, size, link) -> delay(1000) val res = app.get(link ?: return@apmap null).document - val bitLink = res.selectFirst("a.btn.btn-outline-success")?.attr("href") ?: return@apmap null - val downLink = app.get(fixUrl(bitLink, base)).document.select("div.mb-4 a").randomOrNull()?.attr("href") + val resDoc = res.selectFirst("script")?.data()?.substringAfter("replace(\"") + ?.substringBefore("\")")?.let { + app.get(fixUrl(it, base)).document + } + val bitLink = resDoc?.selectFirst("a.btn.btn-outline-success")?.attr("href") ?: return@apmap null + val baseDoc = app.get(fixUrl(bitLink, base)).document + val downLink = baseDoc.select("div.mb-4 a").randomOrNull() + ?.attr("href") ?: run { + val server = baseDoc.select("div.text-center a:contains(Server 2)").attr("href") + app.get(fixUrl(server, base)).document.selectFirst("div.mb-4 a") + ?.attr("href") + } val downPage = app.get(downLink ?: return@apmap null).document - val downloadLink = downPage.selectFirst("form[method=post] a.btn.btn-success") ?.attr("onclick")?.substringAfter("Openblank('")?.substringBefore("')") ?: run { val mirror = downPage.selectFirst("form[method=post] a.btn.btn-primary") diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index 8f5a17dc..35052ab5 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -169,7 +169,8 @@ open class SoraStream : TmdbProvider() { val res = app.get(resUrl).parsedSafe() ?: throw ErrorLoadingException("Invalid Json Response") val title = res.title ?: res.name ?: return null - val poster = getOriImageUrl(res.backdropPath) + val poster = getOriImageUrl(res.posterPath) + val bgPoster = getOriImageUrl(res.backdropPath) val orgTitle = res.originalTitle ?: res.originalName ?: return null val year = (res.releaseDate ?: res.firstAirDate)?.split("-")?.first()?.toIntOrNull() val rating = res.vote_average.toString().toRatingInt() @@ -228,6 +229,7 @@ open class SoraStream : TmdbProvider() { episodes ) { this.posterUrl = poster + this.backgroundPosterUrl = bgPoster this.year = year this.plot = res.overview this.tags = genres @@ -253,6 +255,7 @@ open class SoraStream : TmdbProvider() { ).toJson(), ) { this.posterUrl = poster + this.backgroundPosterUrl = bgPoster this.year = year this.plot = res.overview this.tags = genres