Chute Mac 发布说明

版本 1.1.5(233)

新增功能:

  • 新增代理链:策略可以用「上游代理」(underlying-proxy)指定一个上游,经由它连接自己的服务器;策略组可以让全部成员经由同一个上游;「通用 → 高级」下新增的「前置代理」设置(global-underlying-proxy)则让所有没有自带上游的节点都走它。除 Tailscale 外的所有传输都能串联——流式协议沿用上游的流;Hysteria2、TUIC、MASQUE 与基于 HTTP/3 的 XHTTP 以固定 1280 字节的包走上游的 UDP 中继;WireGuard 与 AmneziaWG 隧道经由上游连接,内层 MTU 为 1280 字节;SSH 与 AnyTLS 会话在上游之上建立——策略编辑器也为其中每一种都提供了这个字段。形成循环、嵌套超过 16 层或指向不存在策略的链会被拒绝,绝不会改为直接连出
  • 新增中继组(relay,与 Clash、mihomo 相同):成员按书写顺序串联——第一个直接连接,之后的每一个都经由它前面的成员到达,最后一个连接目标。组编辑器的类型中新增 Relay,会按顺序保留成员,并要求至少两个成员
  • 新增随机组(random,与 Shadowrocket 相同):每条连接随机选择一个成员,UDP 只在能承载 UDP 的成员中选择。随机组没有可以更改的选择,因此菜单栏与「代理」页面不会列出它;组编辑器也会让它保持随机组类型
  • 连接详情窗口与 Web 控制台新增代理链:会列出每一跳(Airport/HK-01 → Landing),「复制详情」会带上它,连接搜索也能按它匹配,HAR 导出也会记录这条路径
  • 规则提供者与代理提供者新增 policy=:该列表会经由这个策略下载;填写的策略名不存在时,下载会直接失败,而不会改为直接下载。Mac 版的编辑器暂时还没有对应字段,但保存时会保留它
  • 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」与「响应 jq」类型以及「JQ 程序」字段;程序无效时会报告错误并跳过该规则,正文不是 JSON、程序运行失败或输出为空时,正文都保持不变
  • 新增通用脚本:type=generic 的脚本没有自动触发条件,只在需要时运行——在脚本编辑器里点「运行」,或调用 GET /api/scripts 与 POST /api/scripts/run。脚本编辑器还新增了「事件名称」字段:事件脚本会收到 network-changed、engine-started 与 profile-reloaded,填写其他事件名的脚本会在日志中注明,且永远不会运行
  • 新增专用 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> 做按网络的映射;编辑器可以为条目绑定脚本,并保留条目的每一个地址与服务器
  • 「通用」下新增「读取系统 hosts 文件」(read-etc-hosts,导入时由 mihomo 的 use-system-hosts 转换而来):/etc/hosts 中的名称由 Chute 的 DNS 应答
  • 新增规则通知:任何规则(包括 FINAL)都可以带 notification-text= 与 notification-interval=,命中时发出通知,同一条规则在一个间隔内最多通知一次;规则编辑器可以设置这两项,通知遵循 Chute 的通知开关
  • 新增 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。规则编辑器的策略菜单列出了这些策略,以及 PROXY
  • 新增内联规则集:[Ruleset Name] 段通过 RULE-SET,<name> 引用,内联规则集之间也可以相互引用——最多嵌套 8 层,循环引用会被拒绝
  • 新增 SSID 系列功能:[SSID Setting] 的 DNS 覆盖按网络生效——支持网络名、BSSID:、TYPE:WIFI / CELLULAR / WIRED(在 Mac 上即以太网)、ROUTER:、带引号与通配符的名称——并在网络变化时清除上一个解析器的缓存;ssid 与 subnet 策略组根据当前网络选择成员,SUBNET 规则按当前网络匹配。suspend=true 现在在 Mac 上生效:在该网络下,Chute 会撤下系统代理并解除增强模式,菜单栏会显示这一状态,进入和退出暂停时各有一条通知,手动切换代理即结束暂停。策略组与 [SSID Setting] 编辑器新增「匹配方式」菜单(SSID、BSSID、TYPE、ROUTER),按书写顺序保留条目,并显示每个条目的 DNS 覆盖。网络变化现在会即时传给引擎,而不再按 60 秒的周期检查;配置中指定了 Wi-Fi 网络时,Chute 会请求一次定位权限——macOS 14 及更高版本要求先获得该权限才会提供网络名称
  • 新增 DEST-PORT、SRC-PORT 与 IN-PORT 的范围与比较写法(80-81、>=50000、/ 列表),HOSTNAME-TYPE 的取值 IPv4、IPv6、DOMAIN 与 SIMPLE,以及真正生效的 IN-TYPE 与 IN-USER 规则——它们现在会匹配实际流量,而不只在试运行中生效
  • 新增 MitM 控制项:解密 HTTP/2(h2);阻断发往解密主机的 QUIC,使 HTTP/3 无法绕开解密(auto-quic-block);将主机排除在解密之外;并支持主机列表关键字 <ipv4-address>、<ipv6-address> 与 <simple-hostname>;前三项位于 MitM 设置中
  • 增强模式下新增按域名路由 QUIC:开启协议嗅探后,会从客户端的 QUIC Initial 中读出域名,分散在多个 Initial 中的 ClientHello 会被重组,域名确定之前这条流会先暂缓,因此直接发往 IP 地址的 HTTP/3 连接也能被 DOMAIN 规则路由
  • 新增 icmp-auto-reply,默认开启:增强模式下的 ping 由本地直接应答(IPv4 与 IPv6 均可),不再超时
  • 新增导入能力:mihomo 的 GEOSITE 与分类 GEOIP 规则会展开成可用的规则集,.mrs 与 .srs 提供者会改为指向其公开发布的源列表,policy-path 组会合成一个带 update-interval、筛选与包含列表的提供者,mihomo 的 SUB-RULE 会展开为 AND 规则,sing-box 的 detour 与 mihomo 的 dialer-proxy 作为代理链导入,WireGuard 的 allowed-ips 会被编译并强制生效(WireGuard 编辑器也新增了「允许的 IP」字段),分流隧道不再吞掉所有目标地址
  • 新增配置指令与传输:#!include 与 include = 可以引入其他文件,#!MACOS-ONLY、#!IOS-ONLY 与 #!TVOS-ONLY 让配置行只在一个平台上生效,两者在保存后都会保留;Shadowsocks 新增 v2ray-plugin 的 WebSocket 传输;不是 UUID 的 VLESS 或 VMess id 会像 Xray 与 mihomo 那样用 UUIDv5 映射为 UUID,而不再导致引擎崩溃
  • 策略编辑器新增「出口接口」与「允许其他接口」(interface=、allow-other-interface=),可以把策略的 TCP 连接固定在一个网络接口上。它们在 network-framework = false 时生效;在 macOS 默认使用的 Network.framework 下暂不生效
  • 新增脚本 API 能力:$httpAPI 无需打开 socket 即可调用引擎自身的路由,$httpClient 会遵循 policy,$event.name 报告实际触发的事件
  • 新增重写选项:Map Local 支持 data-type、status-code 与头部,Header 重写新增 header-replace-regex,URL 重写新增 reject-array 与 reject-tinygif,一行 Body 重写可以带多组正则 / 替换对;编辑器也提供了这些新类型与字段
  • 菜单栏新增「打开 Web 控制台」与「复制 Web 控制台令牌」,在配置提供控制台时显示:打开时会带上令牌直接登录,复制令牌则供另一台机器上的浏览器使用;监听器未运行或 external-http-ui 关闭时,菜单项不可用并说明原因。控制台新增「当前」与「历史」标签页、连接检视视图(命中的规则、规则来源、策略、适配器、DNS 来源、进程、关闭原因,以及请求与响应正文)、可显示哪些重写规则已经命中的「规则」页面、「诊断」页面,以及加载失败的规则集列表,并已完整支持全部九种语言
  • HTTP 控制 API 新增端点:/api/health、/api/events、/api/tailscale、/api/diagnostics/ 下的探测、/api/connections/export?format=har、/api/diagnostics/bundle、/api/scripts、位于 /api/rewrites 与 /api/mitm/hosts 的重写规则与 MitM 主机管理、用于对规则表做请求试运行的 POST /api/rules/match、无需重载即可调整日志级别的 GET|PUT /api/loglevel,以及只检查、不应用配置的 POST /api/config/validate
  • 菜单栏新增「保存诊断包…」:在 Chute 内部生成一份脱敏压缩包,包含配置、健康状态、本次运行的事件、已加载的规则与策略、DNS、流量和日志分片,不依赖控制 API——Chute 停止后也可以使用,方便取回上次运行的日志
  • 新增 HAR 导出,由引擎根据记录的帧生成:状态码、时间戳和耗时都是真实值,每个条目都在 _kl 下带有所选策略、命中的规则和重写命中;可在 Web 控制台中使用,也可通过 /api/connections/export?format=har 获取
  • 连接详情窗口新增重写归因:标出第一个改动了该请求的 URL 重写、Header 重写、Body 重写或模拟响应,以及共有多少条命中;「复制详情」会带上全部命中项,「请求与历史」会打开 Web 控制台,用于查看正文与已关闭的连接
  • 新增「网络地址变化」通知,取代原来的「出口 IP 变更」:显示这台 Mac 自己的 IPv4 与 IPv6 地址,每个地址族一行,并标出位于 NAT 之后的 IPv4;只有 NAT 内的 IPv4 需要发出一次 STUN 请求
  • 新增「网络无法传输数据」通知,带独立开关,默认开启:报告能建立连接却不传输任何数据的链路;macOS 自身报告网络不可达时则保持静默
  • 新增法语作为内置语言,语言菜单中每种语言旁还会显示国旗

改进:

  • 配置未指定 external-http-secret 时,HTTP 控制 API 不再开放访问:引擎会生成一个令牌,可从菜单栏复制;external-http-secret = none 只在回环地址上保留匿名访问;此外通配监听地址不再被当作回环地址
  • 大型列表的规则匹配大幅加快:只含域名规则的规则表通过哈希方案匹配;未预加载的 RULE-SET 与 DOMAIN-SET 内容在下载时建立索引,不再按连接逐次读取
  • UDP 流只匹配一次:一条流的判定会记住 60 秒,后续数据报跳过两轮匹配以及其间的 DNS 查询
  • 网络切换后的恢复更好:上游源地址已不存在于任何接口上的隧道会被直接关闭,而不是让应用一直挂到空闲超时
  • 规则提供者改为逐个下载,不再在下载队列已满时被拒绝,转换时占用的内存也大幅减少
  • 日志按 8 MB 分片写入(每次运行最多八个,最旧的先删除),每个分片开头都有说明所属运行的头部,「日志」标签页会按顺序跟随全部分片;引擎还会记录上次运行是正常停止还是被终止——写入日志头部、/api/status 与诊断包;loglevel = info 下,传输量达到 1 MiB 的大流量连接会在关闭时记录一行日志,说明它在哪里等待
  • 每个结构化编辑器现在都会保留它不显示的内容:策略组会保留其提供者、policy-path、include-*、筛选与未知参数,并让取默认值的 url= / timeout= 留空,使该组遵循 proxy-test-url / test-timeout;规则保留其余选项;[Host] 条目保留每一个地址;Body 重写行保留后续的替换对;脚本保留表单不显示的键;WireGuard 与 AmneziaWG 段也保留各自的键,包括 AmneziaWG 的混淆参数——因此打开再保存不会再改写配置
  • 「生效规则」显示匹配器实际遍历的规则表——前置规则、模块、配置本身与 FINAL——「测试规则」则运行引擎的试运行,而不是读取缓存
  • 导入已发布的配置不再丢失路由:格式按地址实际提供的内容判断,因此提供 Clash 内容的 .conf 订阅也会被转换;dns-server 接受加密 DNS URL,监听行接受密码,带引号的组成员得以保留,PASS 成员会被丢弃而不是变成 REJECT,不支持的协议或组类型只给出警告,不再拖垮整个组;转换后的配置以 .conf 保存,名称已被占用时会自动编号
  • 延迟测试使用正确的目标:策略组的 test-url 与 test-timeout、配置的 proxy-test-url,以及成员自己的 test-url 与 expected-status 都会生效,串联的节点经由它的代理链探测,而不是直接探测
  • 隐藏的策略组除非正在使用,否则不会出现在菜单栏与「代理」页面中;控制 API 把「全局」指向某个 select 组时,菜单栏会列出并勾选该组;重新加载配置时,运行时从 Web 控制台添加的规则会被丢弃
  • ShadowTLS 现在会在写了 sni= 时校验伪装站点的证书,与 sing-box 一致;skip-cert-verify=true 可以关闭校验,没有写 sni= 时跳过校验并给出警告
  • 写成路径形式的 PROCESS-NAME 会匹配该路径或应用包前缀,与 Surge 手册允许的写法一致;mihomo 的 PROCESS-NAME-WILDCARD 与 PROCESS-PATH-WILDCARD 规则也会被导入,而不再被丢弃
  • 经由 Network.framework 连接的大量上传不再把数据一直留在内存里,等到主线程腾出手来才释放
  • 「允许 Wi-Fi 访问」复选框现在会说明它的作用——开启期间,两个本地代理监听器都会在所有接口上接受连接——此时接口字段显示 0.0.0.0,你填写的地址会保留下来,供关闭该选项后使用
  • 增强模式的提示现在会说明引擎实际做了什么:Chute 会自行设置 DNS 覆盖并在停止时恢复,UDP 经由命中的策略中继,ping 会得到本地应答
  • 内置更新组件升级到 Sparkle 2.9.6,包含 2.x 系列的安全修复;启动时的更新检查现在只在开启自动检查更新时才会运行
  • 日语、韩语、德语、泰语和俄语中约 850 条文字不再显示为英文,网络扩展的批准提示现在已翻译,不再显示占位文字,所有语言都采用与 iOS 应用及本手册一致的用语

错误修复:

  • 修复「VIF 包含路由」(tun-included-routes)不起作用的问题:无论增强模式类型是 Helper utun 还是 PacketTunnel,列出的 CIDR 现在都会加入隧道的路由,因此原本会被物理接口自身子网或其他 VPN 接走的网段也会经过 Chute。会切断隧道自身的条目——回环、隧道自己的子网、链路本地、组播、广播、当前的默认网关、前缀长度为 0——会被拒绝并记录日志,私有网段可以使用但会给出警告。特权 Helper 为此做了更新,因此 macOS 会请求批准一次
  • 修复增强模式下的 MitM:命中 MitM 规则的主机会一直卡到超时,导致 HTTPS 重写、模拟响应和解密捕获对应用流量从未生效;此外,超过 64 KB 的解密请求或响应会挂起,经由系统代理时也是如此
  • 修复 allow-wifi-access 不起作用的问题:本地 HTTP 与 SOCKS5 监听器一直停留在回环地址,网络上的其他设备无法访问;现在该选项(以及导入时 sing-box 的 allow-lan)会放宽两个监听器,关闭时重新绑定
  • 修复重写问题:MitM HTTP/1.1 上的响应 Header 重写被记录为已应用,客户端收到的却仍是原始头部,而在明文 HTTP 上它只匹配路径,导致按完整 URL 书写的模式永远无法命中;模拟响应基于请求头构造回复;Map Local 的 status-code= 在 HTTP/2 上被忽略;重新序列化的 HTTP/1.1 响应缺少原因短语
  • 修复规则匹配问题:嗅探为直连 IP 字面量的连接提供了名称后,带 no-resolve 的 IP 规则会跳过该连接;RULE-SET 内容中在正文之后带有选项的行被丢弃;RULE-SET,<name>,<policy>,no-resolve 丢失 no-resolve;HOSTNAME-TYPE 永远无法匹配;AND / OR / NOT 中的 RULE-SET 与 DOMAIN-SET 恒为假,SCRIPT 恒为真;GEOIP 与 IP-ASN 的 UNKNOWN 永不匹配;被逻辑规则路由到代理的域名仍会被真实解析;Host 头中带方括号的 IPv6 字面量被当成主机名
  • 修复 PROTOCOL,TCP 与 PROTOCOL,UDP 永远不匹配的问题,用 AND 规则阻断 QUIC 的常见写法因此可以生效;PROTOCOL,HTTP 现在也会匹配经由本地 HTTP 代理的明文请求——系统代理的流量正是这样到达的
  • 修复 block-quic 只认 Surge 的一种取值、写成其他取值时完全不阻断 QUIC 的问题
  • 修复 IP-ASN 规则从未生效的问题:~/Chute/Content 中的 GeoLite2 数据库会被忽略,而 Chute 自身也没有附带 ASN 数据库;现在已经附带
  • 修复规则集中的 PROCESS-NAME 与 PROCESS-PATH 行被转成小写、导致写了 Chrome 的规则永远无法匹配的问题
  • 修复启动 Chute 时,只要某个 select 组选中的不是第一个成员就会弹出「策略组已切换」通知、且之后的重建会触发震荡警告的问题;没有记住选择的组现在遵循配置里的 default=
  • 修复脚本 API:$klne.getPolicyGroups() 与 selectPolicy() 第一次使用时不再抛错,reloadConfiguration() 会真正重载,getActiveConnections() 报告真实的主机、端口与 id,closeConnection() 会真正关闭,startURLTest() 会真正发起测试,带 requires-body 的 before-send 脚本也能收到正文
  • 修复 [Replica] hide-crashlytics-request 被解析但从未应用、keyword-filter 比较整个主机名而不是检查主机名是否包含关键字、external-http-controller = *:9090 与 :::9090 被拒绝,以及 optimistic-dns = false 时仍会返回过期记录的问题
  • 修复 XHTTP 在高负载下崩溃、在第一次写入后停滞导致经由它的 TLS 握手无法完成的问题,并修正它在 HTTP/1.1 上的 stream-up 填充
  • 修复 Hysteria2 丢弃一个 QUIC DATAGRAM 帧装不下的 UDP 数据报、使应用的 HTTP/3 退回 TCP 的问题,以及含 Hysteria2 成员的 url-test 组崩溃的问题
  • 修复重启增强模式后沿用上一次运行的起始本地端口与 TCP 序列号的问题:仍持有旧连接的 WireGuard 对端会因此重置新连接
  • 修复 WireGuard 同时从两处启动时崩溃、Shadowsocks 2022 丢失响应末尾、SSH 停滞 30 秒并在空闲时占满一个 CPU 核心,以及 REALITY / uTLS 连接在收到错误记录后不关闭、反而继续传递已损坏的下载内容的问题
  • 修复 Tailscale 问题:在同一网络上有两个接口的 Mac 上,从另一个地址应答的握手永远无法完成;Tailscale 停止后连接会挂起
  • 修复重载后两个本地监听器都停止工作的问题(意外停止的监听器现在会被重新启动),以及 HTTP 代理没有对未认证的请求返回 407 与 Proxy-Authenticate、旧版 XTLS 中的死锁,和 WebSocket 传输忽略 Ping 与 Close 的问题
  • 修复引擎在 macOS 10.15 上启动时崩溃的问题
  • 修复从脚本编辑器保存时,含逗号的脚本取值(如 cron 的 0 8,20 * * * 或 JSON 参数)在第一个逗号处被截断的问题,以及名称含空格或逗号的策略组成员保存时未加引号的问题
  • 各项稳定性和性能改进

版本 1.1.3(230)

新增功能:

  • 新增设置助手:首次启动会带你从零完成一份可用配置——导入订阅或分享链接、手动填写服务器信息,或直接指向本地已有的配置文件——随后安装特权 helper、应用你选择的流量接管方式,并在结束前验证连通性。之后也可随时从菜单重新打开
  • 新增分享链接导入(vmess://、ss://、ssr://、trojan://、vless://、hysteria2://、shadowtls://):链接在本地完成转换;订阅地址返回分享链接列表(包括 base64 包装的列表)时同样可以导入
  • 导入面板新增剪贴板检测:检测到剪贴板中的链接时以「使用」按钮的形式提供,而不是直接静默填入
  • 新增 chute:// URL Scheme,网页上的导入链接可直接在 Chute 中打开;地址会先做格式校验并由你确认后才会发起请求
  • 新增 AmneziaWG 协议支持,并提供其混淆参数编辑器(Jc/Jmin/Jmax、S1–S4、H1–H4、I1–I5)
  • 策略编辑器新增 Trojan、VMess、VLESS 的 XHTTP 传输:mode、path、host、请求头与填充、post 大小与间隔上限、四项 XMUX 边界,以及独立的下载端点
  • 策略编辑器新增 gRPC 传输,可设置 service name 与 multi-mode
  • 新增 TLS 策略的 ECH(Encrypted Client Hello)设置:开关、固定的 ech-config,以及 ech-public-name 外层名称覆盖
  • 新增按策略设置的客户端指纹(uTLS),并在通用设置中提供全局默认值
  • 新增 AEGIS-128L 与 AEGIS-256 两种 Shadowsocks 加密方式
  • 新增 TLS 1.3 的 X25519MLKEM768 后量子混合密钥交换
  • 新增 VMess 加密方式选择、MASQUE 证书指纹固定、每条策略的 UDP 关闭开关,以及 HTTP 系列、Shadowsocks、ShadowsocksR、Trojan、ShadowTLS、Hysteria2 的多路复用开关
  • 新增 Tailscale 出口节点与子网路由服务:将这台 Mac 及其身后的网络通告出去、在菜单栏切换服务状态、管理员批准时收到通知,并可选择在承载流量期间保持 Mac 不休眠
  • 配置列表新增删除:由 Chute 管理的配置会被移到废纸篓,而就地导入的文件只是取消注册,仍保留在原位
  • 新增配置错误报告窗口——可缩放的列表,包含行号、严重程度、错误信息与原始行,支持对行按 ⌘C 复制以及「全部复制」——取代了可能高过屏幕的弹窗提示
  • [URL Rewrite] 新增 Map Remote:header 类型的规则现在会改写请求行与上游主机,并支持捕获组展开
  • 新增模块参数(#!arguments),同一个模块可以用不同取值复用

改进:

  • 重构策略编辑器为按协议拆分的表单:每种协议拥有自己的字段,不再与不相关的协议共用输入框,新增协议也不会再让其后的类型编号错位
  • 保存时,策略编辑器会保留自身没有对应字段的选项(ECH、ALPN、证书固定、test-url、udp-relay、tfo)
  • 移除 TUIC、Hysteria2、MASQUE、AnyTLS、SSH 上的 TCP Fast Open 开关,这些适配器从不读取该选项;已经带有 tfo 的策略仍会保留它
  • 改进对已发布的 Clash、sing-box、Surge 配置的导入,包括 Surge 的 MitM/Panel/Ponte 段、各种 REJECT 变体、模块行以及 [SSID Setting] 选择器
  • 在 macOS 弹出授权对话框之前,Chute 会先说明特权 helper 的用途,而不是让系统提示毫无上下文地出现
  • 理顺首次启动的界面顺序:先读取许可证再显示任何窗口,通知权限请求会等到设置助手关闭之后再弹出
  • 尚未配置任何内容时,菜单栏会提供偏好设置、主窗口与导入入口,而不是只有一个文件选择器;仪表板的开关会直接说明缺少什么,而不是在一分钟后报告失败;这类安装也会直接进入新版主窗口
  • 配置列表的空状态与 URL 导入菜单项现在会明确提到分享链接,帮助窗口也说明了在代理生效前实际需要完成哪些步骤
  • 提升转发路径、规则匹配与 UDP 处理的吞吐与 CPU 效率
  • Mac 切换网络后,连接不再复用已被取代的网络路径

错误修复:

  • 修复重启后有效许可证被判定为非法的问题:单次瞬时校验失败就会停止代理并弹出许可证窗口
  • 修复「吊销许可证」确认后没有任何反应的问题
  • 修复在配置错误提示上点击取消仍会加载并启动错误配置的问题,以及丢弃操作位于默认按钮上的问题
  • 修复启用 REALITY 时 VLESS flow 被丢弃的问题,并让客户端真正实现 XTLS Vision 分帧,而不只是在握手中声明
  • 修复编辑器无法展示的策略类型在保存时被改写成 HTTP 的问题
  • 修复 WireGuard 与 AmneziaWG 策略在引用配置段时被写入字面端口 0 的问题
  • 修复 WebSocket 开关关闭时仍写入 ws-path 与 ws-headers 的问题
  • 修复界面设置页无法滚动的问题
  • 修复 Shadowsocks obfs=http 发送的请求行格式错误,导致隧道虽已连接却无法传输数据的问题
  • 修复 Shadowsocks 2022 在负载被拆分到多次读取时失步的问题,并修正 chacha20-poly1305 的 UDP 报文格式
  • 修复 [Host] 别名从不匹配的问题:对别名的 A 查询会落到上游并返回 NXDOMAIN
  • 修复 QUIC 连接迁移绕过 PROTOCOL,QUIC 规则与 block-quic 选项的问题
  • 修复 WireGuard 在会话重建期间丢弃已排队报文的问题
  • 修复模块中 #!arguments 的描述行覆盖旁边参数默认值的问题
  • 各项稳定性和性能改进

版本 1.1.2(210)

新增功能:

  • 新增 Tailscale 内置代理类型:可直接在 Chute 中配置 Tailscale 账户、加入 tailnet 并通过 Tailscale 节点转发流量,无需安装独立的 Tailscale 客户端
  • 新增 Tailscale 配置面板:安全输入 auth key、校验连接、列出 tailnet 节点,并支持切换出口节点
  • 新增仪表板上的 Tailscale 状态小部件,以及菜单栏快速切换出口节点的快捷方式
  • 新增代理诊断系统通知,包括失效策略引用、出口 IP 变更和 Tailscale 事件,可在设置中按类型开关
  • 在策略编辑器中新增 MASQUE 代理类型
  • 新增 bypass-list 表格编辑器,默认启用 simple-hostnames 并自动导出 no_proxy
  • 流量面板新增按应用分组显示连接
  • 最低支持 macOS 版本提升至 10.14(Mojave)

改进:

  • 提升 macOS 上的 TUN 吞吐
  • 提升特权 helper、系统代理与 DNS/TUN 生命周期的稳定性
  • 提升 Tailscale 和 WireGuard 的连接稳定性与吞吐
  • 提升系统扩展与 VPN 自动续接的可靠性
  • 改进许可证校验,避免将瞬时的服务器错误误判为吊销
  • 规范化配置文件名,避免无效路径字符导致加载失败

错误修复:

  • 修复 helper 可能重复附加到已在运行的 VPN 隧道的问题
  • 修复并发切换语言导致的崩溃
  • 修复 VPN 隧道在第二次启动时可能失败的问题
  • 修复上传速度迷你图表显示为下载数据的问题
  • 各项稳定性和性能改进

版本 1.1.1(202)

  • 全新主界面与仪表板:重新设计的 4 标签页窗口(仪表板、流量、配置、日志),采用玻璃质感设计、实时速度迷你图表、可自定义的小部件卡片和微交互动画
  • 新增仪表板小部件:代理状态、TUN 模式、运行时长、活跃连接、下载/上传吞吐量和当前配置方案
  • 新增方案管理标签页,用于切换和组织配置方案
  • 升级流量检查器,增强会话过滤和日志查看
  • 新增 VPN 增强模式:PacketTunnel 系统扩展选项,与旧版 helper utun 并存,可在偏好设置中选择
  • 将特权 helper 守护进程从 SMJobless 迁移至 SMAppService(macOS 13+)
  • 将网络扩展迁移至系统扩展,采用 OSSystemExtensionRequest 激活流程
  • 新增 Body 重写、脚本、模块和 WireGuard 部分的配置编辑器
  • 新增规则 DNS 诊断工具
  • 更新 KLNEKit 内核,带来重要功能扩展
  • 新增 AnyTLS 协议支持,包含多层填充混淆
  • 新增 TUIC 协议支持(基于 QUIC 的多路复用 TCP/UDP 中继)
  • 新增 Hysteria2 协议支持,包含 Brutal 拥塞控制
  • 新增 WireGuard 协议支持(内联和基于部分的配置)
  • 新增 ShadowTLS 协议支持,包含 TLS 指纹伪装
  • 新增 VLESS REALITY 抗审查支持
  • 新增 Shadowsocks 2022 加密方法(2022-blake3-aes-128/256-gcm、chacha20-poly1305)
  • 新增 VMess 和 VLESS 协议的 gRPC 传输支持
  • 新增 DNS-over-TLS (DoT)、DNS-over-QUIC (DoQ) 和 DNS-over-HTTP/3 (DoH3) 支持
  • 新增本地 DNS 映射中的按域名 DoT/DoQ/DoH3 分配
  • 新增 JavaScript 脚本系统(7 种脚本类型:rule、dns、request、response、generic、scheduled、dns-ttl)
  • 新增 Body 重写:使用正则表达式(支持捕获组)或 JSONPath 搜索和替换 HTTP 请求/响应 Body
  • 新增 Mock 响应:向匹配的请求返回模拟数据或 Map Local 内容
  • 新增协议嗅探:检测实际连接协议并据此应用规则
  • 新增通知报告,包含 5 种事件类型(connection-failure、proxy-unavailable、traffic-surge、config-update-failure、policy-group-switch)
  • 新增 HTTP 控制 API 和内嵌 Web UI,用于运行时监控和管理
  • 新增模块系统(.sgmodule),用于模块化配置管理
  • 新增代理提供者,用于动态代理列表更新
  • 新增 LoadBalance 策略组,支持轮询、一致性哈希和会话保持策略
  • 新增 Fallback 策略组支持
  • 新增 IP-ASN 规则类型(内置 MaxMind GeoLite2 ASN 数据库)
  • 新增逻辑组合规则:AND、OR、NOT
  • 新增高级匹配规则:SUBNET、HOSTNAME-TYPE、IN-TYPE、IN-USER、IN-NAME
  • 新增基于域名的新规则类型:DOMAIN-WILDCARD、DOMAIN-REGEX、DOMAIN-SET
  • 新增 PROTOCOL 规则类型(按检测到的协议匹配:HTTP、HTTPS、TLS、TCP、UDP、QUIC、STUN、DNS、DOH、DOQ)
  • 新增 SCRIPT 规则类型,用于基于 JavaScript 的自定义匹配
  • 新增进程规则类型:PROCESS-PATH、PROCESS-NAME-REGEX
  • 新增 SRC-PORT 规则类型
  • 新增规则的 extended-matching 和 requires-resolve 选项
  • 新增 URL 重写拒绝模式:reject-200、reject-img、reject-dict
  • 新增请求头重写响应方向支持(header-response-add/del/replace)
  • 新增 URL 重写 Map Local 模板变量支持
  • 新增副本支持,用于选择性流量录制
  • 新增托管配置支持,包含自动更新间隔
  • 新增 exclude-simple-hostnames 选项
  • 新增 Bypass TUN 选项,用于直接路由指定 IP 范围
  • 新增 interrupt-exist-connections 全局选项
  • 新增 network-framework 选项
  • 新增 disable-db-record 选项
  • 扩展策略组选项:expected-status、hidden、idle-timeout、lazy
  • 规则系统从 6 种扩展至 37 种规则类型
  • 优化 TUN 吞吐量(UTUN_OPT_MAX_PENDING_PACKETS)
  • 修复 IPv6 默认值(false → true)
  • 修复日志级别默认值,新增 none 和 fatal 级别
  • 修复 Shadowsocks/ShadowsocksR 命名一致性
  • 各项稳定性和性能改进

版本 1.0.7(163)

  • 更新 KLNEKit
  • 新增 SSH 策略支持
  • 修复 UDP 问题
  • 错误修复

版本 1.0.5(155)

  • 更新 KLNEKit
  • 将 TUN 网络更改为 198.18.0.0/15,避免 IPv4 内部地址问题
  • 新增菜单图标帮助功能
  • 实现 TUN 的 IPv6 支持
  • 启用 TUN 的 Ping 支持
  • 修复 Dock 菜单消失问题
  • 修复 Chute 关闭后代理配置未恢复的问题
  • 修复 TUN 网络
  • 修复应用更新组件
  • 错误修复

版本 1.0.4(145)

  • 新增 VLESS 协议支持
  • 新增 VLESS 的 XTLS 支持
  • 新增本地 IP 显示
  • 新增 Chute Dashboard 的 UDP 隧道支持
  • 改进内置 DNS 服务器
  • 修复 FINAL 规则处理
  • 修复 UDP 隧道
  • 错误修复

版本 1.0.3(132)

  • 支持 macOS 10.13(不含 Network.framework 支持)
  • 修复配置窗口代理部分加载问题
  • 修复 HTTP 请求错误
  • 错误修复

版本 1.0.2(102)

  • 重建 DNS 服务器
  • 重建扩展安装
  • 错误修复

版本 1.0.0(88)

  • 首次发布版本
  • 新增 TUN 支持

[Beta] 版本 0.4.9(53)

  • 修复规则顺序
  • 新增屏幕二维码扫描支持
  • 修复策略组问题

[Beta] 版本 0.4.5(32)

  • 错误修复

[Beta] 版本 0.3.5(25)

  • 错误修复

[Beta] 版本 0.3.0(20)

  • 错误修复

[Beta] 版本 0.2.0(8)

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

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

results matching ""

    No results matching ""