Skip to content

Commit 5f93cd7

Browse files
committed
Add a security prompt when enabling appendHTTPProxy
1 parent 553f6ab commit 5f93cd7

8 files changed

Lines changed: 38 additions & 1 deletion

File tree

app/src/main/java/io/nekohasekai/sagernet/ui/SettingsPreferenceFragment.kt

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,23 @@ class SettingsPreferenceFragment : PreferenceFragmentCompat() {
175175
}
176176

177177
mixedPort.onPreferenceChangeListener = reloadListener
178-
appendHttpProxy.onPreferenceChangeListener = reloadListener
178+
appendHttpProxy.setOnPreferenceChangeListener { _, newValue ->
179+
if (newValue as Boolean) {
180+
MaterialAlertDialogBuilder(requireContext()).apply {
181+
setTitle(R.string.append_http_proxy_security_title)
182+
setMessage(R.string.append_http_proxy_security_message)
183+
setNegativeButton(android.R.string.cancel, null)
184+
setPositiveButton(R.string.enable_anyway) { _, _ ->
185+
appendHttpProxy.isChecked = true
186+
needReload()
187+
}
188+
}.show()
189+
false
190+
} else {
191+
needReload()
192+
true
193+
}
194+
}
179195
strictRoute.onPreferenceChangeListener = reloadListener
180196
showDirectSpeed.onPreferenceChangeListener = reloadListener
181197
trafficSniffing.onPreferenceChangeListener = reloadListener

app/src/main/res/values-fa/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,9 @@
326326
<string name="connection_test_timeout_error">بدون پاسخ</string>
327327
<string name="append_http_proxy">پراکسی HTTP را به VPN اضافه کنید</string>
328328
<string name="append_http_proxy_sum">پروکسی HTTP مستقیماً از (مرورگر/برخی برنامه‌های پشتیبانی‌شده) بدون استفاده از دستگاه NIC مجازی (نسخه اندروید بالاتر از 10) استفاده می‌شود.</string>
329+
<string name="append_http_proxy_security_title">اطلاعیه امنیتی</string>
330+
<string name="append_http_proxy_security_message">پس از فعال‌سازی، برنامه‌های دیگر در این دستگاه می‌توانند مستقیماً از پورت پروکسی محلی استفاده کنند.\n\nتوصیه: تنها در صورتی که به تمام برنامه‌های نصب‌شده اعتماد دارید، این گزینه را فعال کنید.</string>
331+
<string name="enable_anyway">همچنان فعال کن</string>
329332
<string name="protocol_settings">تنظیمات پروتکل‌ها</string>
330333
<string name="trojan_provider">تأمین‌کننده Trojan</string>
331334
<string name="group_basic">ابتدایی</string>

app/src/main/res/values-ja/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,9 @@
303303
<string name="connection_test_timeout_error">タイムアウト</string>
304304
<string name="append_http_proxy">VPN に HTTP プロキシを追加</string>
305305
<string name="append_http_proxy_sum">HTTP プロキシは仮想 NIC デバイスを経由せず、(ブラウザ/一部の対応アプリ) から直接使用されます (Android 10+)</string>
306+
<string name="append_http_proxy_security_title">セキュリティに関する通知</string>
307+
<string name="append_http_proxy_security_message">有効にすると、このデバイス上の他のアプリがローカルプロキシポートを直接使用できるようになります。\n\n推奨:インストールされているすべてのアプリを信頼している場合にのみ有効にしてください。</string>
308+
<string name="enable_anyway">それでも有効にする</string>
306309
<string name="strict_route">厳格なルーティング</string>
307310
<string name="protocol_settings">プロトコル設定</string>
308311
<string name="trojan_provider">Trojan プロバイダー</string>

app/src/main/res/values-ko/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,9 @@
297297
<string name="connection_test_timeout_error">시간 초과</string>
298298
<string name="append_http_proxy">VPN에 HTTP 프록시 추가</string>
299299
<string name="append_http_proxy_sum">HTTP 프록시는 가상 NIC 장치를 거치지 않고 (브라우저/일부 지원 앱)에서 직접 사용됩니다 (Android 10+)</string>
300+
<string name="append_http_proxy_security_title">보안 알림</string>
301+
<string name="append_http_proxy_security_message">활성화하면 이 기기의 다른 앱이 로컬 프록시 포트를 직접 사용할 수 있습니다.\n\n권장 사항: 설치된 모든 앱을 신뢰하는 경우에만 활성화하세요.</string>
302+
<string name="enable_anyway">그래도 활성화</string>
300303
<string name="strict_route">엄격한 라우팅</string>
301304
<string name="protocol_settings">프로토콜 설정</string>
302305
<string name="trojan_provider">Trojan 공급자</string>

app/src/main/res/values-ru/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
<string name="app_version">Версия</string>
4242
<string name="append_http_proxy">Добавить HTTP-прокси к VPN</string>
4343
<string name="append_http_proxy_sum">HTTP-прокси будет использоваться напрямую из (браузера / некоторых поддерживаемых приложений), без использования виртуального сетевого интерфейса (Android 10+)</string>
44+
<string name="append_http_proxy_security_title">Уведомление о безопасности</string>
45+
<string name="append_http_proxy_security_message">При включении другие приложения на этом устройстве смогут напрямую использовать локальный прокси-порт.\n\nРекомендация: Включайте эту функцию только если доверяете всем установленным приложениям.</string>
46+
<string name="enable_anyway">Всё равно включить</string>
4447
<string name="apply">Применить</string>
4548
<string name="apps">Приложения</string>
4649
<string name="apps_message">%d приложений</string>

app/src/main/res/values-zh-rCN/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,9 @@
303303
<string name="tile_title">开关</string>
304304
<string name="append_http_proxy">追加 HTTP 代理至 VPN</string>
305305
<string name="append_http_proxy_sum">浏览器 / 一些支持的应用 将直接使用 HTTP 代理, 而不经过虚拟网卡设备 (Android 10+)</string>
306+
<string name="append_http_proxy_security_title">安全提示</string>
307+
<string name="append_http_proxy_security_message">开启后,本机其他应用可以直接使用本地代理端口。\n\n建议:仅在你信任所有已安装应用时开启。</string>
308+
<string name="enable_anyway">仍然开启</string>
306309
<string name="strict_route">严格路由</string>
307310
<string name="connection_test_icmp_ping_unavailable">ICMPing 不可用</string>
308311
<string name="protocol_settings">协议设置</string>

app/src/main/res/values-zh-rTW/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,6 +291,9 @@
291291
<string name="connection_test_timeout_error">逾時</string>
292292
<string name="append_http_proxy">為 VPN 附加 HTTP 代理</string>
293293
<string name="append_http_proxy_sum">HTTP 代理將直接被支援的瀏覽器/應用程式使用,而無需經過虛擬網路卡(Android 10+)</string>
294+
<string name="append_http_proxy_security_title">安全提示</string>
295+
<string name="append_http_proxy_security_message">開啟後,本機其他應用程式可以直接使用本機代理連接埠。\n\n建議:僅在你信任所有已安裝應用程式時開啟。</string>
296+
<string name="enable_anyway">仍然開啟</string>
294297
<string name="trojan_provider">Trojan 提供程式</string>
295298
<string name="protocol_settings">協議設定</string>
296299
<string name="group_basic">基本</string>

app/src/main/res/values/strings.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,9 @@
358358
<string name="append_http_proxy">Append HTTP Proxy to VPN</string>
359359
<string name="append_http_proxy_sum">HTTP proxy will be used directly from (browser/ some
360360
supported apps), without going through the virtual NIC device (Android 10+)</string>
361+
<string name="append_http_proxy_security_title">Security Notice</string>
362+
<string name="append_http_proxy_security_message">When enabled, other apps on this device can directly use the local proxy port.\n\nRecommendation: Only enable this if you trust all installed apps.</string>
363+
<string name="enable_anyway">Enable Anyway</string>
361364
<string name="strict_route">Strict Route</string>
362365
<string name="protocol_settings">Protocol Settings</string>
363366
<string name="trojan_provider">Trojan Provider</string>

0 commit comments

Comments
 (0)