Manga Demon: filter ads, loosen & separate thumbnail ratelimit (#11144)
* Manga Demon: filter ads, loosen ratelimit * Manga Demon: separate thumbnail ratelimit
This commit is contained in:
parent
adb0b65b64
commit
bacd296e4e
@ -1,7 +1,7 @@
|
||||
ext {
|
||||
extName = 'Manga Demon'
|
||||
extClass = '.MangaDemon'
|
||||
extVersionCode = 16
|
||||
extVersionCode = 17
|
||||
isNsfw = false
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||
import okhttp3.Interceptor
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Document
|
||||
@ -30,9 +31,23 @@ class MangaDemon : ParsedHttpSource() {
|
||||
override val baseUrl = "https://demonicscans.org"
|
||||
|
||||
override val client = network.cloudflareClient.newBuilder()
|
||||
.rateLimit(1)
|
||||
.addInterceptor(::thumbnailInterceptor)
|
||||
.rateLimit(2)
|
||||
.build()
|
||||
|
||||
private val thumbnailClient = network.cloudflareClient.newBuilder()
|
||||
.rateLimit(6)
|
||||
.build()
|
||||
|
||||
private fun thumbnailInterceptor(chain: Interceptor.Chain): Response {
|
||||
val request = chain.request()
|
||||
return if (request.url.toString().contains("images/thumbnails")) {
|
||||
thumbnailClient.newCall(request).execute()
|
||||
} else {
|
||||
chain.proceed(request)
|
||||
}
|
||||
}
|
||||
|
||||
override fun headersBuilder() = super.headersBuilder()
|
||||
.add("Referer", "$baseUrl/")
|
||||
|
||||
@ -56,7 +71,7 @@ class MangaDemon : ParsedHttpSource() {
|
||||
|
||||
override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector()
|
||||
|
||||
override fun latestUpdatesSelector() = "div#updates-container > div.updates-element"
|
||||
override fun latestUpdatesSelector() = "div#updates-container > div.updates-element:not(:has(.toffee-badge))"
|
||||
|
||||
override fun latestUpdatesFromElement(element: Element) = SManga.create().apply {
|
||||
with(element.selectFirst("div.updates-element-info")!!) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user