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 {
|
ext {
|
||||||
extName = 'Manga Demon'
|
extName = 'Manga Demon'
|
||||||
extClass = '.MangaDemon'
|
extClass = '.MangaDemon'
|
||||||
extVersionCode = 16
|
extVersionCode = 17
|
||||||
isNsfw = false
|
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.model.SManga
|
||||||
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
|
||||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||||
|
import okhttp3.Interceptor
|
||||||
import okhttp3.Request
|
import okhttp3.Request
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import org.jsoup.nodes.Document
|
import org.jsoup.nodes.Document
|
||||||
@ -30,9 +31,23 @@ class MangaDemon : ParsedHttpSource() {
|
|||||||
override val baseUrl = "https://demonicscans.org"
|
override val baseUrl = "https://demonicscans.org"
|
||||||
|
|
||||||
override val client = network.cloudflareClient.newBuilder()
|
override val client = network.cloudflareClient.newBuilder()
|
||||||
.rateLimit(1)
|
.addInterceptor(::thumbnailInterceptor)
|
||||||
|
.rateLimit(2)
|
||||||
.build()
|
.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()
|
override fun headersBuilder() = super.headersBuilder()
|
||||||
.add("Referer", "$baseUrl/")
|
.add("Referer", "$baseUrl/")
|
||||||
|
|
||||||
@ -56,7 +71,7 @@ class MangaDemon : ParsedHttpSource() {
|
|||||||
|
|
||||||
override fun latestUpdatesNextPageSelector() = popularMangaNextPageSelector()
|
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 {
|
override fun latestUpdatesFromElement(element: Element) = SManga.create().apply {
|
||||||
with(element.selectFirst("div.updates-element-info")!!) {
|
with(element.selectFirst("div.updates-element-info")!!) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user