Repository navigation
1.7.7
1.7.7
自 1.7.6 以来的变更。
新增与改进
- WireGuard 的「对端允许 IP」(AllowedIPs)开始生效:填了就只放行该范围,与官方客户端一致;留空仍放行全部。从 .conf 或 Clash 订阅导入、带分流范围(如 10.0.0.0/8)的节点,升级后只有范围内的流量能通过,想恢复原来的行为请清空这一项;导入时格式不合法的值会被清空
- 证书指纹固定不再被静默忽略:sing-box 核心与 hysteria 插件不支持证书固定,此前设置了也不生效。现在直接选中这类节点会拒绝连接并说明原因,编辑器保存时也会拦下;选择器分组成员或路由规则指向的这类节点改为跳过并汇总提示,不影响分组里的其他节点。自动核心下设置了证书指纹的 VMess / VLESS 会选用 Xray(支持证书固定)
- 云备份不再上传任何数据:此前设置库(含自定义 DoH 地址中的个人 ID、自定义配置)会随 Google 云备份上传。通过云备份换机或重装后设置不会自动恢复,请用应用内「备份与恢复」导出;Android 9 及以上换机迁移仍会带上设置,Android 7–8.1 换机不再迁移设置
- 仅代理(非 VPN)模式下服务运行时,订阅更新与规则资源下载不再悄悄改走直连:本地代理不可用时直接报错并提示先停止服务;服务未运行或 VPN 模式下行为不变
- Clash 面板:核心未连接时不再加载本机面板并清除面板存储,核心停止时立即清空已打开的面板、重新连上后自动加载,避免面板密钥被占用 9090 端口的其他应用获取;Clash API 未开启时提示「Clash API 未启用」
- 插件日志级别跟随应用设置分级(warn / info / debug / trace),hysteria、Xray、mihomo、trojan-go 不再在开启任意日志级别时直接输出最详细日志
- 速度显示的默认间隔与设置页一致(1 秒):从未打开过设置页的用户,升级后会开始显示速度
- 编辑器:AnyTLS 密码与 WireGuard 私钥输入框改为掩码;本地代理端口只接受 1025–65535;订阅链接无法解析或含换行时拒绝保存;订阅自动更新间隔改为数字键盘并在不合法时提示原因
- 路由规则相关提示(应用未安装、需要 VPN、出站不存在、节点被跳过)每次连接各汇总一条,不再逐条弹出
性能
- 列表滚动时不再每一步查询一次数据库
修复
- WireGuard:核心启动后网络一直处于暂停状态,IP 地址 endpoint 的隧道启动即关闭,域名 endpoint 的 keepalive / 重传 / 重新握手停摆
- 日志分享:「发送日志」与崩溃后的自动发送日志不再崩溃,崩溃后不再陷入反复重启;日志整理移到后台线程,临时日志文件在下次分享时清理;离开日志页时取消导出不再留下多余错误记录
- 路由:带应用条件的组合规则在所选应用全部未安装时整条跳过并提示,不再对所有应用生效
- 流量统计:服务停止与启动交错时不再遗留旧的统计循环,避免流量少计与重复通知
- 日志脱敏:补上 trojan-go 的密码数组、hysteria1 的混淆密码,以及 DoH 服务器路径中的个人 ID
- 服务:被系统直接销毁时先显示「正在停止」、后台关闭完成后才视为已停止,避免旧核心仍占用端口时立即重启失败;后台更新任务不再读到陈旧的连接状态
- 界面:拖拽排序在列表刷新瞬间不再可能越界;搜索中新增的节点按关键词过滤;节点选择页在进程恢复后保持分组与标题;分组页刷新不再在后台线程读写界面状态;链接导入解析期间旋转屏幕或退出不再因弹窗崩溃
- 数据:损坏的节点数据只影响该行,不再导致整组读取失败;单个节点删除与清空分组改为单个事务;备份恢复多次失败后不再保留含凭证的明文文件
- 平台 DNS 调用同步失败时,等待协程不再滞留到超时
- WireGuard:AllowedIPs 格式错误的报错带上节点名称
构建与工程
- 新增核心启动后网络状态、平台 DNS 调用失败、仅代理模式不回退直连的 Go 回归测试,以及日志脱敏的单元测试
- 精简 1.7.7 改动中的重复代码:证书指纹判断收拢到单一入口、拖拽排序防护并入公共函数、脱敏规则共用一份键名列表等
仅发布 universal APK;分 ABI 包已在 CI 中构建并核验,不作为发布资产。