From cfae0511098c80771880a5f2fc0ef6588b829c49 Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Wed, 24 Dec 2025 20:07:34 +0800 Subject: [PATCH] Refactor hev tunnel timeout settings Changed hev tunnel read/write timeout preference to accept separate TCP and UDP values in seconds (default 300,60). Updated related keys, default values, and UI strings across multiple languages to reflect the new format and units. https://github.com/2dust/v2rayNG/issues/5057 --- V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt | 4 ++-- .../main/java/com/v2ray/ang/service/TProxyService.kt | 12 ++++++++++-- V2rayNG/app/src/main/res/values-ar/strings.xml | 2 +- V2rayNG/app/src/main/res/values-bn/strings.xml | 2 +- V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml | 2 +- V2rayNG/app/src/main/res/values-fa/strings.xml | 2 +- V2rayNG/app/src/main/res/values-ru/strings.xml | 2 +- V2rayNG/app/src/main/res/values-vi/strings.xml | 2 +- V2rayNG/app/src/main/res/values-zh-rCN/strings.xml | 2 +- V2rayNG/app/src/main/res/values-zh-rTW/strings.xml | 2 +- V2rayNG/app/src/main/res/values/strings.xml | 2 +- V2rayNG/app/src/main/res/xml/pref_settings.xml | 5 ++--- 12 files changed, 23 insertions(+), 16 deletions(-) diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt index 7f46835c..54e780ed 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt @@ -65,7 +65,7 @@ object AppConfig { const val PREF_GEO_FILES_SOURCES = "pref_geo_files_sources" const val PREF_USE_HEV_TUNNEL = "pref_use_hev_tunnel" const val PREF_HEV_TUNNEL_LOGLEVEL = "pref_hev_tunnel_loglevel" - const val PREF_HEV_TUNNEL_RW_TIMEOUT = "pref_hev_tunnel_rw_timeout" + const val PREF_HEV_TUNNEL_RW_TIMEOUT = "pref_hev_tunnel_rw_timeout_v2" /** Cache keys. */ const val CACHE_SUBSCRIPTION_ID = "cache_subscription_id" @@ -173,7 +173,7 @@ object AppConfig { const val VPN_MTU = 1500 /** hev-sock5-tunnel read-write-timeout value */ - const val HEVTUN_RW_TIMEOUT = "300000" + const val HEVTUN_RW_TIMEOUT = "300,60" // Google API rule constants const val GOOGLEAPIS_CN_DOMAIN = "domain:googleapis.cn" diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt index 3a50c2a5..71843084 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/service/TProxyService.kt @@ -71,9 +71,17 @@ class TProxyService( appendLine(" address: ${AppConfig.LOOPBACK}") appendLine(" udp: 'udp'") + // Read-write timeout settings + val timeoutSetting = MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT) ?: AppConfig.HEVTUN_RW_TIMEOUT + val parts = timeoutSetting.split(",") + .map { it.trim() } + .filter { it.isNotEmpty() } + val tcpTimeout = parts.getOrNull(0)?.toIntOrNull() ?: 300 + val udpTimeout = parts.getOrNull(1)?.toIntOrNull() ?: 60 + appendLine("misc:") - appendLine(" tcp-read-write-timeout: ${MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT) ?: AppConfig.HEVTUN_RW_TIMEOUT}") - appendLine(" udp-read-write-timeout: ${MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_RW_TIMEOUT) ?: AppConfig.HEVTUN_RW_TIMEOUT}") + appendLine(" tcp-read-write-timeout: ${tcpTimeout * 1000}") + appendLine(" udp-read-write-timeout: ${udpTimeout * 1000}") appendLine(" log-level: ${MmkvManager.decodeSettingsString(AppConfig.PREF_HEV_TUNNEL_LOGLEVEL) ?: "warn"}") } } diff --git a/V2rayNG/app/src/main/res/values-ar/strings.xml b/V2rayNG/app/src/main/res/values-ar/strings.xml index 5d154956..e7b9700f 100644 --- a/V2rayNG/app/src/main/res/values-ar/strings.xml +++ b/V2rayNG/app/src/main/res/values-ar/strings.xml @@ -253,7 +253,7 @@ Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. Hev Tun Log Level - Hev Tun Read/Write Timeout (ms, default 300000) + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) Logcat نسخ diff --git a/V2rayNG/app/src/main/res/values-bn/strings.xml b/V2rayNG/app/src/main/res/values-bn/strings.xml index 50fda9e7..f38433db 100644 --- a/V2rayNG/app/src/main/res/values-bn/strings.xml +++ b/V2rayNG/app/src/main/res/values-bn/strings.xml @@ -253,7 +253,7 @@ Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. Hev Tun Log Level - Hev Tun Read/Write Timeout (ms, default 300000) + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) লগক্যাট কপি করুন diff --git a/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml b/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml index d098d420..411a04e7 100644 --- a/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml +++ b/V2rayNG/app/src/main/res/values-bqi-rIR/strings.xml @@ -253,7 +253,7 @@ فعال کردن ویژیی نۊ TUN ٱر ک فعال بۊ، TUN ایا hev-socks5-tunnel ن و کار اگره؛ ٱندی ز badvpn-tun2socks. Hev Tun سئت گوزارشا - Hev Tun زمووݩ مندیر بیڌن خوندن وو هؽل کردن (میلی سانیه، پؽش فرز 300000) + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) گوزارشا لف گیری diff --git a/V2rayNG/app/src/main/res/values-fa/strings.xml b/V2rayNG/app/src/main/res/values-fa/strings.xml index 37a43039..a1865dd7 100644 --- a/V2rayNG/app/src/main/res/values-fa/strings.xml +++ b/V2rayNG/app/src/main/res/values-fa/strings.xml @@ -250,7 +250,7 @@ فعالسازی قابلیت TUN جدید در صورت فعال بودن، TUN از hev-socks5-tunnel استفاده می‌کند؛ در غیر این صورت از badvpn-tun2socks. سطح گزارشات Hev Tun - زمان انتظار خواندن/نوشتن (میلی‌ثانیه، پیش‌فرض ۳۰۰۰۰۰) Hev Tun + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) گزارشات کپی diff --git a/V2rayNG/app/src/main/res/values-ru/strings.xml b/V2rayNG/app/src/main/res/values-ru/strings.xml index b337a4bd..5c422e91 100644 --- a/V2rayNG/app/src/main/res/values-ru/strings.xml +++ b/V2rayNG/app/src/main/res/values-ru/strings.xml @@ -252,7 +252,7 @@ Использовать новую версию TUN Если включено, TUN будет использовать hev-socks5-tunnel, иначе будет использоваться badvpn-tun2socks Подробность журнала HevTun - Время ожидания чтения/записи HevTun (мс, по умолчанию 300000) + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) Журнал Копировать diff --git a/V2rayNG/app/src/main/res/values-vi/strings.xml b/V2rayNG/app/src/main/res/values-vi/strings.xml index fb478ae4..47553d36 100644 --- a/V2rayNG/app/src/main/res/values-vi/strings.xml +++ b/V2rayNG/app/src/main/res/values-vi/strings.xml @@ -253,7 +253,7 @@ Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. Hev Tun Log Level - Hev Tun Read/Write Timeout (ms, default 300000) + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) Logcat Sao chép diff --git a/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml b/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml index 16dbaa89..d109cbfc 100644 --- a/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml +++ b/V2rayNG/app/src/main/res/values-zh-rCN/strings.xml @@ -251,7 +251,7 @@ 启用新的 TUN 功能 选择启用后 TUN 将使用 hev-socks5-tunnel 否则使用 badvpn-tun2socks HevTun 日志级别 - HevTun 读写超时 (ms, 默认 300000) + HevTun 读写超时(秒) (tcp,udp 默认 300,60) Logcat 复制 diff --git a/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml b/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml index 961a6292..7a0eb291 100644 --- a/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml +++ b/V2rayNG/app/src/main/res/values-zh-rTW/strings.xml @@ -251,7 +251,7 @@ 啟用新 TUN 功能 選擇啟用後,TUN 將使用 hev-socks5-tunnel,否則使用 badvpn-tun2socks。 HevTun 日誌級別 - HevTun 讀寫逾時 (ms, 預設 300000) + HevTun 讀寫逾時(秒) (tcp,udp 預設 300,60) Logcat 複製 diff --git a/V2rayNG/app/src/main/res/values/strings.xml b/V2rayNG/app/src/main/res/values/strings.xml index f44f41be..b87b4bd3 100644 --- a/V2rayNG/app/src/main/res/values/strings.xml +++ b/V2rayNG/app/src/main/res/values/strings.xml @@ -257,7 +257,7 @@ Enable New TUN Feature When enabled, TUN will use hev-socks5-tunnel; otherwise, it will use badvpn-tun2socks. Hev Tun Log Level - Hev Tun Read/Write Timeout (ms, default 300000) + Hev Tun read/write timeout (seconds) (tcp,udp default 300,60) Logcat Copy diff --git a/V2rayNG/app/src/main/res/xml/pref_settings.xml b/V2rayNG/app/src/main/res/xml/pref_settings.xml index fb060582..029af7b5 100644 --- a/V2rayNG/app/src/main/res/xml/pref_settings.xml +++ b/V2rayNG/app/src/main/res/xml/pref_settings.xml @@ -93,9 +93,8 @@ android:title="@string/title_pref_hev_tunnel_loglevel" />