diff --git a/Minioppai/build.gradle.kts b/Minioppai/build.gradle.kts index 42457c51..c487633e 100644 --- a/Minioppai/build.gradle.kts +++ b/Minioppai/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 4 +version = 5 cloudstream { diff --git a/Minioppai/src/main/kotlin/com/hexated/Extractors.kt b/Minioppai/src/main/kotlin/com/hexated/Extractors.kt index c1bba19a..95b96d9e 100644 --- a/Minioppai/src/main/kotlin/com/hexated/Extractors.kt +++ b/Minioppai/src/main/kotlin/com/hexated/Extractors.kt @@ -11,6 +11,11 @@ import com.lagradost.cloudstream3.utils.fixUrl import com.lagradost.cloudstream3.utils.getAndUnpack import com.lagradost.cloudstream3.utils.getQualityFromName +class Paistream : Streampai() { + override val name = "Paistream" + override val mainUrl = "https://paistream.my.id" +} + open class Streampai : ExtractorApi() { override val name = "Streampai" override val mainUrl = "https://streampai.my.id" diff --git a/Minioppai/src/main/kotlin/com/hexated/MinioppaiPlugin.kt b/Minioppai/src/main/kotlin/com/hexated/MinioppaiPlugin.kt index 27afc040..83fbd781 100644 --- a/Minioppai/src/main/kotlin/com/hexated/MinioppaiPlugin.kt +++ b/Minioppai/src/main/kotlin/com/hexated/MinioppaiPlugin.kt @@ -10,5 +10,6 @@ class MinioppaiPlugin: Plugin() { // All providers should be added in this manner. Please don't edit the providers list directly. registerMainAPI(Minioppai()) registerExtractorAPI(Streampai()) + registerExtractorAPI(Paistream()) } } \ No newline at end of file diff --git a/Samehadaku/build.gradle.kts b/Samehadaku/build.gradle.kts index a262ac5b..628eaa26 100644 --- a/Samehadaku/build.gradle.kts +++ b/Samehadaku/build.gradle.kts @@ -1,5 +1,5 @@ // use an integer for version numbers -version = 11 +version = 12 cloudstream { diff --git a/Samehadaku/src/main/kotlin/com/hexated/Samehadaku.kt b/Samehadaku/src/main/kotlin/com/hexated/Samehadaku.kt index 773e2927..dfaee1b1 100644 --- a/Samehadaku/src/main/kotlin/com/hexated/Samehadaku.kt +++ b/Samehadaku/src/main/kotlin/com/hexated/Samehadaku.kt @@ -8,7 +8,7 @@ import com.lagradost.cloudstream3.utils.loadExtractor import org.jsoup.nodes.Element class Samehadaku : MainAPI() { - override var mainUrl = "https://samehadaku.day" + override var mainUrl = "https://samehadaku.lat" override var name = "Samehadaku" override val hasMainPage = true override var lang = "id" @@ -51,7 +51,7 @@ class Samehadaku : MainAPI() { if (request.name != "Episode Terbaru" && page <= 1) { val doc = app.get(request.data).document - doc.select("div.widget_senction").forEach { block -> + doc.select("div.widget_senction:not(:contains(Baca Komik))").forEach { block -> val header = block.selectFirst("div.widget-title h3")?.ownText() ?: return@forEach val home = block.select("div.animepost").mapNotNull { it.toSearchResult() diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt index 0cd093b1..b9723fa2 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraExtractor.kt @@ -6,6 +6,7 @@ import com.lagradost.cloudstream3.utils.AppUtils.tryParseJson import com.lagradost.nicehttp.Requests import com.lagradost.nicehttp.Session import com.lagradost.cloudstream3.extractors.Filesim +import com.lagradost.cloudstream3.extractors.GMPlayer import com.lagradost.cloudstream3.extractors.StreamSB import com.lagradost.cloudstream3.extractors.Voe import com.lagradost.cloudstream3.extractors.helper.GogoHelper @@ -331,15 +332,19 @@ object SoraExtractor : SoraStream() { "$dreamfilmAPI/series/$fixTitle/season-$season/episode-$episode" } - val iframe = app.get(url).document.selectFirst("iframe.Moly")?.attr("data-src") - loadCustomExtractor( - null, - iframe ?: return, - "$dreamfilmAPI/", - subtitleCallback, - callback, - Qualities.P1080.value - ) + val doc = app.get(url).document + doc.select("div#videosen a").apmap { + val iframe = app.get(it.attr("href")).document.selectFirst("div.card-video iframe") + ?.attr("data-src") + loadCustomExtractor( + null, + iframe ?: return@apmap, + "$dreamfilmAPI/", + subtitleCallback, + callback, + Qualities.P1080.value + ) + } } suspend fun invokeSeries9( @@ -3104,6 +3109,16 @@ object SoraExtractor : SoraStream() { } +class TravelR : GMPlayer() { + override val name = "TravelR" + override val mainUrl = "https://travel-russia.xyz" +} + +class Mwish : Filesim() { + override val name = "Mwish" + override var mainUrl = "https://mwish.pro" +} + class Animefever : Filesim() { override val name = "Animefever" override var mainUrl = "https://animefever.fun" diff --git a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt index 56f723f4..7bb7f262 100644 --- a/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt +++ b/SoraStream/src/main/kotlin/com/hexated/SoraStreamPlugin.kt @@ -15,5 +15,7 @@ class SoraStreamPlugin: Plugin() { registerExtractorAPI(Multimovies()) registerExtractorAPI(MultimoviesSB()) registerExtractorAPI(Yipsu()) + registerExtractorAPI(Mwish()) + registerExtractorAPI(TravelR()) } } \ No newline at end of file