@@ -13,35 +13,29 @@ import okhttp3.Interceptor
1313import okhttp3.Response
1414import 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