feat(lite): add built-in PAC mode and publish 9999091820

This commit is contained in:
RoyirinRosmontis
2026-09-18 20:34:18 +08:00
parent 01de67610d
commit a0e2600399
3 changed files with 53 additions and 10 deletions
+19 -1
View File
@@ -930,10 +930,12 @@ class SettingsServices:
load_icon: object
version: str
get_port: object
get_builtin_pac: object
get_update_via_proxy: object
get_skip_update_check: object
parse_port: object
set_port: object
set_builtin_pac: object
set_update_via_proxy: object
set_skip_update_check: object
open_whitelist: object
@@ -953,7 +955,7 @@ class SettingsDialog(QDialog):
self._services = services
self.setWindowTitle("设置")
self.setWindowIcon(services.load_icon())
self.setFixedSize(300, 350)
self.setFixedSize(300, 380)
self.setStyleSheet(f"""
QDialog {{ background-color: {C_BG}; }}
QLabel {{ color: {C_TEXT}; font-family: "Microsoft YaHei", "Segoe UI", sans-serif; font-size: 12px; }}
@@ -1056,6 +1058,21 @@ class SettingsDialog(QDialog):
port_row.addWidget(self.ed_port)
layout.addLayout(port_row)
builtin_pac_row = QHBoxLayout()
builtin_pac_label = QLabel("使用内置 PAC")
builtin_pac_label.setStyleSheet(f"color: {C_SUBTEXT}; font-size: 12px;")
builtin_pac_label.setToolTip(
"系统使用固定的本地代理端口;转发器内部仍按 PAC 规则智能判断直连或代理"
)
builtin_pac_row.addWidget(builtin_pac_label)
builtin_pac_row.addStretch()
self.cb_builtin_pac = ToggleSwitch(checked=services.get_builtin_pac())
self.cb_builtin_pac.setToolTip(
"系统固定指向本地代理端口,转发器内部保留 PAC 智能分流"
)
builtin_pac_row.addWidget(self.cb_builtin_pac)
layout.addLayout(builtin_pac_row)
update_row = QHBoxLayout()
update_label = QLabel("使用代理更新")
update_label.setStyleSheet(f"color: {C_SUBTEXT}; font-size: 12px;")
@@ -1138,6 +1155,7 @@ class SettingsDialog(QDialog):
self.lb_hint.setStyleSheet(f"color: {C_RED}; font-size: 11px;")
return
self._services.set_port(port)
self._services.set_builtin_pac(bool(self.cb_builtin_pac.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.ed_port.setText(str(port))