Skip to content

Commit 66bfe2b

Browse files
Last Sync: 2026-07-08 07:54 (Mobile)
1 parent 074e910 commit 66bfe2b

1 file changed

Lines changed: 10 additions & 15 deletions

File tree

WinbuProvider/src/main/kotlin/com/winbu/CloudflareInterceptor.kt

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,35 +13,29 @@ import okhttp3.Interceptor
1313
import okhttp3.Response
1414
import java.util.concurrent.atomic.AtomicReference
1515

16-
class CloudflareInterceptor(
17-
private val targetCookie: String = "cf_clearance"
18-
) : Interceptor {
16+
class CloudflareInterceptor(private val targetCookie: String = "__cf_chl_tk") : Interceptor {
1917

2018
@SuppressLint("SetJavaScriptEnabled", "WebViewClientOnReceivedSslError")
2119
override fun intercept(chain: Interceptor.Chain): Response {
2220
val originalRequest = chain.request()
2321
val url = originalRequest.url.toString()
24-
val domainUrl = "\( {originalRequest.url.scheme}:// \){originalRequest.url.host}"
22+
val domainUrl = "${originalRequest.url.scheme}://${originalRequest.url.host}"
2523
val cookieManager = CookieManager.getInstance()
2624

2725
cookieManager.setAcceptCookie(true)
2826

2927
val existingCookies = cookieManager.getCookie(domainUrl) ?: ""
30-
3128
if (existingCookies.contains(targetCookie)) {
3229
val response = chain.proceed(
3330
originalRequest.newBuilder()
3431
.header("Cookie", existingCookies)
3532
.build()
3633
)
34+
if (response.code != 403 && response.code != 503) return response
3735

38-
if (response.code in listOf(403, 503, 429)) {
39-
response.close()
40-
cookieManager.setCookie(domainUrl, "$targetCookie=; Max-Age=0; path=/; Secure")
41-
cookieManager.flush()
42-
} else {
43-
return response
44-
}
36+
response.close()
37+
cookieManager.setCookie(domainUrl, "$targetCookie=; Max-Age=0; path=/; Secure")
38+
cookieManager.flush()
4539
}
4640

4741
val context = CloudStreamApp.context
@@ -63,7 +57,6 @@ class CloudflareInterceptor(
6357
databaseEnabled = true
6458
loadWithOverviewMode = true
6559
useWideViewPort = true
66-
6760
val ua = userAgentRef.get()
6861
if (ua.isNotBlank()) userAgentString = ua
6962
}
@@ -90,11 +83,13 @@ class CloudflareInterceptor(
9083
wv.loadUrl(url)
9184
}
9285

93-
for (i in 0 until 45) {
86+
var cookieAcquired = false
87+
for (i in 0 until 60) {
9488
Thread.sleep(1000)
9589
val cookies = cookieManager.getCookie(domainUrl) ?: ""
9690
if (cookies.contains(targetCookie)) {
9791
cookieManager.flush()
92+
cookieAcquired = true
9893
break
9994
}
10095
}
@@ -116,4 +111,4 @@ class CloudflareInterceptor(
116111
.build()
117112
)
118113
}
119-
}
114+
}

0 commit comments

Comments
 (0)