From 4062340bd98cfefa794b4476f0e1ff41edcb06fc Mon Sep 17 00:00:00 2001 From: Luqman Date: Sat, 14 Oct 2023 00:12:46 +0700 Subject: [PATCH] MGKomik: Fix Latest, CF workaround (#18519) * MGKomik: Fix Latest - using latest instead of new manga for latest * bypass cloudflare & add ratelimit - add header to not be blocked by cloudflare - add ratelimit - change url request a little to bypass cloudflare check * Update MadaraGenerator.kt --- .../overrides/madara/mgkomik/src/MGKomik.kt | 25 +++++++++++++++++-- .../multisrc/madara/MadaraGenerator.kt | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/multisrc/overrides/madara/mgkomik/src/MGKomik.kt b/multisrc/overrides/madara/mgkomik/src/MGKomik.kt index cc3160207..2f196c2c5 100644 --- a/multisrc/overrides/madara/mgkomik/src/MGKomik.kt +++ b/multisrc/overrides/madara/mgkomik/src/MGKomik.kt @@ -2,21 +2,42 @@ package eu.kanade.tachiyomi.extension.id.mgkomik import eu.kanade.tachiyomi.multisrc.madara.Madara import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.interceptor.rateLimit import okhttp3.CacheControl +import okhttp3.Headers +import okhttp3.OkHttpClient import okhttp3.Request import java.text.SimpleDateFormat import java.util.Locale +import java.util.concurrent.TimeUnit class MGKomik : Madara("MG Komik", "https://mgkomik.id", "id", SimpleDateFormat("dd MMM yy", Locale.US)) { + override val client: OkHttpClient = super.client.newBuilder() + .rateLimit(20, 5, TimeUnit.SECONDS) + .build() + override val chapterUrlSuffix = "" + override fun headersBuilder(): Headers.Builder = super.headersBuilder() + .add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9") + .add("Accept-Language", "en-US,en;q=0.9,id;q=0.8") + .add("DNT", "1") + .add("Referer", "$baseUrl/") + .add("Sec-Fetch-Dest", "document") + .add("Sec-Fetch-Mode", "navigate") + .add("Sec-Fetch-Site", "same-origin") + .add("Sec-Fetch-User", "?1") + .add("Upgrade-Insecure-Requests", "1") + .add("X-Requested-With", "XMLHttpRequest") + override fun searchMangaNextPageSelector() = "a.page.larger" + override fun popularMangaSelector() = searchMangaSelector() override fun popularMangaRequest(page: Int): Request { return GET( - url = "$baseUrl/${searchPage(page)}?s&post_type=wp-manga&m_orderby=views", + url = "$baseUrl/${searchPage(page)}?op&s&post_type=wp-manga&m_orderby=views", headers = headers, cache = CacheControl.FORCE_NETWORK, ) @@ -24,7 +45,7 @@ class MGKomik : Madara("MG Komik", "https://mgkomik.id", "id", SimpleDateFormat( override fun latestUpdatesRequest(page: Int): Request { return GET( - url = "$baseUrl/${searchPage(page)}?s&post_type=wp-manga&m_orderby=new-manga", + url = "$baseUrl/${searchPage(page)}?op&s&post_type=wp-manga&m_orderby=latest", headers = headers, cache = CacheControl.FORCE_NETWORK, ) diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index fe6f51455..af68267db 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -354,7 +354,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("ManyToon.me", "https://manytoon.me", "en", isNsfw = true, className = "ManyToonMe", overrideVersionCode = 4), SingleLang("ManyToon", "https://manytoon.com", "en", isNsfw = true, overrideVersionCode = 5), SingleLang("ManyToonClub", "https://manytoon.club", "ko", isNsfw = true, overrideVersionCode = 1), - SingleLang("MG Komik", "https://mgkomik.id", "id", overrideVersionCode = 7), + SingleLang("MG Komik", "https://mgkomik.id", "id", overrideVersionCode = 8), SingleLang("Midnight Mess Scans", "https://midnightmess.org", "en", isNsfw = true, overrideVersionCode = 6), SingleLang("MidnightManga", "http://midnightmanga.com", "es"), SingleLang("Milftoon", "https://milftoon.xxx", "en", isNsfw = true, overrideVersionCode = 2),