Compare commits

...

5 Commits

Author SHA1 Message Date
Zaw a50fcc8cf5 pls work 2023-02-15 22:45:47 +03:00
Zaw 36744a22a3 Revert "idk why but that fixes it"
This reverts commit b408afe008.
2023-02-15 22:35:18 +03:00
Zaw b408afe008 idk why but that fixes it 2023-02-15 22:30:24 +03:00
yoyzo 3c0e78cacc
Update build.yml 2023-02-15 22:13:08 +03:00
Zaw 6c34ee698e some of them might work 2023-02-15 22:10:40 +03:00
10 changed files with 47 additions and 17 deletions

View File

@ -9,8 +9,8 @@ on:
push: push:
branches: branches:
# choose your default branch # choose your default branch
- master # - master
# - main - main
paths-ignore: paths-ignore:
- '*.md' - '*.md'
- '*.html' - '*.html'

View File

@ -1,4 +1,4 @@
version = 2 version = 3
cloudstream { cloudstream {
description = "" description = ""

View File

@ -7,7 +7,7 @@ import org.jsoup.nodes.Element
class ArabSeed : MainAPI() { class ArabSeed : MainAPI() {
override var lang = "ar" override var lang = "ar"
override var mainUrl = "https://m5.arabseed.ink" override var mainUrl = "https://e.arabseed.ink"
override var name = "ArabSeed" override var name = "ArabSeed"
override val usesWebView = false override val usesWebView = false
override val hasMainPage = true override val hasMainPage = true

View File

@ -1,4 +1,4 @@
version = 2 version = 3
cloudstream { cloudstream {
description = "Some LinkBox links are broken idk why" description = "Some LinkBox links are broken idk why"

View File

@ -128,15 +128,19 @@ class EgyDead : MainAPI() {
} }
} }
data class LinkBox ( data class LinkBox (
@JsonProperty("data" ) var data : Data? = Data(), @JsonProperty("data" ) var data : Data? = Data(),
) )
data class Data ( data class Data (
@JsonProperty("rList" ) var rList : ArrayList<RList> = arrayListOf(), @JsonProperty("itemInfo" ) var itemInfo : ItemInfo? = ItemInfo(),
) )
data class RList ( data class ItemInfo (
@JsonProperty("resolutionList" ) var resolutionList : ArrayList<ResolutionList> = arrayListOf(),
)
data class ResolutionList (
@JsonProperty("resolution" ) var resolution : String? = null, @JsonProperty("resolution" ) var resolution : String? = null,
@JsonProperty("size" ) var size : Double? = 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, @JsonProperty("url" ) var url : String? = null,
) )
@ -153,14 +157,33 @@ class EgyDead : MainAPI() {
callback: (ExtractorLink) -> Unit callback: (ExtractorLink) -> Unit
): Boolean { ): Boolean {
val doc = app.post(data, data = mapOf("View" to "1")).document val doc = app.post(data, data = mapOf("View" to "1")).document
doc.select(".donwload-servers-list > li").apmap { element ->
val url = element.select("a").attr("href")
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<LinkBox>()
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","")?.toInt() ?: Qualities.Unknown.value,
false
)
)
}
} else loadExtractor(url, data, subtitleCallback, callback)
}
val watchList = doc.select("ul.serversList > li") val watchList = doc.select("ul.serversList > li")
watchList.apmap { li -> watchList.apmap { li ->
val iframeUrl = li.attr("data-link") val iframeUrl = li.attr("data-link")
val quality = li.select("small").text().getIntFromText() ?: Qualities.Unknown.value val quality = li.select("small").text().getIntFromText() ?: Qualities.Unknown.value
if(iframeUrl.contains("www.linkbox.to")) { 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<LinkBox>() val json = app.get(apiUrl).parsed<LinkBox>()
json.data?.rList?.forEach { json.data?.itemInfo?.resolutionList?.forEach {
callback.invoke( callback.invoke(
ExtractorLink( ExtractorLink(
this.name, this.name,

View File

@ -1,6 +1,7 @@
package com.movizland package com.movizland
import android.annotation.SuppressLint
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.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLink
@ -71,6 +72,7 @@ class Movizland : MainAPI() {
return newHomePageResponse(request.name, list) return newHomePageResponse(request.name, list)
} }
@SuppressLint("SuspiciousIndentation")
override suspend fun search(query: String): List<SearchResponse> { override suspend fun search(query: String): List<SearchResponse> {
val q = query.replace(" ".toRegex(), "%20") val q = query.replace(" ".toRegex(), "%20")
val result = arrayListOf<SearchResponse>() val result = arrayListOf<SearchResponse>()

View File

@ -1,4 +1,4 @@
version = 5 version = 6
cloudstream { cloudstream {
description = "" description = ""

View File

@ -5,12 +5,13 @@ import com.lagradost.cloudstream3.*
import com.lagradost.cloudstream3.LoadResponse.Companion.addActors import com.lagradost.cloudstream3.LoadResponse.Companion.addActors
import com.lagradost.cloudstream3.utils.AppUtils.parseJson import com.lagradost.cloudstream3.utils.AppUtils.parseJson
import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.ExtractorLink
import com.lagradost.cloudstream3.utils.loadExtractor
import org.jsoup.Jsoup import org.jsoup.Jsoup
import org.jsoup.nodes.Element import org.jsoup.nodes.Element
class MyCima : MainAPI() { class MyCima : MainAPI() {
override var lang = "ar" override var lang = "ar"
override var mainUrl = "https://mycima.tv" override var mainUrl = "https://wecima.tube"
override var name = "MyCima" override var name = "MyCima"
override val usesWebView = false override val usesWebView = false
override val hasMainPage = true override val hasMainPage = true
@ -308,8 +309,12 @@ class MyCima : MainAPI() {
subtitleCallback: (SubtitleFile) -> Unit, subtitleCallback: (SubtitleFile) -> Unit,
callback: (ExtractorLink) -> Unit callback: (ExtractorLink) -> Unit
): Boolean { ): Boolean {
app.get(data).document val doc = app.get(data).document
.select("ul.List--Download--Mycima--Single:nth-child(2) li").map { doc.select(".WatchServersList > ul > li").apmap {
val url = it.select("btn").attr("data-url")
loadExtractor(url, data, subtitleCallback, callback)
}
doc.select("ul.List--Download--Mycima--Single:nth-child(2) li").apmap {
it.select("a").map { linkElement -> it.select("a").map { linkElement ->
callback.invoke( callback.invoke(
ExtractorLink( ExtractorLink(

View File

@ -53,7 +53,7 @@ open class JWPlayer : ExtractorApi() {
) )
} }
class VidHD : JWPlayer() { class VidHDJW : JWPlayer() {
override val name = "VidHD" override val name = "VidHD"
override val mainUrl = "https://vidhd.fun" override val mainUrl = "https://vidhd.fun"
} }

View File

@ -7,8 +7,8 @@ import android.content.Context
class Shahid4uPlugin: Plugin() { class Shahid4uPlugin: Plugin() {
override fun load(context: Context) { override fun load(context: Context) {
registerMainAPI(Shahid4u()) registerMainAPI(Shahid4u())
registerExtractorAPI(VidHDJW())
registerExtractorAPI(VidHD()) registerExtractorAPI(VidHD())
registerExtractorAPI(GoStream()) registerExtractorAPI(GoStream())
registerExtractorAPI(Vidbom())
} }
} }