Add Ratelimit for 1st Kiss sources (#11310)

* Add ratelimit to FirstKissManga

* Add ratelimit to FirstKissManhua

* Add ratelimit for FirstKissMangaClub

* Add ratelimit to FirstKissMangaLove

* Update ext.versionCode for all 1st kiss websites

* Cleanup

Deletes unused imports
add missing import

* Fix ext names in override files

otherwise already installed ones will become obsolete for no reason

* Fixes from testing extensions locally

extension is considerably throttled
but load fine with patience

also fixed a bunch of links and imports that I missed because I was lazy
to compile and check (which came and bite me later)
This commit is contained in:
nicki 2022-04-03 21:19:42 +05:30 committed by GitHub
parent 6a57b6a35c
commit 29707fe4fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 65 additions and 6 deletions

View File

@ -1,8 +1,20 @@
package eu.kanade.tachiyomi.extension.en.firstkissmanga
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
import eu.kanade.tachiyomi.multisrc.madara.Madara
import okhttp3.Headers
import java.util.concurrent.TimeUnit
class FirstKissManga : Madara("1st Kiss", "https://1stkissmanga.io", "en") {
class FirstKissManga : Madara(
"1st Kiss",
"https://1stkissmanga.io",
"en"
) {
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
private val rateLimitInterceptor = RateLimitInterceptor(1, 2, TimeUnit.SECONDS)
override val client = network.cloudflareClient.newBuilder()
.addNetworkInterceptor(rateLimitInterceptor)
.build()
}

View File

@ -0,0 +1,17 @@
package eu.kanade.tachiyomi.extension.en.firstkissmangaclub
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
import eu.kanade.tachiyomi.multisrc.madara.Madara
import java.util.concurrent.TimeUnit
class FirstKissMangaClub : Madara(
"1stKissManga.Club",
"https://1stkissmanga.club",
"en"
) {
private val rateLimitInterceptor = RateLimitInterceptor(1, 2, TimeUnit.SECONDS)
override val client = network.cloudflareClient.newBuilder()
.addNetworkInterceptor(rateLimitInterceptor)
.build()
}

View File

@ -0,0 +1,17 @@
package eu.kanade.tachiyomi.extension.en.firstkissmangalove
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
import eu.kanade.tachiyomi.multisrc.madara.Madara
import java.util.concurrent.TimeUnit
class FirstKissMangaLove : Madara(
"1st Kiss Manga.love",
"https://1stkissmanga.love",
"en"
) {
private val rateLimitInterceptor = RateLimitInterceptor(1, 2, TimeUnit.SECONDS)
override val client = network.cloudflareClient.newBuilder()
.addNetworkInterceptor(rateLimitInterceptor)
.build()
}

View File

@ -1,12 +1,25 @@
package eu.kanade.tachiyomi.extension.en.firstkissmanhua
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
import eu.kanade.tachiyomi.multisrc.madara.Madara
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.Page
import okhttp3.Request
import java.text.SimpleDateFormat
import java.util.Locale
import java.util.concurrent.TimeUnit
class FirstKissManhua : Madara(
"1st Kiss Manhua",
"https://1stkissmanhua.com",
"en",
SimpleDateFormat("d MMM yyyy", Locale.US)
) {
private val rateLimitInterceptor = RateLimitInterceptor(1, 2, TimeUnit.SECONDS)
override val client = network.cloudflareClient.newBuilder()
.addNetworkInterceptor(rateLimitInterceptor)
.build()
class FirstKissManhua : Madara("1st Kiss Manhua", "https://1stkissmanhua.com", "en", SimpleDateFormat("d MMM yyyy", Locale.US)) {
override fun imageRequest(page: Page): Request = GET(page.imageUrl!!, headersBuilder().add("Referer", "https://1stkissmanga.com").build())
}

View File

@ -19,10 +19,10 @@ class MadaraGenerator : ThemeSourceGenerator {
MultiLang("Reaper Scans", "https://reaperscans.com", listOf("en", "pt-BR"), className = "ReaperScansFactory", pkgName = "reaperscans", overrideVersionCode = 4),
MultiLang("Seven King Scanlation", "https://sksubs.net", listOf("es", "en"), isNsfw = true),
MultiLang("YugenMangas", "https://yugenmangas.com", listOf("es", "pt-BR"), overrideVersionCode = 2),
SingleLang("1st Kiss Manga.love", "https://1stkissmanga.love", "en", className = "FirstKissMangaLove"),
SingleLang("1st Kiss Manhua", "https://1stkissmanhua.com", "en", className = "FirstKissManhua", overrideVersionCode = 2),
SingleLang("1st Kiss", "https://1stkissmanga.io", "en", className = "FirstKissManga", pkgName = "firstkissmanga", overrideVersionCode = 6),
SingleLang("1stKissManga.Club", "https://1stkissmanga.club", "en", className = "FirstKissMangaClub"),
SingleLang("1st Kiss Manga.love", "https://1stkissmanga.love", "en", className = "FirstKissMangaLove", overrideVersionCode = 1),
SingleLang("1st Kiss Manhua", "https://1stkissmanhua.com", "en", className = "FirstKissManhua", overrideVersionCode = 3),
SingleLang("1st Kiss", "https://1stkissmanga.io", "en", className = "FirstKissManga", pkgName = "firstkissmanga", overrideVersionCode = 7),
SingleLang("1stKissManga.Club", "https://1stkissmanga.club", "en", className = "FirstKissMangaClub", overrideVersionCode = 1),
SingleLang("247Manga", "https://247manga.com", "en", className = "Manga247", overrideVersionCode = 1),
SingleLang("24hManga", "https://24hmanga.com", "en", isNsfw = true, className = "TwentyFourhManga"),
SingleLang("24hRomance", "https://24hromance.com", "en", className = "Romance24h"),