Chute tvOS 发布说明
版本 1.4(75)
新增功能:
- 控制面板新增「Web UI 地址」一行:只有在控制台监听真正启动后才会出现,打开后显示一个二维码,URL 中已带上访问令牌——用手机扫一下即可登录,不必用遥控器抄写地址和 32 位十六进制令牌
- 设置中新增「离线诊断包」,由应用在隧道未运行时自行生成:设备与应用信息、tvOS 记录的 VPN 描述文件状态、所选配置的摘要及其解析错误、网络分区(可达性、链路类型、DNS 服务器、本机地址与接口)、脱敏后的配置开头、上次运行的结束方式、最新会话的日志分片,以及待上传的崩溃报告。由于 tvOS 没有分享面板,压缩包由一个一次性的本地 HTTP 服务器在不可猜测的路径上提供,并以二维码显示;离开该界面后链接立即失效
- 会话日志新增按级别过滤——全部、Notify+、Warning+、Fatal——「只看警告」变成点一下的事,而不必在虚拟键盘上打字搜索;解析器无法判定级别的行永远不会被隐藏
- 会话详情新增重写归因:新增的「REWRITES」分区会在路由该请求的规则与策略旁边,标出改动了该请求的 URL 重写、Header 重写、Body 重写、Map Local、Map Remote 或 Mock 规则
- 配置编辑器新增「Allow WiFi Access」一行——这是导入 Surge 的
http-listen = 0.0.0.0:…或 sing-box 的allow-lan后产生的键,也是此前编辑器完全无法显示的状态;开启时两个监听开关显示为开启并被锁定,因为引擎会自行放宽两个监听器 - 新增法语作为内置语言,并向 App Store 声明全部八种内置语言
- Web 控制台新增「当前」与「历史」标签页、连接检视视图(命中的规则、规则来源、策略、适配器、DNS 来源、关闭原因,以及请求与响应报文体)、可显示哪些重写规则已经命中的「规则」页面,以及「诊断」页面(内存占用、CPU、运行时长、连接数、上次运行的结束方式、拒绝计数、事件日志、Tailscale 快照,以及 ping / DNS / 出口 / URL 测试探测);控制台现已完整支持全部九种语言。由于电视本身无处存放文件,tvOS 用户也是在控制台里下载运行时诊断包和 HAR 导出
- HTTP 控制 API 新增端点:
/api/health、/api/events、/api/tailscale、/api/diagnostics/下的探测、/api/connections/export?format=har、/api/diagnostics/bundle、位于/api/rewrites与/api/mitm/hosts的重写规则与 MitM 主机管理、用于对规则表做请求试运行的POST /api/rules/match(同时报告两次 DNS 匹配的结果)、无需重载即可调整日志级别与子系统分区的GET|PUT /api/loglevel,以及只检查、不应用配置的POST /api/config/validate
改进:
- 配置未指定
external-http-secret时,HTTP 控制 API 不再开放访问:引擎会生成一个令牌,由「Web UI 地址」的二维码携带;如需保持匿名访问,请设置external-http-secret = none;此外通配监听地址不再被当作回环地址 - 大型列表的规则匹配大幅加快:RULE-SET 与 DOMAIN-SET 的内容在下载或从缓存恢复时建立索引,不再按连接逐次流式扫描;只含域名规则的规则表通过哈希方案匹配——一份 5 万行的列表每次查询从约 94 ms 降到 2 ms 以内,每个索引约占 100 KB 内存
- UDP 流只匹配一次:一条流的判定会记住 60 秒,后续数据报跳过两轮匹配以及其间的 DNS 查询
- 网络切换后的恢复更好:上游源地址已不存在于任何接口上的隧道会被直接关闭,而不是让应用一直挂到空闲超时;能建立连接却不传数据的路径会被报告为黑洞
- 会话日志按 8 MB 分片写入(每次运行最多八个,最旧的先删除);日志视图从最新的分片起取满一个分片的量,不再把整次运行读进内存,并在省略了更早分片时给出提示,同时能跨越轮转持续跟随正在写入的那个分片
- 引擎运行期间会维持一个运行标记,下次启动时报告上次运行是正常停止还是被系统终止——写入日志头部、
/api/status以及两种诊断包 - HAR 导出现在由引擎根据记录的帧生成,状态码、时间戳和耗时都是真实值,每个条目都在
_kl下带有所选策略、命中的规则和重写命中 - 只有购买页面出售的三项功能需要许可证——多配置、本地代理服务器控制和流量记录器;HTTP API 与 Web UI 开关、协议嗅探、Optimus DNS、清除 DNS 缓存和「Web UI 地址」一行不再要求许可证;隧道未启动的免费用户现在会被提示先启动隧道,而不是弹出购买页
- 控制台绑定在回环地址时,现在会说明它只能在这台 Apple TV 上打开以及应当改成什么,而不是给出一个打不开的二维码;访问令牌也不再显示在整个房间都能看到的屏幕上
- 购买提示现在说明一次购买覆盖三台 Apple TV 以及三台 iPhone 或 iPad;「恢复 IAP 购买」没有找到购买记录时,弹窗会提供「查看手册」,并以应用当前语言显示跨平台许可说明的二维码
loglevel = info下,传输量达到 1 MiB 的大流量连接会在关闭时记录一行日志,说明它在远端一侧和应用一侧各等待了多久
错误修复:
- 修复 TUN 模式下的 MitM:命中 MitM 规则的主机会一直卡到超时,导致 HTTPS 的 Header 重写、Body 重写、Map Local、Mock 和解密抓包对应用流量从未生效(经由本地 HTTP/SOCKS5 代理的流量不受影响)
- 修复
allow-wifi-access不起作用的问题:本地 HTTP 与 SOCKS5 监听器一直停留在回环地址,Wi-Fi 上的其他设备无法访问;现在该选项(以及导入时 sing-box 的allow-lan)会放宽两个监听器,关闭时重新绑定 - 修复控制面板第二个分区在「Web UI 地址」一行可能出现之后,切换任意开关都会导致应用崩溃的问题——单行刷新时表格的行数已经变化
- 修复引擎改为按固定大小轮转日志之后,会话视图只显示某一段运行记录、以及会话在第八次轮转后丢失日期的问题;分片现在按序号排序,实时视图也不会再在轮转处卡住
- 修复日志视图一次性把会话的全部分片读入内存的问题——在 Apple TV 上可达 64 MB 文本——以及级别过滤会放行多行条目的后续行、而这些行所属的条目本身已被过滤隐藏的问题
- 修复 MitM HTTP/1.1 的响应 Header 重写被记录为已应用、客户端收到的却仍是原始头部的问题,以及按完整 URL 书写的规则永远不会命中的问题
- 修复 Mock 响应基于请求头构造回复的问题——状态行位置放的是请求行、请求头被原样带入、Content-Length 错误——以及在明文 HTTP 上先把源站头部发出去的问题
- 修复协议嗅探提供了 Host 头或反向 DNS 名称时,带
no-resolve的 IP 规则(IP-CIDR、GEOIP、IP-ASN)跳过直连 IP 字面量的连接的问题;嗅探得到的 IP 字面量也不再匹配 DOMAIN 规则 - 修复 RULE-SET 内容中在正文之后带有选项的行(
GEOIP,CN,no-resolve、DOMAIN,example.com,force-remote-dns)被丢弃或匹配不到任何内容的问题,以及 AND/OR/NOT 子规则丢失no-resolve的问题 - 修复 HOSTNAME-TYPE 永远无法匹配的问题:记录类型现在对经 IPv4 发起的连接为 A、经 IPv6 为 AAAA。规则编辑器中它的占位文本原本写的是 PROTOCOL 的
http | https,IN-TYPE 的写的是TCP | UDP;两者现在都会说明该规则实际接受的取值 - 修复嗅探到的 Host 头中带方括号的 IPv6 字面量(
[2001:db8::1]:8080)被当成主机名[2001的问题 - 修复隧道启动时,只要某个 select 组选中的不是第一个成员就会弹出「策略组已切换」通知、且启动后的重建会触发抖动警告的问题;没有记住选择的组现在遵循配置里的
default=,而不是被强制切到第一个成员 - 修复
external-http-controller = *:9090与:::9090这两种文档记载的写法被拒绝、控制器静默未启动的问题 - 修复 XHTTP 传输在高负载下偶发的崩溃
- 修复许可证页面把另一产品的证书标为 Chute 套装的问题;本应用无法合法持有的类型现在显示为「未知」,并补上了 Android 标签
- 修复「关于」页面「Chute iOS」二维码指向失效 App Store ID、以及「评分」打开的是 iOS 而非本应用商店页的问题
- 修复 Wi-Fi 上传页面的排版问题
- 更正中文与泰语中重写系列的名称,使其与手册以及配置文件自身的分区名一致
- 各项稳定性和性能改进
版本 1.3(62)
新增功能:
- 在策略编辑器中新增 XHTTP 传输:支持开关、模式(auto、packet-up、stream-up、stream-one)、路径与主机,适用于 Trojan、VMess 和 VLESS
- 新增 AEGIS-128L 和 AEGIS-256 Shadowsocks 加密方法
- 新增此前缺失的 Shadowsocks 2022(SS2022)加密方法:
2022-blake3-aes-128-gcm、2022-blake3-aes-256-gcm和2022-blake3-chacha20-poly1305 - 新增适用于 TLS 策略的 ECH(Encrypted Client Hello,加密客户端问候)设置:启用开关、固定 ECH 配置(
ech-config)和掩护名覆盖(ech-public-name) - 新增客户端指纹(uTLS)设置,可按策略单独设置,也可设置全局默认值
- 新增 AmneziaWG 协议支持;AmneziaWG 是一种带流量混淆的 WireGuard 变体
- 新增支持 tvOS 焦点导航的配置错误报告界面,取代原有会阻断操作的弹窗
- 新增 X25519MLKEM768 后量子混合密钥交换(TLS 1.3)
改进:
- 策略编辑器现在会在保存时保留当前界面无法编辑的现有选项(ECH、ALPN、证书固定、
test-url、underlying-proxy、udp-relay)
错误修复:
- 修复由格式错误的
IP-CIDR规则导致的隧道崩溃 - 修复 SSH
idle-timeout与 REALITYspiderx设置以错误的键名写入并在保存时被丢弃的问题 - 修复切换语言时的崩溃
- 修复屏幕控件的显示问题
- 各项稳定性和性能改进
版本 1.2(45)
新增功能:
- 新增 Tailscale 内置代理类型:可配置 Tailscale 账户、加入 tailnet,并通过 Tailscale 节点转发 Apple TV 流量,无需安装独立的 Tailscale 客户端
- 新增 Tailscale 控制面板:实时显示节点状态(在线/离线、IP、最近活跃时间),并支持在遥控器上切换出口节点
- 新增全屏仪表板与会话视图,提供深色按级别的会话日志
- 新增隧道详情面板,用于查看活跃隧道
- 在策略编辑器中新增 MASQUE 代理类型
改进:
- 提升 Apple TV 上的 TUN 吞吐
- 提升 Tailscale 和 WireGuard 的连接稳定性与吞吐
- 优化主屏幕在列表、电源键和 About 行之间的焦点导航,使其更可预期
- 设置布局与 iOS 对齐(移除 Always On 条目、Twitter 改为 X,并打磨 APNs、Rate 和 Language 行)
- 仅在 VPN 关闭时在主屏幕右侧列表显示设备 IP
错误修复:
- 修复仪表板错误显示“VPN 未运行”状态及“运行中”标签残留的问题
- 修复打开仪表板/会话视图以及从 Tailscale 节点列表返回时的焦点丢失与跳转
- 修复 Menu 键行为,使其能可靠关闭列表并正确返回焦点
- 修复会话列表底部文案,将"滑动删除"更正为"长按删除"
- 各项稳定性和性能改进
版本 1.0(35)
- 首次发布
本页为英文版的翻译。如内容有出入,以英文版为准。