Chute iOS 发布说明

版本 1.2.2(382)

新增功能:

  • 新增代理链:策略可以用 underlying-proxy 指定一个上游,经由它连接自己的服务器;策略组可以让全部成员经由同一个上游;「高级」下新增的「前置代理」一行(global-underlying-proxy)则让所有没有自带上游的节点都走它。除 Tailscale 外的所有传输都能串联:流式协议沿用上游的流;Hysteria2、TUIC、MASQUE 与基于 HTTP/3 的 XHTTP 以固定 1280 字节的包走上游的 UDP 中继;WireGuard 与 AmneziaWG 隧道经由上游连接,内层 MTU 为 1280 字节;SSH 与 AnyTLS 会话在上游之上建立。形成循环、嵌套超过 16 层或指向不存在策略的链会被拒绝,绝不会改为直接连出
  • 新增中继组(relay,与 Clash、mihomo 相同):成员按书写顺序串联——第一个直接连接,之后的每一个都经由它前面的成员到达,最后一个连接目标。组编辑器新增中继类型,会按顺序保留成员,并要求至少两个成员
  • 新增随机组(random,与 Shadowrocket 相同):每条连接随机选择一个成员,UDP 只在能承载 UDP 的成员中选择。随机组没有可以更改的选择,因此不会出现在选择策略组所用策略的地方;组编辑器也会让它保持随机组类型
  • 仪表盘与 Web 控制台新增代理链显示:请求详情与 UDP 列表会列出每一跳(Airport/HK-01 → Landing),HAR 导出也会带上这条路径
  • 规则提供者与代理提供者的编辑器新增「下载所用策略」:policy= 让该列表经由选定的策略下载;填写的策略名不存在时,下载会直接失败,而不会改为直接下载
  • Shadowsocks 编辑器新增 UDP over TCP(udp-over-tcp,版本 1 或 2):代理的 UDP 在它自己的 TCP 连接中传输,即使经由不承载 UDP 的上游串联也能工作
  • 新增 VMess 与 VLESS 的 UDP 支持:以前发往这两种协议的 UDP 会被直接拒绝(按 udp-policy-not-supported-behaviour 处理,默认为 REJECT);现在每个目标地址使用一条连接传输,与 mihomo、sing-box 和 Shadowrocket 一致
  • Body 重写新增 jq:http-request-jq 与 http-response-jq 会对 JSON 正文运行真正的 jq 程序,编辑器也提供「JQ 程序」字段;程序无效时会报告错误并跳过该规则,正文不是 JSON、程序运行失败或输出为空时,正文都保持不变
  • 新增通用脚本:type=generic 的脚本没有自动触发条件,只在需要时运行——在它的编辑器里点「运行」,或调用 GET /api/scripts 与 POST /api/scripts/run。脚本编辑器还新增了「事件名称」字段:目前只会投递 network-changed,因此填写其他事件名的事件脚本永远不会运行
  • 新增专用 DNS 池:direct-dns-server 解析被规则判定为 DIRECT 的域名,proxy-dns-server 解析代理服务器自身的主机名,主服务器没有应答时询问 fallback-dns-server;三者都会回退到全局服务器,DNS 编辑器中各有对应的一行
  • DNS 上游新增 #proxy / #proxy=<policy>,DoQ 与 DoH3 同样适用:QUIC 解析器经由该策略的 UDP 中继发出;策略不能承载 UDP 时跳过这台服务器,而不是直接向它查询;普通解析器经由策略发出时改用 DNS over TCP;对于会丢弃 UDP DNS 的网络,也可以直接使用普通的 tcp:// 上游
  • 新增 encrypted-dns-follow-outbound-mode、allow-dns-svcb(未开启时 HTTPS 与 SVCB 查询一律返回空应答),以及逐服务器的 #h3、#skip-cert-verify、#disable-ipv4、#disable-ipv6 与 #disable-qtype=
  • 本地 DNS 映射能做的更多了:[Host] 条目会保留列出的每一台服务器并同时查询,可以把一个域名映射到多个地址,可以以规则集为键(RULE-SET:<url>),可以为该域名运行 type=dns 脚本(script:<name>),并接受 ssid:<name> 做按网络的映射
  • 新增规则通知:任何规则(包括 FINAL)都可以带 notification-text= 与 notification-interval=,命中时发出通知,同一条规则在一个间隔内最多通知一次;通知遵循应用的「允许通知」开关,点按通知会打开它携带的 URL
  • 新增 FINAL,<policy>,dns-failed:域名无法解析时,连接改由 FINAL 策略以远端解析的方式建立,而不是被关闭
  • REJECT 系列成为真正的策略——REJECT-DROP、REJECT-NO-DROP、REJECT-TINYGIF、REJECT-IMG、REJECT-DICT、REJECT-ARRAY、REJECT-200 与 REJECT-VIDEO——各自以文档所述的正文应答 HTTP 请求;同一主机在 30 秒内被拒绝超过 50 次会升级为 REJECT-DROP。策略选择器提供这些策略,写入 DIRECT / REJECT / PROXY 记号而不再写入本地化标签,还会修复旧版本留下的标签
  • 新增内联规则集:[Ruleset Name] 段在配置编辑器中单独列出,可以逐行编辑,并通过 RULE-SET,<name> 引用,内联规则集之间也可以相互引用——最多嵌套 8 层,循环引用会被拒绝
  • 新增 SSID 系列功能:[SSID Setting] 的 DNS 覆盖按网络生效——支持网络名、BSSID:、TYPE:WIFI / CELLULAR / WIRED、ROUTER:、带引号与通配符的名称——并在网络变化时清除上一个解析器的缓存;ssid 与 subnet 策略组根据当前网络选择成员,SUBNET 规则按当前网络匹配;suspend=true 现在会停止隧道:网络名或 TYPE: 条目会变成按需断开规则,BSSID:、ROUTER: 或通配符条目由扩展自行暂停,「始终保持开启」会把隧道重新拉起时,扩展会给出说明
  • 新增 DEST-PORT、SRC-PORT 与 IN-PORT 的范围与比较写法(80-81、>=50000、/ 列表),HOSTNAME-TYPE 的取值 IPv4、IPv6、DOMAIN 与 SIMPLE,以及真正生效的 IN-TYPE、IN-USER 与 IN-NAME 规则——它们现在会匹配实际流量,而不只在试运行中生效
  • 新增 MitM 控制项:解密 HTTP/2(h2);阻断发往解密主机的 QUIC,使 HTTP/3 无法绕开解密(auto-quic-block);将主机排除在解密之外;并支持主机列表关键字 <ipv4-address>、<ipv6-address> 与 <simple-hostname>
  • 新增按域名路由 QUIC:从客户端的 QUIC Initial 中读出域名,分散在多个 Initial 中的 ClientHello 会被重组,域名确定之前这条流会先暂缓,因此直接发往 IP 地址的 HTTP/3 连接也能被 DOMAIN 规则路由
  • 新增 icmp-auto-reply,默认开启:隧道内的 ping 由本地直接应答(IPv4 与 IPv6 均可),不再超时
  • 新增 tun-included-routes:列出的 CIDR 会加在隧道默认路由之后,因此原本会被 Wi-Fi 接口自身子网或其他 VPN 接走的网段(系统优先选择更具体的路由)也会经过 Chute。会切断隧道自身的条目(回环、隧道自己的子网、链路本地、组播、广播、前缀长度为 0)会被拒绝并记录日志,私有网段可以使用但会给出警告,修改后的列表在重载时生效,无需重启隧道
  • 新增导入能力:mihomo 的 GEOSITE 与分类 GEOIP 规则会展开成可用的规则集,policy-path 组会合成一个带 update-interval、筛选与包含列表的提供者,mihomo 的 SUB-RULE 会展开为 AND 规则,sing-box 的 detour 与 mihomo 的 dialer-proxy 作为代理链导入,WireGuard 的 allowed-ips 会被编译并强制生效,分流隧道不再吞掉所有目标地址,策略的 interface= / allow-other-interface= 会把它的连接固定在一个网络接口上
  • 新增脚本 API 能力:$httpAPI 无需打开 socket 即可调用引擎自身的路由,$httpClient 会遵循 policy,read-etc-hosts 让 DNS 读取 hosts 文件,$event.name 报告实际触发的事件
  • 新增模拟响应控制项——正文可以是文本、文件、base64 或 1×1 GIF,并可设置状态码与校验——以及 URL 重写与 Header 重写的类型表,其中包含用正则表达式替换头部取值的模式

改进:

  • Chute 现在需要 iOS 15 或更高版本
  • 每个结构化编辑器现在都会保留它不显示的内容:各构建器会原样带过不渲染的键——规则其余的选项、AND / OR / NOT 的子规则、[Host] 条目的其他地址、模块头部的其他行——因此打开再保存配置不会再改写它,编辑器不认识类型的条目则按文本编辑
  • Body 重写、Header 重写、URL 重写、Map Local、模拟响应与脚本编辑器写出的内容与引擎读取的一致:脚本连同 type= 一起保存,JSONPath 取值保留其类型,Map Local 保留 status-code、data-type 与头部
  • 导入已发布的配置不再丢失路由:dns-server 接受加密 DNS URL,监听行接受密码,带引号的组成员得以保留,sing-box 逻辑规则按文档所述转换,PASS 成员会被丢弃而不是变成 REJECT,不支持的协议或组类型只给出警告,不再拖垮整个组——在导入的 mihomo 配置中,永远无法命中的规则从占列表的大多数降到几乎没有
  • 规则集占用的内存大幅减少:提供者改为逐个下载,不再在第 35 个之后全部失败;转换时的内存峰值下降 62–73%;索引连接数有上限,并会在内存紧张时释放;超出设备承受能力的载荷会被拒绝,原因显示在规则集的状态里
  • 资源上限让过大的配置无法把隧道扩展推过内存上限:MitM 证书库、捕获积压、脚本大小与数量、控制台请求预算、Tailscale 对等节点以及 DNS 缓存在 iOS 上都有各自的上限
  • 延迟测试使用正确的目标:策略组的 test-url 与 test-timeout、配置的 proxy-test-url,以及成员自己的 test-url 与 expected-status 都会生效,串联的节点经由它的代理链探测,而不是直接探测
  • Web 控制台与控制 API:运行时新增的规则不会在同一配置重新加载后残留,日志游标只会前进,轮询不会漏掉条目,连接详情会写明代理链
  • ShadowTLS 现在会在写了 sni= 时校验伪装站点的证书,与 sing-box 一致;skip-cert-verify=true 可以关闭校验(这个选项以前被忽略,而且根本不会校验任何证书),没有写 sni= 时跳过校验并给出警告
  • 下载与订阅:每次下载都写入各自的文件,格式按正文判断,因此刷新不会再读到自己的第一次下载,也不会套用另一个地址的配置;从 Clash 或 sing-box 转换来的配置以 .conf 保存,并按所有 Chute 应用统一的方式命名;名称已被占用时会自动编号,而不是覆盖保存
  • 配置处理:另存为会先询问,覆盖正在运行的配置文件时会重载隧道,也不再删除配置打开时所来自的文件;「从 iCloud 同步」会把已安装的配置计入许可证的数量上限;隐藏的策略组不会出现在全局与 select 组列表中,但引擎仍能使用它们;「全局」始终显示它正在使用的组
  • Wi-Fi 上传页面会保留所上传文件的扩展名,名称已被占用时拒绝并说明原因,并按 RFC 6266 的要求发送非 ASCII 名称,因此 上传的配置.conf 会以这个名字送达
  • 新的设置项、消息与通知都提供全部八种内置语言,隧道的通知会带上隧道停止的原因

错误修复:

  • 修复 Hysteria2 丢弃一个 QUIC DATAGRAM 帧装不下的 UDP 数据报的问题——这会让应用的 HTTP/3 无法通过,只能退回 TCP;现在较大的数据报会在发出时拆分,服务器分片发回的应答也会被重组
  • 修复重启后的隧道沿用上一次运行的起始本地端口与 TCP 序列号的问题:仍持有旧连接的 WireGuard 对端会因此重置新连接。隧道的 TCP 协议栈现在从系统随机源取种子,并按 RFC 6528 所述选择初始序列号
  • 修复 XHTTP 经由隧道时在应用第一次写入后就停滞的问题:TLS 握手无法完成,上传只发出一个分块;现在每次写入都会按顺序完成,待上传的数据超过 1 MB 时,下一次写入会等它消化后再继续
  • 修复 PROTOCOL,TCP 与 PROTOCOL,UDP 永远不匹配的问题:现在每个入站都会判定自己的传输方式,因此用 AND 规则阻断 QUIC 的常见写法可以生效
  • 修复 AND / OR / NOT 中的 RULE-SET 与 DOMAIN-SET 恒为假——这让 NOT,((RULE-SET,…)) 也把国内流量一并拒绝——以及逻辑规则中的 SCRIPT 恒为真的问题
  • 修复按名称书写时 RULE-SET,<name>,<policy>,no-resolve 会丢失 no-resolve、GEOIP 与 IP-ASN 的 UNKNOWN 永不匹配、Map Local 的 status-code= 在 HTTP/2 上被忽略,以及明文 HTTP 上的响应 Header 重写只匹配路径、导致按完整 URL 书写的模式永远无法命中的问题
  • 修复 block-quic 只认 Surge 的一种取值、写成其他取值时完全不阻断 QUIC 的问题
  • 修复脚本 API:$klne.getPolicyGroups() 与 selectPolicy() 第一次使用时不再抛错,reloadConfiguration() 会真正重载,getActiveConnections() 报告真实的主机、端口与 id,closeConnection() 会真正关闭,带 requires-body 的 before-send 脚本终于能收到正文
  • 修复 [Replica] keyword-filter 比较整个主机名、而不是检查主机名是否包含关键字的问题,因此 keyword-filter = google 无法覆盖 www.google.com
  • 修复 PROCESS-NAME、PROCESS-PATH 与 PROCESS-NAME-REGEX 规则在 iOS 上匹配到浏览器流量的问题:在 iOS 上它们比较的是浏览器的产品名,而不是进程名。这些规则只在 macOS 上可用,现在在 iOS 上不会匹配任何流量
  • 修复保存过的仪表盘配置被按错误类型读回、每次点按都会崩溃的问题;修复含重复项的列表在拖动或删除行后表格与数据不一致的问题;并修复已关闭的界面仍被回调时导致的崩溃
  • 修复订阅自动刷新阻塞主线程 30 秒、导致应用在刷新途中进入后台时被看门狗终止的问题;另外修复控制中心开关因小组件没有控制 VPN 的权限而始终失败、画中画被呈现两次,以及小组件的 continuation 被恢复两次的问题
  • 修复下载与命名问题:保留下来的下载文件会被下一次刷新重新读取;两个地址建议同一个名称时,一个地址会被当成另一个地址的配置;导入或复制会删掉 iCloud 中被读取的那个原文件;上传的文件名会丢掉第一个点之后的所有内容;地址以裸扩展名结尾的订阅会被存成隐藏文件;编辑结果会未经询问就覆盖可读的配置
  • 修复 Chute 未运行时打开 chute:// 链接(例如由快捷指令自动化触发)没有任何反应的问题;现在冷启动时也会处理这类链接
  • 各项稳定性和性能改进

版本 1.2.0(351)

新增功能:

  • 控制面板新增 Web 控制台地址:「Web 控制台」一行会显示控制台的主机地址,点按后可选择「打开」「复制地址」「复制访问令牌」——「打开」会把令牌带在 URL 里,无需手动输入即可登录
  • 控制面板「本地代理」分区末尾新增「运行时诊断包」:由运行中的引擎生成一份脱敏压缩包(配置、健康快照、本次运行的事件、已加载的规则与策略、DNS、流量和日志分片)并交给分享面板;需要隧道处于连接状态,但不需要 external-http-controller
  • 设置 → 「诊断」分区新增「离线诊断包」,由应用在隧道未运行时自行生成:设备与应用信息、iOS 记录的 VPN 描述文件状态、所选配置的摘要及其解析错误、三个诊断页面的文本、脱敏后的配置开头、上次运行的结束方式、最新会话的日志尾部,以及待上传的崩溃报告
  • 会话视图新增「分享日志」,可分享该会话日志的全部分片
  • 会话详情新增重写归因:「策略」分区现在会在路由该请求的规则与策略旁边,标出改动了该请求的 URL 重写、Header 重写、Body 重写或模拟响应规则
  • 新增「网络地址变化」通知,取代原来的「出口 IP 变更」:显示本设备在物理链路上自己的 IPv4 与 IPv6 地址,每个地址族一行,并标出位于 NAT 之后的 IPv4;IPv6 与可路由的 IPv4 在本地读取,只有 NAT 内的 IPv4 需要发出一次 STUN 请求
  • 新增法语作为内置语言
  • 新增重新设计的 Wi-Fi 上传页面,风格与 Web 控制台一致,提供九种语言
  • Web 控制台新增「当前」与「历史」标签页、连接检视视图(命中的规则、规则来源、策略、适配器、DNS 来源、进程、关闭原因,以及请求与响应正文)、可显示哪些重写规则已经命中的「规则」页面,以及「诊断」页面(内存占用、CPU、运行时长、连接数、上次运行的结束方式、拒绝计数、事件日志、Tailscale 快照,以及 ping / DNS / 出口 / URL 测试探测);控制台现已完整支持全部九种语言
  • 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 不再开放访问:引擎会生成一个令牌,控制面板可显示并复制;如需保持匿名访问,请设置 external-http-secret = none;此外通配监听地址不再被当作回环地址
  • 大型列表的规则匹配大幅加快:RULE-SET 与 DOMAIN-SET 的内容在下载或从缓存恢复时建立索引,不再按连接逐次流式扫描;只含域名规则的规则表通过哈希方案匹配——一份 5 万行的列表每次查询从约 94 ms 降到 2 ms 以内,每个索引约占 100 KB 内存
  • UDP 流只匹配一次:一条流的判定会记住 60 秒,后续数据报跳过两轮匹配以及其间的 DNS 查询
  • 网络切换后的恢复更好:上游源地址已不存在于任何接口上的隧道会被直接关闭,而不是让应用一直挂到空闲超时;同类型的路径变化(蜂窝网络重新附着)现在也能被察觉;能建立连接却不传数据的路径会被报告为黑洞
  • 会话日志按 8 MB 分片写入(每次运行最多八个,最旧的先删除),每个分片开头都有说明所属运行及其开始时间的头部,长时间会话不会再产生一个大到无法取回的文件;日志查看器会按顺序加载全部分片,并持续跟随正在写入的那个
  • 引擎运行期间会维持一个运行标记,下次启动时报告上次运行是正常停止还是被系统终止——写入日志头部、/api/status 以及两种诊断包
  • HAR 导出现在由引擎根据记录的帧生成,状态码、时间戳和耗时都是真实值,每个条目都在 _kl 下带有所选策略、命中的规则和重写命中;仪表盘的「导出 HAR」与连接详情均使用该导出
  • 只有购买页面出售的三项功能需要许可证——高级服务器控制、MitM 和流量记录器;协议嗅探、Optimus DNS、外部访问、HTTP API、Web 控制台和清除 DNS 缓存不再要求许可证
  • 控制面板会跟随隧道状态:隧道停止时重置状态,重新连接时重新查询,并且只在控制台页面实际提供服务时才显示其地址
  • allow-wifi-access 开启时,配置编辑器会锁定两个监听开关(引擎会自行放宽两个监听器),关闭该选项后恢复原先配置的接口
  • 「恢复 IAP 购买」没有找到购买记录时,弹窗会提供「查看手册」,以应用当前语言打开跨平台许可说明;购买提示现在说明一次购买覆盖三台 iPhone 或 iPad 以及三台 Apple TV
  • Tailnet 节点列表现在与其他列表风格一致——内嵌分组样式,空分区显示「无条目」——并在每次出现时重新查询节点状态
  • loglevel = info 下,传输量达到 1 MiB 的大流量连接会在关闭时记录一行日志,说明它在远端一侧和应用一侧各等待了多久
  • 诊断页面只在有内容可复制的行上提供「复制」

错误修复:

  • 修复 TUN 模式下的 MitM:命中 MitM 规则的主机会一直卡到超时,导致 HTTPS 的 Header 重写、Body 重写、模拟响应和解密捕获对应用流量从未生效(经由本地 HTTP/SOCKS5 代理的流量不受影响)
  • 修复 allow-wifi-access 不起作用的问题:本地 HTTP 与 SOCKS5 监听器一直停留在回环地址,Wi-Fi 上的其他设备无法访问;现在该选项(以及导入时 sing-box 的 allow-lan)会放宽两个监听器,关闭时重新绑定
  • 修复 MitM HTTP/1.1 的响应 Header 重写被记录为已应用、客户端收到的却仍是原始头部的问题,以及按完整 URL 书写的规则永远不会命中的问题
  • 修复模拟响应基于请求头构造回复的问题——状态行位置放的是请求行、请求头被原样带入、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,规则编辑器的占位文本也已相应更新
  • 修复被带域名子规则的 AND/OR/NOT 规则路由到代理的域名仍会被 DNS 服务器真实解析、导致 DNS 应答与路由判定不一致的问题
  • 修复嗅探到的 Host 头中带方括号的 IPv6 字面量([2001:db8::1]:8080)被当成主机名 [2001 的问题
  • 修复隧道启动时,只要某个 select 组选中的不是第一个成员就会弹出「策略组已切换」通知、且启动后的重建会触发震荡警告的问题;没有记住选择的组现在遵循配置里的 default=,而不是被强制切到第一个成员
  • 修复隧道运行一段时间后打开控制面板会让应用卡在 100% CPU、内存不断上涨的问题
  • 修复 HAR 导出写入错误状态码与 1970 年时间戳、连接详情导出的文件无法被任何 HAR 阅读器打开的问题
  • 修复 [Replica] hide-crashlytics-request 被解析但从未应用到捕获的问题
  • 修复 external-http-controller = *:9090 与 :::9090 这两种文档记载的写法被拒绝、控制器静默未启动的问题
  • 修复 $klne.startURLTest() 从未真正触发延迟测试的问题,以及对不存在的策略做 URL 测试时报告一个貌似合理的失败而不是错误的问题
  • 修复 XHTTP 传输在高负载下偶发的崩溃
  • 修复重新序列化的 HTTP/1.1 响应缺少原因短语的问题
  • 修复许可证页面把 tvOS 或 Android 签发的许可证显示为「未知」、并把本应用无法持有的证书标为 iOS & macOS & tvOS 套装的问题
  • 修复「关于」页面失效的 App Store 链接;「评分」现在直接打开评价面板
  • 各项稳定性和性能改进

版本 1.1.9(322)

新增功能:

  • 在策略编辑器中新增 XHTTP 传输:支持开关、模式(auto、packet-up、stream-up、stream-one)、路径与主机,适用于 Trojan、VMess 和 VLESS
  • 新增 AEGIS-128L 和 AEGIS-256 Shadowsocks 加密方法
  • 新增适用于 TLS 策略的 ECH(Encrypted Client Hello,加密客户端问候)设置:启用开关、固定 ECH 配置(ech-config)和掩护名覆盖(ech-public-name)
  • 新增客户端指纹(uTLS)设置,可按策略单独设置,也可设置全局默认值
  • 新增 AmneziaWG 协议支持及参数编辑器;AmneziaWG 是一种带流量混淆的 WireGuard 变体
  • 新增从订阅 URL、文件和 Wi-Fi 上传导入 Clash 与 sing-box 配置
  • 新增支持复制内容的配置错误报告页面,取代原有会阻断操作的弹窗
  • 新增 X25519MLKEM768 后量子混合密钥交换(TLS 1.3)

改进:

  • 策略编辑器现在会在保存时保留当前界面无法编辑的现有选项(ECH、ALPN、证书固定、test-url、udp-relay)

错误修复:

  • 修复由格式错误的 IP-CIDR 规则导致的隧道崩溃
  • 修复 SSH idle-timeout 设置以错误的键名写入并在保存时被丢弃的问题
  • 修复引导流程生成的规则将策略名称放在 no-resolve 之后、可能导致 IP 类规则失效的问题
  • 各项稳定性和性能改进

版本 1.1.8(300)

新增功能:

  • 新增 Tailscale 内置代理类型:可直接在 Chute 中配置 Tailscale 账户、加入 tailnet 并通过 Tailscale 节点转发流量,无需安装独立的 Tailscale 客户端
  • 新增 Tailscale 配置编辑器:安全输入 auth key、校验连接、列出 tailnet 节点,并可在应用内切换出口节点
  • 新增 Tailscale 控制面板:实时显示节点状态(在线/离线、IP、最近活跃时间),并支持即时切换出口节点
  • 新增代理诊断系统通知,包括出口 IP 变更和 Tailscale 连接事件,可在设置中按类型开关
  • 在策略编辑器中新增 MASQUE 代理类型

改进:

  • 提升 iOS 上的 TUN 吞吐
  • 提升 Tailscale 和 WireGuard 的连接稳定性与吞吐
  • 提升 UDP 隧道稳定性及流量统计的准确性
  • 提升停止 VPN 时的稳定性,减少系统异常终止连接的情况
  • 提升语言切换的可靠性
  • 规范化配置文件名,避免无效路径字符导致加载失败

错误修复:

  • 修复 VPN 启停之间 on-demand 规则可能不一致的问题
  • 修复并发切换语言时偶发的崩溃
  • 修复网络变化处理,避免不必要的 VPN 重连
  • 各项稳定性和性能改进

版本 1.1.7(290)

新增功能:

  • 新增 JavaScript 脚本系统:运行自定义脚本以实现请求/响应修改、DNS 解析、自定义规则匹配和定时任务
  • 新增 Body 重写:使用正则表达式(支持捕获组)或 JSONPath 表达式搜索和替换 HTTP 请求/响应 Body 内容
  • 新增 ShadowTLS 协议支持
  • 新增 VMess 和 VLESS 协议的 gRPC 传输支持
  • 新增 DNS-over-QUIC (DoQ) 和 DNS-over-HTTP/3 (DoH3) 支持
  • 新增 DNS-over-TLS (DoT) 支持
  • 新增 HTTP 控制 API 和 Web UI,用于监控和控制代理运行时
  • 新增模块系统(.sgmodule),用于模块化配置管理
  • 新增代理提供者,用于动态代理列表更新
  • 新增通知报告:检测连接失败、代理不可用、流量激增、配置更新失败和策略组切换;分发事件用于系统通知
  • 新增 Mock 响应:向匹配的请求返回模拟数据,无需访问真实服务器
  • 新增 LoadBalance 策略组,支持轮询、一致性哈希和会话保持策略
  • 新增 URL 重写新模式:reject-200、reject-img、reject-dict
  • 新增请求头重写响应方向支持
  • 新增 PROTOCOL 规则类型,包含 10 种协议类型值
  • 新增 SCRIPT 规则类型,用于基于 JavaScript 的自定义匹配
  • 新增规则的 extended-matching 和 requires-resolve 选项
  • 新增 AnyTLS 多层填充方案
  • 新增 SS2022 加密方法(2022-blake3-aes-128/256-gcm、chacha20-poly1305)
  • 新增托管配置支持
  • 新增副本支持,用于配置复制
  • 新增 WireGuard 配置 UI
  • 新增 interrupt-exist-connections 全局选项

改进:

  • 策略组现在支持 expected-status、hidden、idle-timeout 和 lazy 选项
  • 增强 URL 重写,Map Local 格式支持模板变量
  • 改进 DNS 服务器,支持 DoQ、DoH3 和 DoT 协议
  • 规则系统从 6 种扩展至 30+ 种规则类型,实现全面覆盖

错误修复:

  • 修复 IPv6 默认值(false → true)
  • 修复日志级别默认值(notify → warning),新增 none 和 fatal 级别
  • 修复文档中 Shadowsocks/ShadowsocksR 命名一致性
  • 各项稳定性和性能改进

版本 1.1.6(256)

新增功能:

  • 新增 Hysteria2 协议支持
  • 新增 WireGuard 协议支持
  • 新增 VLESS REALITY 协议支持
  • 新增 TUN 流量协议嗅探器
  • 新增 IP-ASN 规则支持
  • 新增 AND/OR/NOT 逻辑规则支持

错误修复:

  • 修复 UDP 适配器内存问题
  • 优化 Rule-Set 和 Domain-Set 匹配性能
  • 解决其他小错误和稳定性问题
  • 修复许可证视图崩溃问题

版本 1.1.5(245)

新增功能:

  • 新增 TUIC 协议支持
  • 新增 Shadowsocks 2022 (SS2022) 支持
  • 引入隧道配置
  • 改进会话中的日志显示

错误修复:

  • 修复 UDP 适配器问题
  • 优化 Rule-Set 和 Domain-Set 匹配性能
  • 解决其他小错误和稳定性问题

版本 1.1.2(231)

新增功能:

  • iOS 26 UI

错误修复:

  • 修复 Gemini App 的 DNS IPv6 响应
  • RULE-SET 支持注释内容
  • 修复小部件中心切换按钮状态

版本 1.1.1(218)

新增功能:

  • AnyTLS 策略支持
  • Domain-Set 支持
  • 远程 Rule-set 支持

改进:

  • 隧道重建以提升性能
  • 全面测试的 UDP 隧道

错误修复:

  • 修复内存泄漏

版本 1.1.0(210)

错误修复:

  • 修复一些错误

版本 1.0.9(199)

新增功能:

  • iOS 18 控制中心切换按钮

错误修复:

  • TUN 配合 IPv6 现在重定向到 IPv6 隧道,修复一些服务问题

版本 1.0.8(188)

新增功能:

  • SSH 策略支持
  • 新增远程仪表板连接

改进:

  • 将 TUN 网络更改为 198.18.0.0/15,避免 IPv4 内部地址问题
  • 部分文本更新

错误修复:

  • 修复 DNS 问题

版本 1.0.7(167)

新增功能:

  • PIP 模式
  • 配置文件 iCloud 同步
  • 新增 tvOS 远程配置管理器

错误修复:

  • 修复 Vmess 配合 Websocket 的问题

版本 1.0.6(160)

新增功能:

  • 全新 UI
  • 新增通过 Wi-Fi 上传配置
  • 新增网络诊断和代理诊断
  • 新增重置 VPN 配置功能
  • 新增 ICMP (Ping) 数据包支持
  • 新增 VPN 状态检查

改进:

  • 改进配置编辑 UI/UX
  • 更新 MTU 至 4000

错误修复:

  • 错误修复
  • 修复 IPv6 TUN 设置

版本 1.0.5(147)

新增功能:

  • 新增 VLESS 协议支持
  • 新增 VLESS 的 XTLS 支持
  • 新增会话查看器,用于审查代理会话和日志
  • 您可以配合 Chute Dashboard macOS 应用程序查看 UDP 连接

改进:

  • 改进配置编辑
  • 改进本地 DNS 服务器以避免 DNS 污染
  • 改进 UDP 中继

错误修复:

  • 修复 IPv6 显示
  • 修复 DNS 服务器

版本 1.0.4(143)

新增功能:

  • 支持本地 HTTP/Socks5 代理服务器
  • 完整 IPv6 支持
  • 新增 DNS 服务器的 syslib 支持

改进:

  • 改进配置编辑
  • 新增乐观 DNS 开关
  • 改进本地 DNS 服务器

错误修复:

  • 修复 iOS 本地代理服务器地址可能阻止应用程序访问网络的问题
  • 修复 DNS 服务器

版本 1.0.3(138)

新增功能:

  • 虚拟 IP 以避免 DNS 缓存污染
  • 从互联网或二维码下载配置文件

错误修复:

  • 修复 FINAL 规则编辑问题

版本 1.0.2(130)

新增功能:

  • iPad 支持
  • 支持 chute:// 方案和 x-callback-url
  • Dashboard 操作
  • iPhone 12 支持
  • 重建 DNS 服务器以提升性能和稳定性

错误修复:

  • 改进 TCP 稳定性
  • 重建 TCP 锁以提升性能
  • 改进 UDP 稳定性
  • 修复配置崩溃问题

版本 1.0.1(111)

  • 修复微信分享扩展失败
  • 修复 IPv6 支持
  • 更新 HTTP 完整检查

版本 1.0.0(101)

  • 首次发布
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-10-01 17:54:51

本页为英文版的翻译。如内容有出入,以英文版为准。

results matching ""

    No results matching ""