From 8f13e8b15c45ed80732b44865c9f53aafcb9f174 Mon Sep 17 00:00:00 2001 From: Luqman <16263232+Riztard@users.noreply.github.com> Date: Sat, 9 Aug 2025 15:54:31 +0700 Subject: [PATCH] Comick: increase rate limit and separate (#10033) * Comick: increase rate limit and separate Closes #9057 * separate ratelimit correctly to avoid stacking * cleaning --- src/all/comickfun/build.gradle | 2 +- .../tachiyomi/extension/all/comickfun/Comick.kt | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/all/comickfun/build.gradle b/src/all/comickfun/build.gradle index 381352ccb..8ab9df226 100644 --- a/src/all/comickfun/build.gradle +++ b/src/all/comickfun/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Comick' extClass = '.ComickFactory' - extVersionCode = 57 + extVersionCode = 58 isNsfw = true } diff --git a/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt index c8052860f..9f15a95b2 100644 --- a/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt +++ b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/Comick.kt @@ -248,9 +248,23 @@ abstract class Comick( override val client = network.cloudflareClient.newBuilder() .addNetworkInterceptor(::errorInterceptor) - .rateLimit(3, 1, TimeUnit.SECONDS) + .addInterceptor(::imageInterceptor) + .rateLimit(5, 6, TimeUnit.SECONDS) // == 50req each (60sec / 1min) .build() + private val imageClient = network.cloudflareClient.newBuilder() + .rateLimit(12, 8, TimeUnit.SECONDS) // == 1.5req/1sec == 3req/2sec == 90req/60sec + .build() + + private fun imageInterceptor(chain: Interceptor.Chain): Response { + val request = chain.request() + return if (request.url.host.endsWith("comick.pictures")) { + imageClient.newCall(request).execute() + } else { + chain.proceed(request) + } + } + private fun errorInterceptor(chain: Interceptor.Chain): Response { val response = chain.proceed(chain.request())