diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cc06223e..dd7a2ec0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,20 +1,25 @@ + xmlns:tools="http://schemas.android.com/tools" + package="com.lagradost.cloudstream3"> - - - - - - - - + + + + + + + + + - - + + + + android:value="com.lagradost.cloudstream3.utils.CastOptionsProvider" /> - - - - - + + + + + @@ -55,22 +62,62 @@ android:label="@string/app_name" android:resizeableActivity="true" android:supportsPictureInPicture="true"> - - - - + + + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -78,45 +125,22 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - - - + + + + + + @@ -125,19 +149,17 @@ android:enabled="false" android:exported="true"> - + - + android:exported="false"> - + android:name=".ui.ControllerActivity"> + android:resource="@xml/provider_paths" /> \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt index 47081258..de0d0d72 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/EgyBestProvider.kt @@ -160,12 +160,55 @@ class EgyBestProvider : MainAPI() { @JsonProperty("quality") val quality: Int?, @JsonProperty("link") val link: String ) + + override suspend fun loadLinks( data: String, isCasting: Boolean, subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + /*val baseURL = data.split("/")[0] + "//" + data.split("/")[2] + val episodeSoup = app.get(data).document + + val vidstreamURL = fixUrlNull(episodeSoup.selectFirst("iframe.auto-size")?.attr("src") ) ?: throw ErrorLoadingException("No iframe") + val videoSoup = app.get(vidstreamURL).document + fixUrlNull( videoSoup.select("source").firstOrNull { it.hasAttr("src") }?.attr("src"))?.let { + callback.invoke(ExtractorLink(this.name,this.name,it,"",Qualities.Unknown.value,it.contains(".m3u8"))) + } ?: run { + var jsCode = videoSoup.select("script")[1].data() + + val verificationToken = Regex("{'[0-9a-zA-Z_]*':'ok'}").findAll(jsCode)[0][2:-7] + val encodedAdLinkVar = Regex("([0-9a-zA-Z_]{2,12}\[Math").findAll(jsCode)[0][1:-5] + val encodingArraysRegEx = Regex(",[0-9a-zA-Z_]{2,12}=\[\]").findAll(jsCode) + val firstEncodingArray = encodingArraysRegEx[1][1:-3] + val secondEncodingArray = encodingArraysRegEx[2][1:-3] + + jsCode = Regex("^