2022-12-24 15:06:37 +00:00
|
|
|
package eu.kanade.tachiyomi.extension.id.mgkomik
|
|
|
|
|
|
|
|
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
2023-10-13 17:12:46 +00:00
|
|
|
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
|
|
|
import okhttp3.Headers
|
|
|
|
import okhttp3.OkHttpClient
|
2022-12-24 15:06:37 +00:00
|
|
|
import java.text.SimpleDateFormat
|
|
|
|
import java.util.Locale
|
2023-10-13 17:12:46 +00:00
|
|
|
import java.util.concurrent.TimeUnit
|
2023-10-24 02:06:54 +00:00
|
|
|
import kotlin.random.Random
|
2022-12-24 15:06:37 +00:00
|
|
|
|
2023-09-07 16:15:01 +00:00
|
|
|
class MGKomik : Madara("MG Komik", "https://mgkomik.id", "id", SimpleDateFormat("dd MMM yy", Locale.US)) {
|
2022-12-24 15:06:37 +00:00
|
|
|
|
2023-10-13 17:12:46 +00:00
|
|
|
override val client: OkHttpClient = super.client.newBuilder()
|
|
|
|
.rateLimit(20, 5, TimeUnit.SECONDS)
|
|
|
|
.build()
|
|
|
|
|
2022-12-24 15:06:37 +00:00
|
|
|
override val chapterUrlSuffix = ""
|
2023-04-29 01:52:28 +00:00
|
|
|
|
2023-10-13 17:12:46 +00:00
|
|
|
override fun headersBuilder(): Headers.Builder = super.headersBuilder()
|
2023-10-23 16:45:20 +00:00
|
|
|
.add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8")
|
2023-10-13 17:12:46 +00:00
|
|
|
.add("Accept-Language", "en-US,en;q=0.9,id;q=0.8")
|
|
|
|
.add("Referer", "$baseUrl/")
|
|
|
|
.add("Sec-Fetch-Dest", "document")
|
|
|
|
.add("Sec-Fetch-Mode", "navigate")
|
|
|
|
.add("Sec-Fetch-Site", "same-origin")
|
|
|
|
.add("Upgrade-Insecure-Requests", "1")
|
2023-10-24 02:06:54 +00:00
|
|
|
.add("X-Requested-With", randomString)
|
2023-10-13 17:12:46 +00:00
|
|
|
|
2023-10-24 02:06:54 +00:00
|
|
|
private fun generateRandomString(length: Int): String {
|
|
|
|
val charset = "HALOGaES.BCDFHIJKMNPQRTUVWXYZ.bcdefghijklmnopqrstuvwxyz0123456789"
|
|
|
|
return (1..length)
|
|
|
|
.map { charset.random() }
|
|
|
|
.joinToString("")
|
|
|
|
}
|
|
|
|
|
|
|
|
private val randomLength = Random.Default.nextInt(13, 21)
|
|
|
|
|
|
|
|
private val randomString = generateRandomString(randomLength)
|
2023-10-23 16:45:20 +00:00
|
|
|
|
|
|
|
override val mangaSubString = "komik"
|
2023-10-13 17:12:46 +00:00
|
|
|
|
2023-10-23 16:45:20 +00:00
|
|
|
override fun searchMangaNextPageSelector() = "a.page.larger"
|
2022-12-24 15:06:37 +00:00
|
|
|
}
|