From 5db46e81b755741cdda68994d5b3edea43afc68d Mon Sep 17 00:00:00 2001 From: 2dust <31833384+2dust@users.noreply.github.com> Date: Wed, 9 Apr 2025 10:08:56 +0800 Subject: [PATCH] Bug fix https://github.com/2dust/v2rayNG/issues/4474 --- .../src/main/java/com/v2ray/ang/AppConfig.kt | 54 ++++++++++++++----- .../com/v2ray/ang/service/V2RayVpnService.kt | 2 +- 2 files changed, 42 insertions(+), 14 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 8bec1f33..87be50e6 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/AppConfig.kt @@ -187,21 +187,49 @@ object AppConfig { val DNS_QUAD9_ADDRESSES = arrayListOf("9.9.9.9", "149.112.112.112", "2620:fe::fe", "2620:fe::9") val DNS_YANDEX_ADDRESSES = arrayListOf("77.88.8.8", "77.88.8.1", "2a02:6b8::feed:0ff", "2a02:6b8:0:1::feed:0ff") - val PRIVATE_IP_LIST = arrayListOf( - "0.0.0.0/8", - "10.0.0.0/8", - "169.254.0.0/16", - "172.16.0.0/12", - "192.0.0.0/24", - "192.0.2.0/24", - "192.88.99.0/24", - "192.168.0.0/16", - "198.18.0.0/15", - "198.51.100.0/24", - "203.0.113.0/24", - "224.0.0.0/4", + //minimum list https://serverfault.com/a/304791 + val BYPASS_PRIVATE_IP_LIST = arrayListOf( + "0.0.0.0/5", + "8.0.0.0/7", + "11.0.0.0/8", + "12.0.0.0/6", + "16.0.0.0/4", + "32.0.0.0/3", + "64.0.0.0/2", + "128.0.0.0/3", + "160.0.0.0/5", + "168.0.0.0/6", + "172.0.0.0/12", + "172.32.0.0/11", + "172.64.0.0/10", + "172.128.0.0/9", + "173.0.0.0/8", + "174.0.0.0/7", + "176.0.0.0/4", + "192.0.0.0/9", + "192.128.0.0/11", + "192.160.0.0/13", + "192.169.0.0/16", + "192.170.0.0/15", + "192.172.0.0/14", + "192.176.0.0/12", + "192.192.0.0/10", + "193.0.0.0/8", + "194.0.0.0/7", + "196.0.0.0/6", + "200.0.0.0/5", + "208.0.0.0/4", "240.0.0.0/4" ) + + val PRIVATE_IP_LIST = arrayListOf( + "10.0.0.0/8", + "172.16.0.0/12", + "192.168.0.0/16", + "169.254.0.0/16", + "224.0.0.0/4" + ) + val GEO_FILES_SOURCES = arrayListOf( "$GITHUB_URL/Loyalsoldier/v2ray-rules-dat/$GITHUB_DOWNLOAD", "$GITHUB_URL/runetfreedom/russia-v2ray-rules-dat/$GITHUB_DOWNLOAD", diff --git a/V2rayNG/app/src/main/java/com/v2ray/ang/service/V2RayVpnService.kt b/V2rayNG/app/src/main/java/com/v2ray/ang/service/V2RayVpnService.kt index c852d2fe..2c3ac0da 100644 --- a/V2rayNG/app/src/main/java/com/v2ray/ang/service/V2RayVpnService.kt +++ b/V2rayNG/app/src/main/java/com/v2ray/ang/service/V2RayVpnService.kt @@ -166,7 +166,7 @@ class V2RayVpnService : VpnService(), ServiceControl { //builder.addDnsServer(PRIVATE_VLAN4_ROUTER) val bypassLan = SettingsManager.routingRulesetsBypassLan() if (bypassLan) { - AppConfig.PRIVATE_IP_LIST.forEach { + AppConfig.BYPASS_PRIVATE_IP_LIST.forEach { val addr = it.split('/') builder.addRoute(addr[0], addr[1].toInt()) }