diff --git a/Cargo.lock b/Cargo.lock index 9b1435f6e..f5eea2c36 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1267,8 +1267,8 @@ dependencies = [ [[package]] name = "clash_verge_service_ipc" -version = "2.6.8" -source = "git+https://github.com/clash-verge-rev/clash-verge-service-ipc.git?tag=v2.6.8#44ac11940d9c9c351a6e873e03dd1c48f7aebcb8" +version = "2.6.9" +source = "git+https://github.com/clash-verge-rev/clash-verge-service-ipc.git?tag=v2.6.9#94f7747bfa42dcbc0d945f5b4a0f72c4b2edc647" dependencies = [ "anyhow", "kode-bridge", @@ -2238,7 +2238,7 @@ dependencies = [ "cc", "memchr", "rustc_version 0.4.1", - "toml 1.1.4+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", "vswhom", "winreg 0.55.0", ] @@ -3941,9 +3941,9 @@ dependencies = [ [[package]] name = "kode-bridge" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "011bbb08cc7dfa49d284a5a96917c89efaab0a0fec0a42dca2db3d24fa126a27" +checksum = "cdb14ea1ba42eebb57b46bcdd67a20f11a3f076d846ddf772c68d7439f6c6eca" dependencies = [ "bytes", "futures", @@ -3960,7 +3960,7 @@ dependencies = [ "tokio", "tokio-stream", "tokio-util", - "toml 1.1.4+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", "tracing", "url", "windows-sys 0.61.2", @@ -7073,7 +7073,7 @@ dependencies = [ "cfg-expr 0.20.9", "heck 0.5.0", "pkg-config", - "toml 1.1.4+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", "version-compare", ] @@ -7423,7 +7423,7 @@ dependencies = [ "tauri-plugin", "tauri-utils", "thiserror 2.0.20", - "toml 1.1.4+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", "url", ] @@ -7727,7 +7727,7 @@ dependencies = [ "serde_with", "swift-rs", "thiserror 2.0.20", - "toml 1.1.4+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", "url", "urlpattern", "uuid", @@ -7742,7 +7742,7 @@ checksum = "cc65d45c68858bfe420dd29e834b5d15dbecf8a07a8a16cf4d532c7b1f69d4b6" dependencies = [ "dunce", "embed-resource", - "toml 1.1.4+spec-1.1.0", + "toml 1.1.6+spec-1.1.0", ] [[package]] @@ -8103,9 +8103,9 @@ dependencies = [ [[package]] name = "toml" -version = "1.1.4+spec-1.1.0" +version = "1.1.6+spec-1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3aace63f4bbcdfc2c965b059de67119c89c4017a70d633be6c104910f67056f5" +checksum = "920602543f0911ab71da12c50d59701da54c196d1a2bf5cb4b75667f137a406a" dependencies = [ "indexmap 2.14.0", "serde_core", diff --git a/Changelog.md b/Changelog.md index d9ef0a071..e6b3fb82d 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,102 +1,99 @@ ## v2.5.4 > [!IMPORTANT] -> 服务模式下,规则集、代理集合等由内核下载的文件会在内核启动和更新后同步回配置目录。同步的是副本,修改副本不影响运行中的内核;需要手工维护的集合请使用 `type: file`。 +> 服务模式下,配置目录中的规则集、代理集合文件只是缓存副本,手动修改不会影响正在运行的内核。需要手动维护的文件请使用 `type: file`。
🐞 修复问题 -- 修复系统代理状态不同步:切换失败后界面停留错误状态、后台应用后未刷新、托盘与热键切换失败无提示 -- 修复代理守卫反复失败后无限重试且不告知用户的问题,连续失败后停止并告知 -- 修复其余系统代理问题:未开启过的用户每次启动收到报错、恢复备份后未关闭 -- 修复服务健康探测结果粘滞、受限机器上安装服务后无法切换服务模式,失败时回退 Sidecar 且开关状态与内核一致 -- 修复服务模式下升级内核后重启仍运行旧版本的问题 -- 修复 Mihomo API 变更后 proxy-provider 被误过滤,节点显示 Unknown 及延迟测试失败 -- 修复代理组节点 `PASS-RULE` 被过滤丢失的问题 -- 修复内核启动后未恢复上次选择的节点、代理组回落到首个节点的问题 -- 修复代理组与首页测试列表图标在含非 Latin-1 字符时无法显示、导致页面报错的问题 -- 修复并发修改端口、TUN 等配置时草稿相互覆盖或被误回滚的问题 -- 修复快速重启内核时混合端口被错误回退的问题 -- 修复修改端口失败后 PAC 服务未重新开启,导致使用 PAC 的浏览器静默直连的问题 -- 修复 TUN 模式下 `fake-ip-range6` 默认值,重置为 `2001:2::0/64` -- 修复启动初始化时代理视图分组顺序使用旧配置的问题 -- 修复刷新代理配置事件导致应用卡死的问题 -- 修复订阅文件管理问题:解析失败时清理误删订阅文件、删除中途失败后状态不一致、无效排序请求导致列表丢失 -- 修复订阅自动更新失败未上报、重启后倒计时被推迟并误显「更新失败」的问题 -- 修复订阅与 DNS 编辑器问题:空名称节点导致崩溃、YAML 错误时丢失原始内容、DNS 编辑初始值覆盖用户配置 -- 修复关闭「自动检查更新」后首页手动检查更新直接提示已是最新版本的问题 -- 改进错误提示:显示完整原因而非操作系统原文、不再出现 [object Object]、过长时截断(右键复制完整内容) -- 修复服务模式下规则集、代理集合文件在配置目录中消失的问题 +- 修复系统代理切换失败后,开关状态显示错误的问题 +- 修复代理守卫失败后反复重试且没有提示的问题 +- 修复未开启系统代理时,启动仍提示代理错误的问题 +- 修复恢复备份后未按备份设置关闭系统代理的问题 +- 修复服务模式下操作超时后,后续操作报错或状态异常的问题 +- 修复部分节点显示「Unknown」或无法测试延迟的问题 +- 修复 `PASS-RULE` 节点被错误隐藏的问题 +- 修复重启内核后未恢复上次所选节点的问题 +- 修复部分代理组和首页图标无法显示、页面报错的问题 +- 修复同时修改端口、TUN 等设置时,部分修改丢失的问题 +- 修复 TUN 模式下 IPv6 Fake-IP 默认地址范围错误的问题 +- 修复切换节点时应用可能卡住的问题 +- 修复订阅文件被误删、删除或排序后列表异常的问题 +- 修复订阅自动更新失败无提示、重启后更新时间延后及状态误报的问题 +- 修复订阅编辑器因节点名称为空而崩溃、因格式错误而丢失内容的问题 +- 修复 DNS 编辑器空内容报错、初始值覆盖已有设置的问题 +- 修复关闭自动检查更新后,手动检查更新无效的问题 **🖥️ Windows** -- 修复 Windows 内核升级失败遗留旧内核且卸载不清理的问题 -- 修复 Windows 数据目录属主异常导致服务模式不可用的问题,启动时自动修复属主 -- 修复 Windows 对不支持的 redir/tproxy 端口误做冲突检测的问题 -- 修复 Windows 上系统代理写入偶发瞬时失败的问题,增加重试并给出提示 -- 修复 Windows 卸载后残留 TUN 配置、重装后无法启动内核,当前会话回退 Sidecar 并保留 TUN 偏好 -- 修复 Windows 主窗口打开时关机被「此程序正在阻止关机」卡住、无法退出的问题 +- 修复 Windows 系统代理设置偶发失败的问题 +- 修复 Windows 关机被应用阻止的问题 **🍎 macOS** -- 修复内核自更新在 macOS 留下 0 字节文件的问题 -- 修复 macOS 系统代理写入:管理员密码下无法设置、登录自启时网络未就绪、无活动网络服务时误报失败 -- 修复 macOS 多显示器切换时托盘速率样式不同步的问题 +- 修复 macOS 内核更新失败后无法启动的问题 +- 修复 macOS 需要管理员授权或开机自启时,系统代理设置失败的问题 +- 修复 macOS 切换显示器后托盘速率样式不同步的问题 **🐧 Linux** -- 修复 Linux 通过 pkexec 安装/卸载服务时 polkit 认证失败的问题 -- 修复 Linux 桌面环境下主题切换时应用外观不跟随的问题 +- 修复 Linux 安装或卸载服务时授权失败的问题 **🍎/🐧 macOS/Linux** -- 修复系统代理绕过列表在 macOS/Linux 上使用错误分隔符的问题 -- 修复 macOS/Linux 旧服务遗留数据属主为 root,导致无法记住选中节点的问题 +- 修复 macOS/Linux 系统代理绕过规则未正确生效的问题 +- 修复 macOS/Linux 因旧版服务缓存权限异常而无法记住节点的问题
✨ 新增功能 -- 新增混合代理端口冲突自动回退:启动时检测端口占用并临时改用可用端口,配置端口保持不变、下次启动重新尝试 -- 系统代理或 TUN 因权限被拒时弹出引导窗口,一步安装系统服务并自动恢复原本设置,并显示当前阶段 -- 支持手动点击取消代理组中固定的代理节点 -- 开启 DNS 覆写时若当前订阅包含自定义 DNS 配置会先弹窗确认,订阅更新后自动关闭覆写,避免节点无法连接 -- 代理页空状态给出排查引导(未导入或未激活订阅、内核不可用等),提供前往订阅、重启内核等快捷操作 -- 订阅自动更新间隔低于 24 小时时给出警告,避免频繁重载内核中断连接 -- 启动失败时弹窗显示具体原因并写入 `logs/startup.log`,不再静默退出 +- 新增混合代理端口自动避让,被占用时临时使用其他端口 +- 新增系统代理和 TUN 权限引导,可直接安装服务并恢复原设置 +- 新增服务模式多用户隔离,支持旧版服务升级迁移 +- 新增手动取消节点固定功能 +- 新增代理组标题栏拖动调整,可交换组名和工具栏的位置 +- 新增前置规则与后置规则互相移动功能 +- 新增 DNS 覆写保护:订阅含自定义 DNS 时先确认,订阅更新后自动关闭覆写 +- 新增代理页排查提示,方便检查订阅和内核状态 +- 新增订阅更新频率提醒,间隔不足 24 小时时提示 +- 新增启动失败提示,显示原因并保存启动日志 **🍎 macOS** -- macOS 采用 Icon Composer 2 制作的 Liquid Glass 应用图标 +- 新增 macOS Liquid Glass 风格图标 +- 新增 macOS 多用户启动保护,避免多个实例冲突 + +**🐧 Linux** + +- 新增 Linux 系统主题跟随,自动切换深浅色外观
🚀 优化改进 -- 优化 TUN 设置优先级:原始配置 < Merge 覆写 < Script 脚本 < GUI,GUI 仅接管其编辑的字段 -- 增强代理页刷新、链路选择与异常状态下的稳定性 -- 加强服务多用户隔离与身份认证,新增旧版服务迁移引导 -- 系统代理写入半途失败后,系统状态、代理守卫与配置保持一致 -- 优化内核启动、停止及更新流程,减少启动失败与残留进程;减少慢机器上误判服务不可用 -- 优化首页当前节点的交互与固定状态显示 -- 支持在前置规则与后置规则之间直接切换规则位置 -- 限制外部链接仅允许打开 http/https 地址,订阅主页地址同样校验 -- 优化更新与安装体验:发布说明支持 GFM 渲染、自动更新跳过语言选择提示、内核校验被终止时提示检查安全软件 -- 界面细节:搜索框自动聚焦、节点卡片不显示 provider 名称、统一字体与等宽编辑器、优化拖动排序动画 -- 停止内核前清理所有 WebSocket 连接、切换出站模式时批量关闭,修复初始化失败后留下无效连接的问题 -- 性能优化:降低托盘速率、服务状态检查等后台开销与重复计算,页面切换不再显示加载状态 -- 日志系统重构:支持模块过滤与排除、减少噪音日志,修复切换日志配置时的资源泄漏 -- 移除便携模式支持,不再识别 `.config/PORTABLE` 标记,数据目录统一使用系统应用数据目录 -- 补全繁体中文后端字符串,改进俄语翻译,语言列表中的「中文」改为「简体中文」 +- 优化 TUN 配置优先级:界面设置优先,其他选项仍可通过订阅、覆写和脚本调整 +- 优化系统代理失败后的恢复流程,保持系统设置和界面状态一致 +- 优化错误提示,支持复制完整原因,托盘和快捷键操作失败时也会提醒 +- 优化代理列表刷新、排序和页面切换速度 +- 优化首页节点操作,显示节点固定状态 +- 优化外部链接检查,仅允许打开 HTTP/HTTPS 网页 +- 优化更新说明排版,支持表格和提示框 +- 优化搜索框聚焦、界面字体和拖动排序动画 +- 优化后台连接和托盘刷新,降低资源占用 +- 优化解锁检测,支持同时检测多个项目并逐项显示结果 +- 优化日志记录,减少重复信息 +- 移除便携模式,统一使用系统应用数据目录 +- 优化繁体中文、俄语翻译及语言名称显示 -**🍎 macOS** +**🖥️ Windows** -- 避免 macOS 多用户环境下同时启动多个实例 +- 优化 Windows 自动更新,跳过安装语言选择 **🐧 Linux** -- 改进 Linux 系统代理兼容性:缺失命令时给出明确信息,KDE 下不再强制 `gsettings`、`dconf` +- 优化 Linux 系统代理设置,减少额外命令依赖,并明确提示缺少的命令