mirror of
https://github.com/hexated/cloudstream-extensions-hexated.git
synced 2024-08-15 00:03:22 +00:00
parent
ed1ddbc9dd
commit
1a3714d1eb
6 changed files with 14 additions and 14 deletions
|
@ -1,5 +1,5 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 63
|
version = 64
|
||||||
|
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -11,7 +11,7 @@ import java.net.URI
|
||||||
|
|
||||||
open class Movierulzhd : MainAPI() {
|
open class Movierulzhd : MainAPI() {
|
||||||
|
|
||||||
override var mainUrl = "https://movierulzhd.cafe"
|
override var mainUrl = "https://movierulzhd.club"
|
||||||
var directUrl = ""
|
var directUrl = ""
|
||||||
override var name = "Movierulzhd"
|
override var name = "Movierulzhd"
|
||||||
override val hasMainPage = true
|
override val hasMainPage = true
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import org.jetbrains.kotlin.konan.properties.Properties
|
import org.jetbrains.kotlin.konan.properties.Properties
|
||||||
|
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 226
|
version = 227
|
||||||
|
|
||||||
android {
|
android {
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
|
|
|
@ -857,7 +857,7 @@ object SoraExtractor : SoraStream() {
|
||||||
invokeAnimetosho(malId, season, episode, subtitleCallback, callback)
|
invokeAnimetosho(malId, season, episode, subtitleCallback, callback)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
invokeAniwatch(zoroIds, episode, subtitleCallback, callback)
|
invokeHianime(zoroIds, episode, subtitleCallback, callback)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
invokeAniwave(aniwaveId, episode, subtitleCallback, callback)
|
invokeAniwave(aniwaveId, episode, subtitleCallback, callback)
|
||||||
|
@ -955,7 +955,7 @@ object SoraExtractor : SoraStream() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun invokeAniwatch(
|
private suspend fun invokeHianime(
|
||||||
animeIds: List<String?>? = null,
|
animeIds: List<String?>? = null,
|
||||||
episode: Int? = null,
|
episode: Int? = null,
|
||||||
subtitleCallback: (SubtitleFile) -> Unit,
|
subtitleCallback: (SubtitleFile) -> Unit,
|
||||||
|
@ -966,17 +966,17 @@ object SoraExtractor : SoraStream() {
|
||||||
)
|
)
|
||||||
animeIds?.apmap { id ->
|
animeIds?.apmap { id ->
|
||||||
val episodeId = app.get(
|
val episodeId = app.get(
|
||||||
"$aniwatchAPI/ajax/v2/episode/list/${id ?: return@apmap}",
|
"$hianimeAPI/ajax/v2/episode/list/${id ?: return@apmap}",
|
||||||
headers = headers
|
headers = headers
|
||||||
).parsedSafe<AniwatchResponses>()?.html?.let {
|
).parsedSafe<HianimeResponses>()?.html?.let {
|
||||||
Jsoup.parse(it)
|
Jsoup.parse(it)
|
||||||
}?.select("div.ss-list a")?.find { it.attr("data-number") == "${episode ?: 1}" }
|
}?.select("div.ss-list a")?.find { it.attr("data-number") == "${episode ?: 1}" }
|
||||||
?.attr("data-id")
|
?.attr("data-id")
|
||||||
|
|
||||||
val servers = app.get(
|
val servers = app.get(
|
||||||
"$aniwatchAPI/ajax/v2/episode/servers?episodeId=${episodeId ?: return@apmap}",
|
"$hianimeAPI/ajax/v2/episode/servers?episodeId=${episodeId ?: return@apmap}",
|
||||||
headers = headers
|
headers = headers
|
||||||
).parsedSafe<AniwatchResponses>()?.html?.let { Jsoup.parse(it) }
|
).parsedSafe<HianimeResponses>()?.html?.let { Jsoup.parse(it) }
|
||||||
?.select("div.item.server-item")?.map {
|
?.select("div.item.server-item")?.map {
|
||||||
Triple(
|
Triple(
|
||||||
it.text(),
|
it.text(),
|
||||||
|
@ -987,15 +987,15 @@ object SoraExtractor : SoraStream() {
|
||||||
|
|
||||||
servers?.apmap servers@{ server ->
|
servers?.apmap servers@{ server ->
|
||||||
val iframe = app.get(
|
val iframe = app.get(
|
||||||
"$aniwatchAPI/ajax/v2/episode/sources?id=${server.second ?: return@servers}",
|
"$hianimeAPI/ajax/v2/episode/sources?id=${server.second ?: return@servers}",
|
||||||
headers = headers
|
headers = headers
|
||||||
).parsedSafe<AniwatchResponses>()?.link
|
).parsedSafe<HianimeResponses>()?.link
|
||||||
?: return@servers
|
?: return@servers
|
||||||
val audio = if (server.third == "sub") "Raw" else "English Dub"
|
val audio = if (server.third == "sub") "Raw" else "English Dub"
|
||||||
loadCustomExtractor(
|
loadCustomExtractor(
|
||||||
"${server.first} [$audio]",
|
"${server.first} [$audio]",
|
||||||
iframe,
|
iframe,
|
||||||
"$aniwatchAPI/",
|
"$hianimeAPI/",
|
||||||
subtitleCallback,
|
subtitleCallback,
|
||||||
callback,
|
callback,
|
||||||
)
|
)
|
||||||
|
|
|
@ -274,7 +274,7 @@ data class MALSyncResponses(
|
||||||
@JsonProperty("Sites") val sites: MALSyncSites? = null,
|
@JsonProperty("Sites") val sites: MALSyncSites? = null,
|
||||||
)
|
)
|
||||||
|
|
||||||
data class AniwatchResponses(
|
data class HianimeResponses(
|
||||||
@JsonProperty("html") val html: String? = null,
|
@JsonProperty("html") val html: String? = null,
|
||||||
@JsonProperty("link") val link: String? = null,
|
@JsonProperty("link") val link: String? = null,
|
||||||
)
|
)
|
||||||
|
|
|
@ -85,7 +85,7 @@ open class SoraStream : TmdbProvider() {
|
||||||
const val noverseAPI = "https://www.nollyverse.com"
|
const val noverseAPI = "https://www.nollyverse.com"
|
||||||
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 aniwatchAPI = "https://aniwatch.to"
|
const val hianimeAPI = "https://hianime.to"
|
||||||
const val aniwaveAPI = "https://aniwave.to"
|
const val aniwaveAPI = "https://aniwave.to"
|
||||||
const val crunchyrollAPI = "https://beta-api.crunchyroll.com"
|
const val crunchyrollAPI = "https://beta-api.crunchyroll.com"
|
||||||
const val kissKhAPI = "https://kisskh.co"
|
const val kissKhAPI = "https://kisskh.co"
|
||||||
|
|
Loading…
Reference in a new issue