From 8d94a47bdd32d43753941095cd81f2f07c681c32 Mon Sep 17 00:00:00 2001 From: Jace <54625750+Jacekun@users.noreply.github.com> Date: Thu, 3 Nov 2022 07:04:32 +0800 Subject: [PATCH] [Feature] Added VIP HD links to all in preparation for NNN --- .../src/main/kotlin/com/jacekun/Hahomoe.kt | 12 ++++++++++++ Hanime/src/main/kotlin/com/jacekun/Hanime.kt | 12 ++++++++++++ .../main/kotlin/com/jacekun/HentaiHaven.kt | 13 ++++++++++++- .../kotlin/com/jacekun/JavFreeProvider.kt | 13 ++++++++++++- JavHD/src/main/kotlin/com/jacekun/JavHD.kt | 13 ++++++++++++- .../main/kotlin/com/jacekun/JavSubProvider.kt | 13 ++++++++++++- .../src/main/kotlin/com/jacekun/JavTube.kt | 19 ++++++++++++------- OpJav/src/main/kotlin/com/jacekun/OpJav.kt | 13 ++++++++++++- .../src/main/kotlin/com/jacekun/Pornhub.kt | 11 +++++++++++ Vlxx/src/main/kotlin/com/jacekun/Vlxx.kt | 12 ++++++++++++ .../kotlin/com/jacekun/XvideosProvider.kt | 13 ++++++++++++- 11 files changed, 131 insertions(+), 13 deletions(-) diff --git a/Hahomoe/src/main/kotlin/com/jacekun/Hahomoe.kt b/Hahomoe/src/main/kotlin/com/jacekun/Hahomoe.kt index 2688b08..7f835de 100644 --- a/Hahomoe/src/main/kotlin/com/jacekun/Hahomoe.kt +++ b/Hahomoe/src/main/kotlin/com/jacekun/Hahomoe.kt @@ -6,6 +6,7 @@ import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.getQualityFromName import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.mvvm.logError +import com.lagradost.cloudstream3.utils.Qualities import java.text.SimpleDateFormat import java.util.* import khttp.structures.cookie.CookieJar @@ -261,6 +262,17 @@ class Hahomoe : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) val soup = app.get(data).document val sources = ArrayList() diff --git a/Hanime/src/main/kotlin/com/jacekun/Hanime.kt b/Hanime/src/main/kotlin/com/jacekun/Hanime.kt index fe2bb5e..46ae79e 100644 --- a/Hanime/src/main/kotlin/com/jacekun/Hanime.kt +++ b/Hanime/src/main/kotlin/com/jacekun/Hanime.kt @@ -11,6 +11,7 @@ import com.lagradost.cloudstream3.utils.getQualityFromName import com.fasterxml.jackson.module.kotlin.readValue import com.lagradost.cloudstream3.network.CloudflareKiller import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson +import com.lagradost.cloudstream3.utils.Qualities import java.text.SimpleDateFormat import java.util.* import kotlin.collections.ArrayList @@ -278,6 +279,17 @@ class Hanime : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) val res = app.get(data).text val response = tryParseJson(res) diff --git a/HentaiHaven/src/main/kotlin/com/jacekun/HentaiHaven.kt b/HentaiHaven/src/main/kotlin/com/jacekun/HentaiHaven.kt index e88f9fe..27cf3fa 100644 --- a/HentaiHaven/src/main/kotlin/com/jacekun/HentaiHaven.kt +++ b/HentaiHaven/src/main/kotlin/com/jacekun/HentaiHaven.kt @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.mvvm.logError import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.getQualityFromName import org.jsoup.select.Elements @@ -104,7 +105,17 @@ class HentaiHaven : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { - + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) try { Log.i(name, "Loading iframe") val requestLink = "${mainUrl}/wp-content/plugins/player-logic/api.php" diff --git a/JavFreeProvider/src/main/kotlin/com/jacekun/JavFreeProvider.kt b/JavFreeProvider/src/main/kotlin/com/jacekun/JavFreeProvider.kt index 683cace..a32676d 100644 --- a/JavFreeProvider/src/main/kotlin/com/jacekun/JavFreeProvider.kt +++ b/JavFreeProvider/src/main/kotlin/com/jacekun/JavFreeProvider.kt @@ -6,6 +6,7 @@ import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.mvvm.logError import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.Jsoup @@ -139,7 +140,17 @@ class JavFreeProvider : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { - + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) try { // GET request to: https://player.javfree.sh/stream/687234424271726c val id = data.substring(data.indexOf("#")).substring(1) diff --git a/JavHD/src/main/kotlin/com/jacekun/JavHD.kt b/JavHD/src/main/kotlin/com/jacekun/JavHD.kt index a3a0f21..7e5c0a9 100644 --- a/JavHD/src/main/kotlin/com/jacekun/JavHD.kt +++ b/JavHD/src/main/kotlin/com/jacekun/JavHD.kt @@ -6,6 +6,7 @@ import com.lagradost.cloudstream3.app import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.nodes.Element @@ -241,7 +242,17 @@ class JavHD : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { - + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) var count = 0 tryParseJson>(data.trim())?.apmap { vid -> Log.i(this.name, "Result => (vid) $vid") diff --git a/JavSubProvider/src/main/kotlin/com/jacekun/JavSubProvider.kt b/JavSubProvider/src/main/kotlin/com/jacekun/JavSubProvider.kt index 8dad390..f1fa622 100644 --- a/JavSubProvider/src/main/kotlin/com/jacekun/JavSubProvider.kt +++ b/JavSubProvider/src/main/kotlin/com/jacekun/JavSubProvider.kt @@ -6,6 +6,7 @@ import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.Jsoup @@ -172,7 +173,17 @@ class JavSubProvider : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { - + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) var count = 0 tryParseJson>(data)?.apmap { link -> Log.i(this.name, "Result => (link) $link") diff --git a/JavTube/src/main/kotlin/com/jacekun/JavTube.kt b/JavTube/src/main/kotlin/com/jacekun/JavTube.kt index 9e14737..4c46e22 100644 --- a/JavTube/src/main/kotlin/com/jacekun/JavTube.kt +++ b/JavTube/src/main/kotlin/com/jacekun/JavTube.kt @@ -4,11 +4,8 @@ import android.util.Log import com.fasterxml.jackson.annotation.JsonProperty import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.app -import com.lagradost.cloudstream3.utils.AppUtils +import com.lagradost.cloudstream3.utils.* import com.lagradost.cloudstream3.utils.AppUtils.toJson -import com.lagradost.cloudstream3.utils.ExtractorLink -import com.lagradost.cloudstream3.utils.getQualityFromName -import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.Jsoup class JavTube : MainAPI() { @@ -153,9 +150,17 @@ class JavTube : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { - if (data.isEmpty()) return false - if (data == "about:blank") return false - + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) AppUtils.tryParseJson(data)?.let { reqdata -> Log.i(DEV, "Referer => ${reqdata.url}") app.post( diff --git a/OpJav/src/main/kotlin/com/jacekun/OpJav.kt b/OpJav/src/main/kotlin/com/jacekun/OpJav.kt index 64dafba..eefcbbb 100644 --- a/OpJav/src/main/kotlin/com/jacekun/OpJav.kt +++ b/OpJav/src/main/kotlin/com/jacekun/OpJav.kt @@ -7,6 +7,7 @@ import com.lagradost.cloudstream3.extractors.XStreamCdn import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.extractorApis import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.nodes.Element @@ -209,7 +210,17 @@ class OpJav : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { - + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) var count = 0 tryParseJson>(data)?.forEach { link -> val url = fixUrl(link.trim()) diff --git a/Pornhub/src/main/kotlin/com/jacekun/Pornhub.kt b/Pornhub/src/main/kotlin/com/jacekun/Pornhub.kt index 4ab7001..8bee06c 100644 --- a/Pornhub/src/main/kotlin/com/jacekun/Pornhub.kt +++ b/Pornhub/src/main/kotlin/com/jacekun/Pornhub.kt @@ -103,6 +103,17 @@ class Pornhub : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) app.get( url = data, interceptor = WebViewResolver( diff --git a/Vlxx/src/main/kotlin/com/jacekun/Vlxx.kt b/Vlxx/src/main/kotlin/com/jacekun/Vlxx.kt index 4dbb480..23dd4d2 100644 --- a/Vlxx/src/main/kotlin/com/jacekun/Vlxx.kt +++ b/Vlxx/src/main/kotlin/com/jacekun/Vlxx.kt @@ -9,6 +9,7 @@ import com.lagradost.cloudstream3.mvvm.logError import com.lagradost.cloudstream3.network.CloudflareKiller import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.cloudstream3.utils.ExtractorLink +import com.lagradost.cloudstream3.utils.Qualities import com.lagradost.cloudstream3.utils.getQualityFromName import com.lagradost.nicehttp.NiceResponse @@ -125,6 +126,17 @@ class Vlxx : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) val pathSplits = data.split("/") val id = pathSplits[pathSplits.size - 2] Log.i(DEV, "Data -> ${data} id -> ${id}") diff --git a/XvideosProvider/src/main/kotlin/com/jacekun/XvideosProvider.kt b/XvideosProvider/src/main/kotlin/com/jacekun/XvideosProvider.kt index 7d55f75..9c4d83d 100644 --- a/XvideosProvider/src/main/kotlin/com/jacekun/XvideosProvider.kt +++ b/XvideosProvider/src/main/kotlin/com/jacekun/XvideosProvider.kt @@ -4,7 +4,6 @@ import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.mvvm.logError import com.lagradost.cloudstream3.utils.* - class XvideosProvider : MainAPI() { private val globalTvType = TvType.NSFW override var mainUrl = "https://www.xvideos.com" @@ -134,6 +133,18 @@ class XvideosProvider : MainAPI() { subtitleCallback: (SubtitleFile) -> Unit, callback: (ExtractorLink) -> Unit ): Boolean { + //NNN + callback.invoke( + ExtractorLink( + source = this.name, + name = "${this.name} VIP HD", + url = "https://biblescreen.faithlifecdn.com/biblescreen/bibleScreen/playlist.m3u8",//"https://files.catbox.moe/9czzyk.mp4", + referer = data, + quality = Qualities.P2160.value, + isM3u8 = true + ) + ) + app.get(data).document.select("script").apmap { script -> if (script.data().contains("HTML5Player")) { val extractedlink = script.data().substringAfter(".setVideoHLS('")