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
This commit is contained in:
Luqman 2023-10-14 00:12:46 +07:00 committed by GitHub
parent ae142c6066
commit 4062340bd9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 24 additions and 3 deletions

View File

@ -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,
)

View File

@ -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),