diff --git a/CHANGELOG.md b/CHANGELOG.md index 54e241869..b1ffaddd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - . ### Fixed +- (CloudFlareInterceptor) Don't send the `cf_clearance` cookie back to Flaresolverr - (WebUI) Handle serving non-default webui with "bundled" - (WebUI) Wait until WebUI is ready to open in browser diff --git a/server/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt b/server/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt index cae62706a..c19ee0f30 100644 --- a/server/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt +++ b/server/src/main/kotlin/eu/kanade/tachiyomi/network/interceptor/CloudflareInterceptor.kt @@ -103,7 +103,7 @@ class CloudflareInterceptor( companion object { private val ERROR_CODES = listOf(403, 503) private val SERVER_CHECK = arrayOf("cloudflare-nginx", "cloudflare") - private val COOKIE_NAMES = listOf("cf_clearance") + val COOKIE_NAMES = listOf("cf_clearance") private val CHROME_IMAGE_TEMPLATE_REGEX = Regex("""(.*?) \(\d+×\d+\)""") } } @@ -205,9 +205,12 @@ object CFClearance { session = serverConfig.flareSolverrSessionName.value, sessionTtlMinutes = serverConfig.flareSolverrSessionTtl.value, cookies = - network.cookieStore.get(originalRequest.url).map { - FlareSolverCookie(it.name, it.value) - }, + network.cookieStore + .get(originalRequest.url) + .filter { it.name !in CloudflareInterceptor.COOKIE_NAMES } + .map { cookie -> + FlareSolverCookie(cookie.name, cookie.value) + }, returnOnlyCookies = onlyCookies, maxTimeout = timeout.inWholeMilliseconds.toInt(), postData =