feat(lite): add opt-in tun ipv6 mode
This commit is contained in:
@@ -933,6 +933,7 @@ class SettingsServices:
|
||||
get_port: object
|
||||
get_system_pac: object
|
||||
get_dns: object
|
||||
get_ipv6_enabled: object
|
||||
get_update_via_proxy: object
|
||||
get_skip_update_check: object
|
||||
get_node_display_mode: object
|
||||
@@ -941,6 +942,7 @@ class SettingsServices:
|
||||
set_port: object
|
||||
set_system_pac: object
|
||||
set_dns: object
|
||||
set_ipv6_enabled: object
|
||||
set_update_via_proxy: object
|
||||
set_skip_update_check: object
|
||||
set_node_display_mode: object
|
||||
@@ -1114,6 +1116,18 @@ class SettingsDialog(QDialog):
|
||||
dns_row.addWidget(self.ed_dns)
|
||||
left_col.addLayout(dns_row)
|
||||
|
||||
ipv6_row = QHBoxLayout()
|
||||
ipv6_label = QLabel("启用 IPv6 模式 (虚拟网卡)")
|
||||
ipv6_label.setStyleSheet(f"color: {C_SUBTEXT}; font-size: 12px;")
|
||||
ipv6_label.setToolTip("TUN 模式安装 IPv6 地址和默认路由;默认关闭")
|
||||
ipv6_row.addWidget(ipv6_label)
|
||||
ipv6_row.addStretch()
|
||||
get_ipv6_enabled = getattr(services, "get_ipv6_enabled", lambda: False)
|
||||
self.cb_ipv6 = ToggleSwitch(checked=bool(get_ipv6_enabled()))
|
||||
self.cb_ipv6.setToolTip("仅虚拟网卡模式使用;系统代理模式忽略此项")
|
||||
ipv6_row.addWidget(self.cb_ipv6)
|
||||
left_col.addLayout(ipv6_row)
|
||||
|
||||
update_row = QHBoxLayout()
|
||||
update_label = QLabel("使用代理更新")
|
||||
update_label.setStyleSheet(f"color: {C_SUBTEXT}; font-size: 12px;")
|
||||
@@ -1266,6 +1280,8 @@ class SettingsDialog(QDialog):
|
||||
self.ed_port.setText(str(self._services.get_port()))
|
||||
self.cb_system_pac.setChecked(self._services.get_system_pac())
|
||||
self.ed_dns.setText(", ".join(self._services.get_dns()))
|
||||
get_ipv6_enabled = getattr(self._services, "get_ipv6_enabled", lambda: False)
|
||||
self.cb_ipv6.setChecked(bool(get_ipv6_enabled()))
|
||||
self.cb_update_proxy.setChecked(self._services.get_update_via_proxy())
|
||||
self.cb_skip_update.setChecked(self._services.get_skip_update_check())
|
||||
self.btn_node_domain.setChecked(True)
|
||||
@@ -1287,6 +1303,8 @@ class SettingsDialog(QDialog):
|
||||
return
|
||||
self._services.set_port(port)
|
||||
self._services.set_system_pac(bool(self.cb_system_pac.isChecked()))
|
||||
set_ipv6_enabled = getattr(self._services, "set_ipv6_enabled", lambda _value: None)
|
||||
set_ipv6_enabled(bool(self.cb_ipv6.isChecked()))
|
||||
self._services.set_update_via_proxy(bool(self.cb_update_proxy.isChecked()))
|
||||
self._services.set_skip_update_check(bool(self.cb_skip_update.isChecked()))
|
||||
self._services.set_node_display_mode(
|
||||
|
||||
Reference in New Issue
Block a user