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())