拆分服务器地址配置为独立字段,支持CDN优选IP故障切换,新增重置数据库按钮

- model: ServerURL → Protocol/Host/ServerIPs/Port/Path 五个字段
- db: 自动迁移旧 server_url 列到新表结构
- ui: 配置窗口改为横向分组布局,保存失败时不再关闭窗口
- transport: 支持 TLS SNI + Host 头覆盖以连接 CDN 边缘节点
- session: CDN IP 列表连接失败自动切换到下一个
- 新增重置数据库按钮,一键清空所有配置
This commit is contained in:
2026-07-06 20:58:11 +08:00
parent 32471e25b0
commit 96278fdf37
12 changed files with 469 additions and 72 deletions
+11 -2
View File
@@ -34,7 +34,7 @@ DlgDeleteProfileTitle = "Delete Profile"
DlgDeleteProfileMsg = 'Delete profile "{{.name}}" and its stored credentials?'
DlgProfileTitle = "Profile"
DlgValidationTitle = "Validation"
DlgValidationMsg = "Name, Server URL, and Username are required."
DlgValidationMsg = "Name, Host, and Username are required."
DlgDaemonError = "Daemon Error"
DlgCredentialError = "Credential Error"
DlgCredentialErrorMsg = "No password stored for this profile. Edit the profile to set it."
@@ -44,6 +44,10 @@ DlgSaveError = "Save Error"
DlgKeychainError = "Keychain Error"
DlgError = "Error"
BtnResetDB = "Reset Database"
DlgResetDBTitle = "Reset Database"
DlgResetDBMsg = "Delete all profiles and connection logs? This cannot be undone."
TrayShowWindow = "Show Window"
TrayConnect = "Connect"
TrayDisconnect = "Disconnect"
@@ -52,7 +56,11 @@ TrayLanguageAuto = "Auto"
TrayQuit = "Quit"
FieldName = "Name"
FieldServerURL = "Server URL"
FieldProtocol = "Protocol"
FieldHost = "Host"
FieldServerIPs = "Server IPs (CDN)"
FieldPort = "Port"
FieldPath = "Path"
FieldUsername = "Username"
FieldPassword = "Password"
FieldAuthMode = "Auth Mode"
@@ -63,6 +71,7 @@ FieldMTUOverride = "MTU Override"
PlaceholderCIDRs = "10.0.0.0/8, 172.16.0.0/12"
PlaceholderMTU = "0 = use server MTU"
PlaceholderPasswordUnchanged = "(unchanged)"
PlaceholderServerIPs = "e.g. 1.2.3.4, 5.6.7.8"
AuthModeBoth = "Both (JWT + Password)"
AuthModeJWT = "JWT"
+11 -2
View File
@@ -34,7 +34,7 @@ DlgDeleteProfileTitle = "删除配置"
DlgDeleteProfileMsg = '删除配置"{{.name}}"及其存储的凭据?'
DlgProfileTitle = "配置"
DlgValidationTitle = "验证"
DlgValidationMsg = "名称、服务器地址和用户名为必填项。"
DlgValidationMsg = "名称、主机名和用户名为必填项。"
DlgDaemonError = "守护进程错误"
DlgCredentialError = "凭据错误"
DlgCredentialErrorMsg = "此配置未存储密码。请编辑配置以设置密码。"
@@ -44,6 +44,10 @@ DlgSaveError = "保存错误"
DlgKeychainError = "钥匙串错误"
DlgError = "错误"
BtnResetDB = "重置数据库"
DlgResetDBTitle = "重置数据库"
DlgResetDBMsg = "删除所有配置和连接记录?此操作无法撤销。"
TrayShowWindow = "显示窗口"
TrayConnect = "连接"
TrayDisconnect = "断开连接"
@@ -52,7 +56,11 @@ TrayLanguageAuto = "自动"
TrayQuit = "退出"
FieldName = "名称"
FieldServerURL = "服务器地址"
FieldProtocol = "协议"
FieldHost = "主机名"
FieldServerIPs = "服务器 IPCDN 优选)"
FieldPort = "端口"
FieldPath = "路径"
FieldUsername = "用户名"
FieldPassword = "密码"
FieldAuthMode = "认证方式"
@@ -63,6 +71,7 @@ FieldMTUOverride = "MTU 覆盖"
PlaceholderCIDRs = "10.0.0.0/8, 172.16.0.0/12"
PlaceholderMTU = "0 = 使用服务器 MTU"
PlaceholderPasswordUnchanged = "(未更改)"
PlaceholderServerIPs = "例: 1.2.3.4, 5.6.7.8"
AuthModeBoth = "全部(JWT + 密码)"
AuthModeJWT = "JWT"