From 786958e7d3b4ee2245d7456de443e5795fe4d7f3 Mon Sep 17 00:00:00 2001 From: Thorodinson1 Date: Wed, 12 Jul 2023 20:54:28 +0530 Subject: [PATCH] up --- .../cloudstream3/extractors/StreamoUpload.kt | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt index 83d2dfa8..e2897e0c 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamoUpload.kt @@ -4,34 +4,38 @@ import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorApi import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.M3u8Helper +import org.jsoup.select.Elements import java.util.regex.Matcher import java.util.regex.Pattern -class StreamoUpload1 : StreamoUpload() { +class StreamoUpload : StreamoUpload() { override val mainUrl = "https://streamoupload.xyz" } -open class StreamoUpload : ExtractorApi() { - override val name = "StreamoUpload" +open class StreamoUpload : ExtractorApi(name = "StreamoUpload") { override val mainUrl = "https://streamoupload.xyz" override val requiresReferer = true override suspend fun getUrl(url: String, referer: String?): List { val sources = mutableListOf() val response = app.get(url, referer = referer) + val scriptElements: Elements = response.document.select("script") val scriptPattern: Pattern = Pattern.compile("jwplayer\\(\"vplayer\"\\)\\.setup\\((.*?)\\);", Pattern.DOTALL) val filePattern: Pattern = Pattern.compile("\"file\"\\s*:\\s*\"(.*?)\"") - val scriptMatcher: Matcher = scriptPattern.matcher(response.body) + for (script in scriptElements) { + if (script.data().contains("jwplayer(\"vplayer\").setup(")) { + val dataMatcher: Matcher = scriptPattern.matcher(script.data()) + if (dataMatcher.find()) { + val data = dataMatcher.group(1) + val fileMatcher: Matcher = filePattern.matcher(data) - while (scriptMatcher.find()) { - val scriptData = scriptMatcher.group(1) - val fileMatcher: Matcher = filePattern.matcher(scriptData) - - while (fileMatcher.find()) { - val fileUrl = fileMatcher.group(1) - val videoUrl = "$mainUrl$fileUrl" - sources.add(ExtractorLink(videoUrl)) + while (fileMatcher.find()) { + val fileUrl = fileMatcher.group(1) + val videoUrl = "$mainUrl$fileUrl" + sources.add(ExtractorLink(videoUrl)) + } + } } } @@ -42,3 +46,4 @@ open class StreamoUpload : ExtractorApi() { @JsonProperty("file") val file: String, ) } +