sora: changed flixhq API

This commit is contained in:
hexated 2023-03-02 13:06:31 +07:00
parent ff166f1665
commit 8fbd218574
3 changed files with 12 additions and 16 deletions

View File

@ -1,5 +1,5 @@
// use an integer for version numbers // use an integer for version numbers
version = 98 version = 99
cloudstream { cloudstream {

View File

@ -825,7 +825,7 @@ object SoraExtractor : SoraStream() {
callback: (ExtractorLink) -> Unit callback: (ExtractorLink) -> Unit
) { ) {
val fixTitle = title?.replace("", "-") val fixTitle = title?.replace("", "-")
val id = app.get("$consumetFlixhqAPI/$title") val id = app.get("$haikeiFlixhqAPI/$title")
.parsedSafe<ConsumetSearchResponse>()?.results?.find { .parsedSafe<ConsumetSearchResponse>()?.results?.find {
if (season == null) { if (season == null) {
it.title?.equals( it.title?.equals(
@ -837,7 +837,7 @@ object SoraExtractor : SoraStream() {
}?.id ?: return }?.id ?: return
val episodeId = val episodeId =
app.get("$consumetFlixhqAPI/info?id=$id").parsedSafe<ConsumetDetails>()?.let { app.get("$haikeiFlixhqAPI/info?id=$id").parsedSafe<ConsumetDetails>()?.let {
if (season == null) { if (season == null) {
it.episodes?.first()?.id it.episodes?.first()?.id
} else { } else {
@ -850,9 +850,9 @@ object SoraExtractor : SoraStream() {
).apmap { server -> ).apmap { server ->
val sources = app.get( val sources = app.get(
if(server == "upcloud") { if(server == "upcloud") {
"$consumetFlixhqAPI/watch?episodeId=$episodeId&mediaId=$id" "$haikeiFlixhqAPI/watch?episodeId=$episodeId&mediaId=$id"
} else { } else {
"$consumetFlixhqAPI/watch?episodeId=$episodeId&mediaId=$id&server=$server" "$haikeiFlixhqAPI/watch?episodeId=$episodeId&mediaId=$id&server=$server"
}, },
).parsedSafe<ConsumetSourcesResponse>() ).parsedSafe<ConsumetSourcesResponse>()
val name = fixTitle(server) val name = fixTitle(server)
@ -1329,9 +1329,7 @@ object SoraExtractor : SoraStream() {
it.select("a").attr("href") to it.text() it.select("a").attr("href") to it.text()
} }
})?.filter { })?.filter {
it.first.contains("gdtot") && (it.second.contains( it.first.contains("gdtot") && it.second.contains(Regex("(?i)(4k|1080p)"))
"1080p", true
) || it.second.contains("4k", true))
} ?: return } ?: return
iframe.apmap { (iframeLink, title) -> iframe.apmap { (iframeLink, title) ->
@ -1383,10 +1381,11 @@ object SoraExtractor : SoraStream() {
val qualities = getFDoviesQuality(quality) val qualities = getFDoviesQuality(quality)
val fdLink = bypassFdAds(link) val fdLink = bypassFdAds(link)
val videoLink = when { val videoLink = when {
type.contains("gdtot") -> { // pass due too many gdtot links
val gdBotLink = extractGdbot(fdLink ?: return@apmap null) // type.contains("gdtot") -> {
extractGdflix(gdBotLink ?: return@apmap null) // val gdBotLink = extractGdbot(fdLink ?: return@apmap null)
} // extractGdflix(gdBotLink ?: return@apmap null)
// }
type.contains("oiya") -> { type.contains("oiya") -> {
extractOiya(fdLink ?: return@apmap null, qualities) extractOiya(fdLink ?: return@apmap null, qualities)
} }

View File

@ -22,7 +22,6 @@ import com.hexated.SoraExtractor.invokeXmovies
import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer
import com.lagradost.cloudstream3.metaproviders.TmdbProvider import com.lagradost.cloudstream3.metaproviders.TmdbProvider
import com.hexated.SoraExtractor.invokeCrunchyroll
import com.hexated.SoraExtractor.invokeDahmerMovies import com.hexated.SoraExtractor.invokeDahmerMovies
import com.hexated.SoraExtractor.invokeEdithxmovies import com.hexated.SoraExtractor.invokeEdithxmovies
import com.hexated.SoraExtractor.invokeFDMovies import com.hexated.SoraExtractor.invokeFDMovies
@ -32,7 +31,6 @@ import com.hexated.SoraExtractor.invokeGMovies
import com.hexated.SoraExtractor.invokeGdbotMovies import com.hexated.SoraExtractor.invokeGdbotMovies
import com.hexated.SoraExtractor.invokeGomovies import com.hexated.SoraExtractor.invokeGomovies
import com.hexated.SoraExtractor.invokeJmdkhMovies import com.hexated.SoraExtractor.invokeJmdkhMovies
import com.hexated.SoraExtractor.invokeJsmovies
import com.hexated.SoraExtractor.invokeKickassanime import com.hexated.SoraExtractor.invokeKickassanime
import com.hexated.SoraExtractor.invokeKisskh import com.hexated.SoraExtractor.invokeKisskh
import com.hexated.SoraExtractor.invokeLing import com.hexated.SoraExtractor.invokeLing
@ -53,7 +51,6 @@ import com.hexated.SoraExtractor.invokeTvMovies
import com.hexated.SoraExtractor.invokeUhdmovies import com.hexated.SoraExtractor.invokeUhdmovies
import com.hexated.SoraExtractor.invokeVitoenMovies import com.hexated.SoraExtractor.invokeVitoenMovies
import com.hexated.SoraExtractor.invokeWatchsomuch import com.hexated.SoraExtractor.invokeWatchsomuch
import com.hexated.SoraExtractor.invokeXtrememovies
import com.lagradost.cloudstream3.extractors.VidSrcExtractor import com.lagradost.cloudstream3.extractors.VidSrcExtractor
import com.lagradost.cloudstream3.utils.AppUtils.parseJson import com.lagradost.cloudstream3.utils.AppUtils.parseJson
import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.toJson
@ -99,7 +96,7 @@ open class SoraStream : TmdbProvider() {
const val filmxyAPI = "https://www.filmxy.vip" const val filmxyAPI = "https://www.filmxy.vip"
const val kimcartoonAPI = "https://kimcartoon.li" const val kimcartoonAPI = "https://kimcartoon.li"
const val xMovieAPI = "https://xemovies.to" const val xMovieAPI = "https://xemovies.to"
const val consumetFlixhqAPI = "https://api.consumet.org/movies/flixhq" const val haikeiFlixhqAPI = "https://api.haikei.xyz/movies/flixhq"
const val consumetZoroAPI = "https://api.consumet.org/anime/zoro" const val consumetZoroAPI = "https://api.consumet.org/anime/zoro"
const val consumetCrunchyrollAPI = "https://api.consumet.org/anime/crunchyroll" // dead const val consumetCrunchyrollAPI = "https://api.consumet.org/anime/crunchyroll" // dead
const val kickassanimeAPI = "https://www2.kickassanime.ro" const val kickassanimeAPI = "https://www2.kickassanime.ro"