From 5b6d22783e95e23a6d459a30bbd07c21e2c70b34 Mon Sep 17 00:00:00 2001 From: hexated Date: Sun, 23 Oct 2022 04:08:57 +0700 Subject: [PATCH] fixed LayarKacaProvider & IdlixProvider --- IdlixProvider/build.gradle.kts | 4 +- .../main/kotlin/com/hexated/IdlixProvider.kt | 4 +- LayarKacaProvider/build.gradle.kts | 4 +- .../kotlin/com/hexated/LayarKacaProvider.kt | 42 ++++++++++++------- 4 files changed, 34 insertions(+), 20 deletions(-) diff --git a/IdlixProvider/build.gradle.kts b/IdlixProvider/build.gradle.kts index 694d7559..a0eeaaa0 100644 --- a/IdlixProvider/build.gradle.kts +++ b/IdlixProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 5 +version = 6 cloudstream { @@ -24,5 +24,5 @@ cloudstream { "AsianDrama", ) - iconUrl = "https://www.google.com/s2/favicons?domain=94.103.82.88&sz=%size%" + iconUrl = "https://www.google.com/s2/favicons?domain=109.234.36.69&sz=%size%" } \ No newline at end of file diff --git a/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt b/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt index 5aed5efa..8af4f53c 100644 --- a/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt +++ b/IdlixProvider/src/main/kotlin/com/hexated/IdlixProvider.kt @@ -282,7 +282,9 @@ class IdlixProvider : MainAPI() { "post" to id, "nume" to nume, "type" to type - ) + ), + headers = mapOf("X-Requested-With" to "XMLHttpRequest"), + referer = data ).parsed().embed_url when { diff --git a/LayarKacaProvider/build.gradle.kts b/LayarKacaProvider/build.gradle.kts index a4c26937..705f7402 100644 --- a/LayarKacaProvider/build.gradle.kts +++ b/LayarKacaProvider/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 4 +version = 5 cloudstream { @@ -23,5 +23,5 @@ cloudstream { "Movie", ) - iconUrl = "https://www.google.com/s2/favicons?domain=lk21.homes&sz=%size%" + iconUrl = "https://www.google.com/s2/favicons?domain=lk21official.org&sz=%size%" } \ No newline at end of file diff --git a/LayarKacaProvider/src/main/kotlin/com/hexated/LayarKacaProvider.kt b/LayarKacaProvider/src/main/kotlin/com/hexated/LayarKacaProvider.kt index cdb73cab..79f439c4 100644 --- a/LayarKacaProvider/src/main/kotlin/com/hexated/LayarKacaProvider.kt +++ b/LayarKacaProvider/src/main/kotlin/com/hexated/LayarKacaProvider.kt @@ -5,11 +5,13 @@ import com.lagradost.cloudstream3.LoadResponse.Companion.addActors import com.lagradost.cloudstream3.LoadResponse.Companion.addTrailer import com.lagradost.cloudstream3.utils.ExtractorLink import com.lagradost.cloudstream3.utils.loadExtractor -import org.jsoup.Jsoup import org.jsoup.nodes.Element class LayarKacaProvider : MainAPI() { - override var mainUrl = "https://lk21official.biz" + override var mainUrl = "https://lk21official.org" + + // private val redirectUrl = "https://nd21x1.github.io" + private val seriesUrl = "https://nontondrama.icu" override var name = "LayarKaca" override val hasMainPage = true override var lang = "id" @@ -22,15 +24,13 @@ class LayarKacaProvider : MainAPI() { override val mainPage = mainPageOf( "$mainUrl/populer/page/" to "Film Terplopuler", - "$mainUrl/latest-series/page/" to "Series Terbaru", - "$mainUrl/series/asian/page/" to "Film Asian Terbaru", + "$mainUrl/rating/page/" to "Film Berdasarkan IMDb Rating", + "$mainUrl/most-commented/page/" to "Film Dengan Komentar Terbanyak", + "$seriesUrl/latest/page/" to "Series Terbaru", + "$seriesUrl/series/asian/page/" to "Film Asian Terbaru", "$mainUrl/latest/page/" to "Film Upload Terbaru", ) - companion object { - private const val seriesUrl = "https://nontondrama.today" - } - override suspend fun getMainPage( page: Int, request: MainPageRequest @@ -64,22 +64,34 @@ class LayarKacaProvider : MainAPI() { private fun Element.toSearchResult(): SearchResponse? { val title = this.selectFirst("h1.grid-title > a")?.ownText()?.trim() ?: return null - val href = getProperLink(fixUrl(this.selectFirst("h1.grid-title > a")!!.attr("href")), title) + val href = fixUrl(this.selectFirst("a")!!.attr("href")) val posterUrl = fixUrlNull(this.selectFirst(".grid-poster > a > img")?.attr("src")) - val quality = this.select("div.quality").text().trim() - return newMovieSearchResponse(title, href, TvType.Movie) { - this.posterUrl = posterUrl - addQuality(quality) + val type = + if (this.selectFirst("div.last-episode") == null) TvType.Movie else TvType.TvSeries + return if (type == TvType.TvSeries) { + val episode = this.selectFirst("div.last-episode span")?.text()?.filter { it.isDigit() } + ?.toIntOrNull() + newAnimeSearchResponse(title, href, TvType.TvSeries) { + this.posterUrl = posterUrl + addSub(episode) + } + } else { + val quality = this.select("div.quality").text().trim() + newMovieSearchResponse(title, href, TvType.Movie) { + this.posterUrl = posterUrl + addQuality(quality) + } } + } override suspend fun search(query: String): List { - val document = app.get( "$mainUrl/?s=$query").document + val document = app.get("$mainUrl/?s=$query").document return document.select("div.search-item").map { val title = it.selectFirst("h2 > a")!!.text().trim() val type = it.selectFirst("p.cat-links a")?.attr("href").toString() - val href = getProperLink(it.selectFirst("h2 > a")!!.attr("href"), type) + val href = getProperLink(it.selectFirst("a")!!.attr("href"), type) val posterUrl = fixUrl(it.selectFirst("img.img-thumbnail")?.attr("src").toString()) newTvSeriesSearchResponse(title, href, TvType.TvSeries) { this.posterUrl = posterUrl