Egern 更新了 App Store 版本,以下是 2.19.0 的更新内容:
新功能
· 智能策略组:根据延迟、抖动和稳定性对节点评分,并持续学习;各子策略权重系数可让你调整选择倾向
· Clash / mihomo 订阅格式
· IPv6 Fake IP(需启用 IPv6)
· 图库中可按组件单独选择尺寸(小 / 中 / 大;iPad 还支持超大)
· 模块列表图标及开关切换;无图标模块以字母头像兜底
· 各策略组可设置 latency_test_url,自定义延迟 / 健康检查 URL
· KeyValue 编辑器支持导入 / 导出
· 连接详情中显示本地端口
· 资源下载可取消:离开页面或重新触发会中止前一个任务
· 网络变化通知现在会显示蜂窝网络的无线制式(LTE / NR / WCDMA 等)
· SOCKS5 UDP 中继流量纳入速率和单连接统计
改进
· 重写域名规则匹配器:精确匹配约 10 倍、后缀匹配约 5 倍、关键词匹配约 20 倍
· 高延迟链路下大文件下载的 HTTP/2 吞吐量更高
· 含大量 IP CIDR 条目的规则集匹配更快
· 脚本引擎的 KV 读写更快
· 内核内存占用更低
· iCloud 同步更及时;优化 QUIC 拒绝路径
· ETag 条件请求在内容未变时跳过下载 / 重新加载
· 睡眠期间暂停资源刷新;唤醒后延迟恢复以节省电量
· 脚本执行后及时释放 WebView 内存,减少 NE 被杀
· 资源页面打开时不再卡顿(YAML 在主线程外解析)
· 含大量嵌套组时策略页不再冻结
· 后台延迟测试会跳过实际流量无法到达的策略组
· 策略组延迟按钮点击区域更大
· 代理 DNS 现在与默认解析器共享转发规则、hosts、ECS 和 block_ips;proxy_nameservers 仅作为兜底
· 切换出站模式后再切回 Global 时不再清除已选的全局策略
· 更新模块时也会刷新其引用的子资源
· 组件重新排序移至独立页面
· 策略切换通知的措辞更优
· 兼容不支持多路复用的 anytls 服务器
修复
· 多个并存的 WireGuard 隧道之间串扰
· tcp-in-tun 模式下 VLESS XTLS Vision 无法连接到服务器先发协议(SSH、数据库)
· iOS 系统探测域名(如 *.invalid)会终止 HTTP 代理隧道
· 超长主机名导致 MITM 证书生成失败
· HTTP body 错误后出现的 CPU 空转
· 高频 cron 脚本重叠执行
· 一处流量嗅探错误和一处 TLS 嗅探错误
· 连接详情 IP 列表中存在重复条目时崩溃
· URL 包含端口时资源获取失败
· 脚本 / MitM 管道中未解压 zstd HTTP 响应
· 脚本通知中包含 NUL 字符时 NE 崩溃
· 脚本通过
$httpClient 时未使用指定策略,影响 BiliBili Global 等模块
· HTTP 响应脚本中 ({response:{...}}) 返回未被解包,导致重写静默失败
· 脚本省略 Content-Type 时未根据正文自动填充(如 BiliBiliDailyBonus)
· 嵌套策略组在故障切换前要等待间隔结束;现在内层失败会立即冒泡
· 切换配置后策略 UI 中已选节点被重置
· 同名但不同 URL 的图标集被去重
· 由于偏移溢出,真实 IPv6 地址错误匹配到 Fake IP 缓存的域名
· 获取公网 IP 时 DNS 解析被阻塞
· 启用 compat-route 时 IPv6 默认路由未像 IPv4 一样分流
· 仅含 USER-AGENT 的 Surge 规则集(如 YouTube Music.list)被丢弃
· 显示 IP 信息时偶尔返回非当前代理出口的 IP
· AND / OR / NOT 规则内嵌套的规则集未出现在"更新资源"中
· 启用个人热点期间,蜂窝上行下热点客户端连接被拒
· DNS 图例文字未垂直居中
· 模块兼容性参数设为默认值时未被持久化
· iCloud 容器解析导致的启动卡死
apps.apple.com/us/app/egern/…