From 3a33b45ac6653b8e1b3702a28dbb4f5c559ebbe3 Mon Sep 17 00:00:00 2001 From: hexated Date: Thu, 15 Sep 2022 16:28:36 +0700 Subject: [PATCH] fixed Loklok image also added CloudflareKiller to Movierulzhd --- Loklok/build.gradle.kts | 2 +- Loklok/src/main/kotlin/com/hexated/Loklok.kt | 4 +++- Movierulzhd/build.gradle.kts | 2 +- .../src/main/kotlin/com/hexated/Movierulzhd.kt | 13 ++++++++----- build.gradle.kts | 3 +++ 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/Loklok/build.gradle.kts b/Loklok/build.gradle.kts index 9c95d85d..92c81160 100644 --- a/Loklok/build.gradle.kts +++ b/Loklok/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 1 +version = 2 cloudstream { diff --git a/Loklok/src/main/kotlin/com/hexated/Loklok.kt b/Loklok/src/main/kotlin/com/hexated/Loklok.kt index 8d1f1c2b..9cf2f7f0 100644 --- a/Loklok/src/main/kotlin/com/hexated/Loklok.kt +++ b/Loklok/src/main/kotlin/com/hexated/Loklok.kt @@ -8,6 +8,7 @@ import com.lagradost.cloudstream3.utils.AppUtils.toJson import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.SubtitleHelper import com.lagradost.cloudstream3.utils.getQualityFromName +import kotlinx.coroutines.delay class Loklok : MainAPI() { override var name = "Loklok" @@ -36,11 +37,12 @@ class Loklok : MainAPI() { private const val mainImageUrl = "https://images.weserv.nl" } - private fun encode(input: String): String? = java.net.URLEncoder.encode(input, "utf-8") + private fun encode(input: String): String = java.net.URLEncoder.encode(input, "utf-8").replace("+", "%20") override suspend fun getMainPage(page: Int, request: MainPageRequest): HomePageResponse { val home = ArrayList() for (i in 0..10) { + delay(500) app.get("$apiUrl/homePage/getHome?page=$i", headers = headers) .parsedSafe()?.data?.recommendItems ?.filterNot { it.homeSectionType == "BLOCK_GROUP" } diff --git a/Movierulzhd/build.gradle.kts b/Movierulzhd/build.gradle.kts index c6679a22..b02449d2 100644 --- a/Movierulzhd/build.gradle.kts +++ b/Movierulzhd/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 5 +version = 6 cloudstream { diff --git a/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt b/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt index 5f79e045..e682cdd6 100644 --- a/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt +++ b/Movierulzhd/src/main/kotlin/com/hexated/Movierulzhd.kt @@ -5,11 +5,12 @@ import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.LoadResponse.Companion.addActors import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer import com.lagradost.cloudstream3.mvvm.safeApiCall +import com.lagradost.cloudstream3.network.CloudflareKiller import com.lagradost.cloudstream3.utils.* import org.jsoup.nodes.Element class Movierulzhd : MainAPI() { - override var mainUrl = "https://movierulzhd.run" + override var mainUrl = "https://movierulzhd.biz" override var name = "Movierulzhd" override val hasMainPage = true override var lang = "hi" @@ -27,11 +28,13 @@ class Movierulzhd : MainAPI() { "$mainUrl/episodes/page/" to "Episode", ) + private val interceptor = CloudflareKiller() + override suspend fun getMainPage( page: Int, request: MainPageRequest ): HomePageResponse { - val document = app.get(request.data + page).document + val document = app.get(request.data + page, interceptor = interceptor).document val home = document.select("div.items.normal article, div#archive-content article").mapNotNull { it.toSearchResult() @@ -71,7 +74,7 @@ class Movierulzhd : MainAPI() { override suspend fun search(query: String): List { val link = "$mainUrl/search/$query" - val document = app.get(link).document + val document = app.get(link, interceptor = interceptor).document return document.select("div.result-item").map { val title = @@ -85,7 +88,7 @@ class Movierulzhd : MainAPI() { } override suspend fun load(url: String): LoadResponse { - val document = app.get(url).document + val document = app.get(url, interceptor = interceptor).document val title = document.selectFirst("div.data > h1")?.text()?.trim().toString() @@ -200,7 +203,7 @@ class Movierulzhd : MainAPI() { callback: (ExtractorLink) -> Unit ): Boolean { - val document = app.get(data).document + val document = app.get(data, interceptor = interceptor).document val id = document.select("meta#dooplay-ajax-counter").attr("data-postid") val type = if (data.contains("/movies/")) "movie" else "tv" diff --git a/build.gradle.kts b/build.gradle.kts index 80ceb468..aad18fc8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -81,6 +81,9 @@ subprojects { implementation("org.jsoup:jsoup:1.13.1") // html parser implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.13.1") implementation("io.karn:khttp-android:0.1.2") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4") // html parser + //run JS + implementation("org.mozilla:rhino:1.7.14") } }