feat(lite): add opt-in tun ipv6 mode
This commit is contained in:
@@ -1312,6 +1312,15 @@ def _set_tun_dns_servers(value):
|
||||
data["tun_dns"] = list(parsed)
|
||||
_settings_save(data)
|
||||
|
||||
def _tun_ipv6_enabled():
|
||||
"""TUN IPv6 默认关闭,避免未验证的 IPv6 路径接管系统流量。"""
|
||||
return bool(_settings_load().get("tun_ipv6_enabled", False))
|
||||
|
||||
def _set_tun_ipv6_enabled(value):
|
||||
data = _settings_load()
|
||||
data["tun_ipv6_enabled"] = bool(value)
|
||||
_settings_save(data)
|
||||
|
||||
def _use_system_pac():
|
||||
"""只决定 Windows 系统代理是否使用 PAC;旧设置按原行为读取。"""
|
||||
data = _settings_load()
|
||||
@@ -2632,6 +2641,7 @@ def _settings_services():
|
||||
get_port=lambda: _TLS_LOCAL_PORT,
|
||||
get_system_pac=_use_system_pac,
|
||||
get_dns=_tun_dns_servers,
|
||||
get_ipv6_enabled=_tun_ipv6_enabled,
|
||||
get_update_via_proxy=_update_via_proxy,
|
||||
get_skip_update_check=_skip_update_check,
|
||||
get_node_display_mode=_node_display_mode,
|
||||
@@ -2640,6 +2650,7 @@ def _settings_services():
|
||||
set_port=_set_local_port,
|
||||
set_system_pac=_set_use_system_pac,
|
||||
set_dns=_set_tun_dns_servers,
|
||||
set_ipv6_enabled=_set_tun_ipv6_enabled,
|
||||
set_update_via_proxy=_set_update_via_proxy,
|
||||
set_skip_update_check=_set_skip_update_check,
|
||||
set_node_display_mode=_set_node_display_mode,
|
||||
@@ -2722,6 +2733,7 @@ def _start_tun_backend(backend, payload):
|
||||
bypass_lan=bypass_lan,
|
||||
route_rules=rules,
|
||||
dns_servers=payload["dns_servers"],
|
||||
ipv6_enabled=bool(payload.get("ipv6_enabled", False)),
|
||||
direct_target_resolver=direct_target,
|
||||
route_rule_resolver=user_rule,
|
||||
route_node_resolver=route_node,
|
||||
@@ -2748,6 +2760,7 @@ def _tun_start_payload(use_pac, bypass_lan):
|
||||
"route_rules": _route_rules(),
|
||||
"route_nodes": route_nodes,
|
||||
"dns_servers": _tun_dns_servers(),
|
||||
"ipv6_enabled": _tun_ipv6_enabled(),
|
||||
"bypass_lan": bool(bypass_lan),
|
||||
"smart": bool(use_pac),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user