From 03e8ade0e05b29ae580ed506a3e72924a66b970d Mon Sep 17 00:00:00 2001 From: hexated Date: Tue, 21 Feb 2023 16:02:45 +0700 Subject: [PATCH] sora: added new index site --- DramaidProvider/build.gradle.kts | 2 +- .../kotlin/com/hexated/DramaidProvider.kt | 2 +- SoraStream/build.gradle.kts | 2 +- .../main/kotlin/com/hexated/SoraExtractor.kt | 61 +++++++++++++++++++ .../src/main/kotlin/com/hexated/SoraStream.kt | 39 ++++++++++++ .../src/main/kotlin/com/hexated/SoraUtils.kt | 3 + 6 files changed, 106 insertions(+), 3 deletions(-) diff --git a/DramaidProvider/build.gradle.kts b/DramaidProvider/build.gradle.kts index 6fb3f17e..42fd4171 100644 --- a/DramaidProvider/build.gradle.kts +++ b/DramaidProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 5 +version = 6 cloudstream { diff --git a/DramaidProvider/src/main/kotlin/com/hexated/DramaidProvider.kt b/DramaidProvider/src/main/kotlin/com/hexated/DramaidProvider.kt index 7328a9c7..d1e90376 100644 --- a/DramaidProvider/src/main/kotlin/com/hexated/DramaidProvider.kt +++ b/DramaidProvider/src/main/kotlin/com/hexated/DramaidProvider.kt @@ -11,7 +11,7 @@ import org.jsoup.Jsoup import org.jsoup.nodes.Element class DramaidProvider : MainAPI() { - override var mainUrl = "hhttps://dramaid.best" + override var mainUrl = "https://dramaid.best" override var name = "DramaId" override val hasQuickSearch = false override val hasMainPage = true diff --git a/SoraStream/build.gradle.kts b/SoraStream/build.gradle.kts index 8d6cbb4a..062f9cfe 100644 --- a/SoraStream/build.gradle.kts +++ b/SoraStream/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 93 +version = 94 cloudstream { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 42f91f17..4f4fc869 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -2271,6 +2271,66 @@ object SoraExtractor : SoraStream() { ) } + suspend fun invokeRubyMovies( + apiUrl: String, + api: String, + title: String? = null, + year: Int? = null, + season: Int? = null, + episode: Int? = null, + callback: (ExtractorLink) -> Unit, + ) { + invokeIndex( + apiUrl, + api, + title, + year, + season, + episode, + callback, + ) + } + + suspend fun invokeShinobiMovies( + apiUrl: String, + api: String, + title: String? = null, + year: Int? = null, + season: Int? = null, + episode: Int? = null, + callback: (ExtractorLink) -> Unit, + ) { + invokeIndex( + apiUrl, + api, + title, + year, + season, + episode, + callback, + ) + } + + suspend fun invokeVitoenMovies( + apiUrl: String, + api: String, + title: String? = null, + year: Int? = null, + season: Int? = null, + episode: Int? = null, + callback: (ExtractorLink) -> Unit, + ) { + invokeIndex( + apiUrl, + api, + title, + year, + season, + episode, + callback, + ) + } + private suspend fun invokeIndex( apiUrl: String, api: String, @@ -2385,6 +2445,7 @@ object SoraExtractor : SoraStream() { val files = app.get( "https://api.telegram.d1.zindex.eu.org/search?name=${encode(query)}&page=1", referer = tgarMovieAPI, + headers = mapOf("Origin" to tgarMovieAPI), verify = false ).parsedSafe()?.results?.filter { media -> (if (season == null) { diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt index fd767e9d..ce325b5c 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStream.kt @@ -42,11 +42,14 @@ import com.hexated.SoraExtractor.invokePapaonMovies1 import com.hexated.SoraExtractor.invokePapaonMovies2 import com.hexated.SoraExtractor.invokeRStream import com.hexated.SoraExtractor.invokeRinzrymovies +import com.hexated.SoraExtractor.invokeRubyMovies +import com.hexated.SoraExtractor.invokeShinobiMovies import com.hexated.SoraExtractor.invokeSmashyStream import com.hexated.SoraExtractor.invokeSoraStream import com.hexated.SoraExtractor.invokeTgarMovies import com.hexated.SoraExtractor.invokeTvMovies import com.hexated.SoraExtractor.invokeUhdmovies +import com.hexated.SoraExtractor.invokeVitoenMovies import com.hexated.SoraExtractor.invokeWatchsomuch import com.hexated.SoraExtractor.invokeXtrememovies import com.lagradost.cloudstream3.utils.AppUtils.parseJson @@ -129,6 +132,9 @@ open class SoraStream : TmdbProvider() { const val dahmerMoviesAPI = "https://edytjedhgmdhm.abfhaqrhbnf.workers.dev" const val tgarMovieAPI = "https://tgarchive.eu.org" const val jmdkhMovieAPI = "https://tg.jmdkh.eu.org/0:" + const val rubyMovieAPI = "https://upload.rubyshare111.workers.dev/0:" + const val shinobiMovieAPI = "https://index.shinobicloud.cf/0:" + const val vitoenMovieAPI = "https://openmatte.vitoencodes.workers.dev/0:" fun getType(t: String?): TvType { return when (t) { @@ -733,6 +739,39 @@ open class SoraStream : TmdbProvider() { callback ) }, + { + if (!res.isAnime) invokeShinobiMovies( + shinobiMovieAPI, + "ShinobiMovies", + res.title, + res.year, + res.season, + res.episode, + callback + ) + }, + { + if (!res.isAnime) invokeRubyMovies( + rubyMovieAPI, + "RubyMovies", + res.title, + res.year, + res.season, + res.episode, + callback + ) + }, + { + if (!res.isAnime) invokeVitoenMovies( + vitoenMovieAPI, + "VitoenMovies", + res.title, + res.year, + res.season, + res.episode, + callback + ) + }, ) return true diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt index 3ff2c039..ef4ef7b1 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraUtils.kt @@ -46,6 +46,9 @@ val encodedIndex = arrayOf( "PapaonMovies[1]", "PapaonMovies[2]", "JmdkhMovies", + "RubyMovies", + "ShinobiMovies", + "VitoenMovies", ) val lockedIndex = arrayOf(