From 31c783d0b46c272227027205b13e8e0ef344ccd1 Mon Sep 17 00:00:00 2001 From: coxju <118901131+coxju@users.noreply.github.com> Date: Tue, 16 Jan 2024 23:06:02 +0530 Subject: [PATCH] feat: added extractor vidhide and streamwish (#889) Co-authored-by: coxju --- .../extractors/StreamWishExtractor.kt | 34 +++++++++++++++++++ .../extractors/VidhideExtractor.kt | 34 +++++++++++++++++++ .../cloudstream3/utils/ExtractorApi.kt | 4 +++ 3 files changed, 72 insertions(+) create mode 100644 app/src/main/java/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt create mode 100644 app/src/main/java/com/lagradost/cloudstream3/extractors/VidhideExtractor.kt diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt new file mode 100644 index 00000000..77d98e49 --- /dev/null +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/StreamWishExtractor.kt @@ -0,0 +1,34 @@ +package com.lagradost.cloudstream3.extractors + +import com.lagradost.cloudstream3.app +import com.lagradost.cloudstream3.network.WebViewResolver +import com.lagradost.cloudstream3.utils.ExtractorApi +import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities + +open class StreamWishExtractor : ExtractorApi() { + override var name = "StreamWish" + override var mainUrl = "https://streamwish.to" + override val requiresReferer = false + + override suspend fun getUrl(url: String, referer: String?): List? { + val response = app.get( + url, referer = referer ?: "$mainUrl/", interceptor = WebViewResolver( + Regex("""master\.m3u8""") + ) + ) + val sources = mutableListOf() + if (response.url.contains("m3u8")) + sources.add( + ExtractorLink( + source = name, + name = name, + url = response.url, + referer = referer ?: "$mainUrl/", + quality = Qualities.Unknown.value, + isM3u8 = true + ) + ) + return sources + } +} \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/extractors/VidhideExtractor.kt b/app/src/main/java/com/lagradost/cloudstream3/extractors/VidhideExtractor.kt new file mode 100644 index 00000000..a5307d93 --- /dev/null +++ b/app/src/main/java/com/lagradost/cloudstream3/extractors/VidhideExtractor.kt @@ -0,0 +1,34 @@ +package com.lagradost.cloudstream3.extractors + +import com.lagradost.cloudstream3.app +import com.lagradost.cloudstream3.network.WebViewResolver +import com.lagradost.cloudstream3.utils.ExtractorApi +import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities + +open class VidhideExtractor : ExtractorApi() { + override var name = "VidHide" + override var mainUrl = "https://vidhide.com" + override val requiresReferer = false + + override suspend fun getUrl(url: String, referer: String?): List? { + val response = app.get( + url, referer = referer ?: "$mainUrl/", interceptor = WebViewResolver( + Regex("""master\.m3u8""") + ) + ) + val sources = mutableListOf() + if (response.url.contains("m3u8")) + sources.add( + ExtractorLink( + source = name, + name = name, + url = response.url, + referer = referer ?: "$mainUrl/", + quality = Qualities.Unknown.value, + isM3u8 = true + ) + ) + return sources + } +} \ No newline at end of file diff --git a/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt b/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt index 1ae1b9b5..48a8cdab 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/utils/ExtractorApi.kt @@ -153,6 +153,7 @@ import com.lagradost.cloudstream3.extractors.StreamSB9 import com.lagradost.cloudstream3.extractors.StreamTape import com.lagradost.cloudstream3.extractors.StreamTapeNet import com.lagradost.cloudstream3.extractors.StreamTapeXyz +import com.lagradost.cloudstream3.extractors.StreamWishExtractor import com.lagradost.cloudstream3.extractors.StreamhideCom import com.lagradost.cloudstream3.extractors.StreamhideTo import com.lagradost.cloudstream3.extractors.Streamhub2 @@ -181,6 +182,7 @@ import com.lagradost.cloudstream3.extractors.VideoVard import com.lagradost.cloudstream3.extractors.VideovardSX import com.lagradost.cloudstream3.extractors.Vidgomunime import com.lagradost.cloudstream3.extractors.Vidgomunimesb +import com.lagradost.cloudstream3.extractors.VidhideExtractor import com.lagradost.cloudstream3.extractors.Vidmoly import com.lagradost.cloudstream3.extractors.Vidmolyme import com.lagradost.cloudstream3.extractors.Vido @@ -840,6 +842,8 @@ val extractorApis: MutableList = arrayListOf( Rabbitstream(), Dokicloud(), Megacloud(), + VidhideExtractor(), + StreamWishExtractor() )