From 6c34ee698e2bd1434c8b6058ae68c922c58c9213 Mon Sep 17 00:00:00 2001 From: Zaw Date: Wed, 15 Feb 2023 22:10:40 +0300 Subject: [PATCH] some of them might work --- ArabSeedProvider/build.gradle.kts | 2 +- .../kotlin/com/arabseed/ArabSeedProvider.kt | 2 +- EgyDeadProvider/build.gradle.kts | 2 +- .../kotlin/com/egydead/EgyDeadProvider.kt | 35 +++++++++++++++---- MyCimaProvider/build.gradle.kts | 2 +- .../main/kotlin/com/mycima/MyCimaProvider.kt | 2 +- 6 files changed, 34 insertions(+), 11 deletions(-) diff --git a/ArabSeedProvider/build.gradle.kts b/ArabSeedProvider/build.gradle.kts index 2b9098c..287cea4 100644 --- a/ArabSeedProvider/build.gradle.kts +++ b/ArabSeedProvider/build.gradle.kts @@ -1,4 +1,4 @@ -version = 2 +version = 3 cloudstream { description = "" diff --git a/ArabSeedProvider/src/main/kotlin/com/arabseed/ArabSeedProvider.kt b/ArabSeedProvider/src/main/kotlin/com/arabseed/ArabSeedProvider.kt index 40f16ab..8a332e5 100644 --- a/ArabSeedProvider/src/main/kotlin/com/arabseed/ArabSeedProvider.kt +++ b/ArabSeedProvider/src/main/kotlin/com/arabseed/ArabSeedProvider.kt @@ -7,7 +7,7 @@ import org.jsoup.nodes.Element class ArabSeed : MainAPI() { override var lang = "ar" - override var mainUrl = "https://m5.arabseed.ink" + override var mainUrl = "https://e.arabseed.ink" override var name = "ArabSeed" override val usesWebView = false override val hasMainPage = true diff --git a/EgyDeadProvider/build.gradle.kts b/EgyDeadProvider/build.gradle.kts index d3e6bd3..addf045 100644 --- a/EgyDeadProvider/build.gradle.kts +++ b/EgyDeadProvider/build.gradle.kts @@ -1,4 +1,4 @@ -version = 2 +version = 3 cloudstream { description = "Some LinkBox links are broken idk why" diff --git a/EgyDeadProvider/src/main/kotlin/com/egydead/EgyDeadProvider.kt b/EgyDeadProvider/src/main/kotlin/com/egydead/EgyDeadProvider.kt index 54cd366..e5d1897 100644 --- a/EgyDeadProvider/src/main/kotlin/com/egydead/EgyDeadProvider.kt +++ b/EgyDeadProvider/src/main/kotlin/com/egydead/EgyDeadProvider.kt @@ -128,15 +128,19 @@ class EgyDead : MainAPI() { } } data class LinkBox ( - @JsonProperty("data" ) var data : Data? = Data(), + @JsonProperty("data" ) var data : Data? = Data(), ) data class Data ( - @JsonProperty("rList" ) var rList : ArrayList = arrayListOf(), + @JsonProperty("itemInfo" ) var itemInfo : ItemInfo? = ItemInfo(), ) - data class RList ( + data class ItemInfo ( + @JsonProperty("resolutionList" ) var resolutionList : ArrayList = arrayListOf(), + ) + data class ResolutionList ( + @JsonProperty("resolution" ) var resolution : String? = null, @JsonProperty("size" ) var size : Double? = null, -// @JsonProperty("sub_type" ) var subType : String? = null, + @JsonProperty("sub_type" ) var subType : String? = null, @JsonProperty("url" ) var url : String? = null, ) @@ -153,14 +157,33 @@ class EgyDead : MainAPI() { callback: (ExtractorLink) -> Unit ): Boolean { val doc = app.post(data, data = mapOf("View" to "1")).document + doc.select(".donwload-servers-list > li").apmap { + val url = it.select("a") + if(url.contains("www.linkbox.to")) { + val apiUrl = "https://" + URI(url).host + "/api/file/detail?itemId=" + url.substringAfter("/file/") + val json = app.get(apiUrl).parsed() + json.data?.itemInfo?.resolutionList?.forEach { + callback.invoke( + ExtractorLink( + this.name, + "LinkBox " + bytesToHumanReadableSize(it.size ?: 0.0), + it.url ?: return@forEach, + mainUrl, + it.resolution.replace("p",""), + false + ) + ) + } + } else loadExtractor(url, data, subtitleCallback, callback) + } val watchList = doc.select("ul.serversList > li") watchList.apmap { li -> val iframeUrl = li.attr("data-link") val quality = li.select("small").text().getIntFromText() ?: Qualities.Unknown.value if(iframeUrl.contains("www.linkbox.to")) { - val apiUrl = "https://" + URI(iframeUrl).host + "/api/open/get_url?itemId=" + iframeUrl.substringAfter("id=").substringBefore("&") + val apiUrl = "https://" + URI(iframeUrl).host + "/api/file/detail?itemId=" + iframeUrl.substringAfter("id=").substringBefore("&") val json = app.get(apiUrl).parsed() - json.data?.rList?.forEach { + json.data?.itemInfo?.resolutionList?.forEach { callback.invoke( ExtractorLink( this.name, diff --git a/MyCimaProvider/build.gradle.kts b/MyCimaProvider/build.gradle.kts index dcff39e..8f4bd59 100644 --- a/MyCimaProvider/build.gradle.kts +++ b/MyCimaProvider/build.gradle.kts @@ -1,4 +1,4 @@ -version = 5 +version = 6 cloudstream { description = "" diff --git a/MyCimaProvider/src/main/kotlin/com/mycima/MyCimaProvider.kt b/MyCimaProvider/src/main/kotlin/com/mycima/MyCimaProvider.kt index cfb8136..a78f522 100644 --- a/MyCimaProvider/src/main/kotlin/com/mycima/MyCimaProvider.kt +++ b/MyCimaProvider/src/main/kotlin/com/mycima/MyCimaProvider.kt @@ -10,7 +10,7 @@ import org.jsoup.nodes.Element class MyCima : MainAPI() { override var lang = "ar" - override var mainUrl = "https://mycima.tv" + override var mainUrl = "https://wecima.tube" override var name = "MyCima" override val usesWebView = false override val hasMainPage = true