diff --git a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt index ac85efda1..a60d39509 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhApplication.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhApplication.kt @@ -159,7 +159,7 @@ class EhApplication : Application(), ImageLoaderFactory { }.build(), ) - addInterceptor(CloudflareInterceptor(appCtx)) + if (Settings.bypassCloudflare) addInterceptor(CloudflareInterceptor(appCtx)) // TODO: Rewrite CronetInterceptor to use android.net.http.HttpEngine and make it Android 14 only when released addInterceptor { chain -> diff --git a/app/src/main/java/com/hippo/ehviewer/Settings.kt b/app/src/main/java/com/hippo/ehviewer/Settings.kt index 49d7a6b0f..0c9127255 100755 --- a/app/src/main/java/com/hippo/ehviewer/Settings.kt +++ b/app/src/main/java/com/hippo/ehviewer/Settings.kt @@ -53,6 +53,7 @@ object Settings : DataStorePreferences(null) { var blackDarkTheme by boolPref("black_dark_theme", false).observed { updateWhenAmoledModeChanges() } var preloadThumbAggressively by boolPref("preload_thumb_aggressively", false) var downloadOriginImage by boolPref("download_origin_image", false) + var bypassCloudflare by boolPref("bypass_cloudflare", false) var thumbSizeDp by intPref("thumb_size_", 120) var favLocalCount by intPref("fav_local", 0) var favCloudCount by intPref("fav_cloud", 0) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/AdvancedScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/AdvancedScreen.kt index c4bc2032e..0756a8cc4 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/AdvancedScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/AdvancedScreen.kt @@ -125,6 +125,11 @@ fun AdvancedScreen() { entryValueRes = R.array.app_language_entry_values, value = Settings::language, ) + SwitchPreference( + title = stringResource(id = R.string.settings_advanced_bypass_cloudflare), + summary = stringResource(id = R.string.settings_advanced_bypass_cloudflare_summary), + value = Settings::bypassCloudflare, + ) SwitchPreference( title = stringResource(id = R.string.preload_thumb_aggressively), value = Settings::preloadThumbAggressively, diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 978971fb3..fdd03415a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -371,6 +371,8 @@ 已保存日志至 %s 阅读缓存大小 App 界面语言 + [实验性] 绕过 Cloudflare + 若持续遇到 403 错误可尝试此项(需要重启应用) 导出数据 保存数据至外置存储器,例如下载列表,快速搜索列表 已导出数据至 %s diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ee3ff5c71..70b9bf38d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -415,6 +415,8 @@ Logcat dumped to %s Read cache size App language + [Experimental] Bypass Cloudflare + Try this if you keep getting 403 error (App restart required) Export data Save data like download list, quick search list, to external storage Exported data to %s