Koushoku: bypass CloudFlare block (#12768)

* Koushoku: bypass CloudFlare block

* tweak rate limit
This commit is contained in:
Vetle Ledaal 2022-07-30 03:01:30 +00:00 committed by GitHub
parent a4d0c214d8
commit 34e005c8b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 4 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'Koushoku'
pkgNameSuffix = 'en.koushoku'
extClass = '.Koushoku'
extVersionCode = 8
extVersionCode = 9
isNsfw = true
}

View File

@ -11,6 +11,7 @@ import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.Headers
import okhttp3.HttpUrl
import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import okhttp3.OkHttpClient
@ -33,12 +34,17 @@ class Koushoku : ParsedHttpSource() {
override val baseUrl = "https://koushoku.org"
override val name = "Koushoku"
override val lang = "en"
override val supportsLatest = false
override val supportsLatest = true
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
.rateLimit(5)
.rateLimit(1)
.build()
override fun headersBuilder(): Headers.Builder = super.headersBuilder()
.removeAll("User-Agent") // Default UA is blocked on CDN
.add("Origin", baseUrl)
.add("Referer", "$baseUrl/")
override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/?page=$page", headers)
override fun latestUpdatesSelector() = "#archives.feed .entries > .entry"
override fun latestUpdatesNextPageSelector() = "#archives.feed .pagination .next"
@ -111,7 +117,7 @@ class Koushoku : ParsedHttpSource() {
override fun searchMangaNextPageSelector() = latestUpdatesNextPageSelector()
override fun searchMangaFromElement(element: Element) = latestUpdatesFromElement(element)
override fun popularMangaRequest(page: Int) = latestUpdatesRequest(page)
override fun popularMangaRequest(page: Int) = GET("$baseUrl/popular?page=$page", headers)
override fun popularMangaSelector() = latestUpdatesSelector()
override fun popularMangaNextPageSelector() = latestUpdatesNextPageSelector()
override fun popularMangaFromElement(element: Element) = latestUpdatesFromElement(element)