杂项选项
[General]
ipv6 = true
loglevel = notify
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local
tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
tun-included-routes = 192.168.1.12/32
通用选项
启用完整 IPv6 支持(默认:true)
ipv6 = true
loglevel(默认:warning)
loglevel = notify
可选值:none、fatal、warning、notify、info 或 verbose。不建议在日常使用中启用 verbose,因为这会显著降低性能。
skip-proxy
skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local
在 iOS 版本中,此选项强制将这些域名/IP 范围的连接交给 Chute TUN 处理,而非 Chute 代理。在 macOS 版本中,当启用「设为系统代理」时,这些设置将应用于系统。此选项用于解决某些应用程序的兼容性问题。
- 要指定单个域名,输入域名 - 例如 apple.com。
- 要指定域名下的所有网站,在域名前使用星号 - 例如 *apple.com。
- 要指定域名的特定部分,指定每个部分 - 例如 store.apple.com。
- 要通过 IP 地址指定主机或网络,输入特定 IP 地址(如 192.168.2.11)或地址范围(如 192.168.2.* 或 192.168.2.0/24)。
注意:如果您输入 IP 地址或地址范围,仅当您使用该地址连接到该主机时才能绕过代理,而通过解析到该地址的域名连接时不会绕过代理。
中断现有连接
interrupt-exist-connections = true
启用后,在任何策略组中更改所选策略(通过 URL Test、Fallback、Load Balance、SSID 或手动选择)将优雅地断开使用旧策略的现有连接。这确保连接立即使用新选择的代理,而不是继续使用旧代理。
每个受影响的连接会以 3 秒超时优雅关闭,之后强制关闭。
默认:
false。这是一个全局设置——影响所有策略组。
Network Framework(macOS / tvOS)
network-framework = true
为出站连接启用 Apple Network.framework。在 macOS 和 tvOS 上默认启用,在 iOS 上默认禁用。使用 Network.framework 可以在支持的平台上提供更好的性能和现代化的 TLS 栈集成。
默认:macOS/tvOS 上为
true,iOS 上为false。
排除简单主机名
exclude-simple-hostnames = true
启用后,对简单主机名(不含点的单标签名称,例如 localhost)的请求将绕过代理规则并在本地解析。这有助于避免对本地网络名称进行不必要的 DNS 查询。
默认:
false。
禁用数据库记录
disable-db-record = true
启用后,Chute 停止将流量记录写入本地数据库。这可以提高性能并减少存储使用,但流量历史将无法在 Chute Dashboard 中使用。
默认:
false。
菜单栏速度显示(仅 Mac)
menu-bar-show-speed = true
启用后,Chute Mac 在菜单栏中显示当前的上下行速度。
默认:
false。
劫持其他 DNS 服务器
hijack-dns = 8.8.8.8:53
默认情况下,Chute 仅为发送到 Chute DNS 地址(198.18.0.2)的 DNS 查询返回虚拟 IP 地址。发送到标准 DNS 的查询将被直接转发。
某些设备或软件始终使用硬编码的 DNS 服务器(例如,Google 音箱始终使用 8.8.8.8)。您可以使用此选项劫持查询以获取虚拟地址。
您可以使用 hijack-dns = *:53 来劫持所有 DNS 查询。
排除路由
tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
Chute VIF 只能处理 TCP 和 UDP 协议。使用此选项绕过特定 IP 范围,允许所有流量直接通过。
注意:此选项仅对增强模式的 VIF(utun)类型生效——使用 PacketTunnel VPN 类型时无效。由 Chute 代理服务器处理的请求不受影响。结合使用「skip-proxy」和「tun-excluded-routes」以确保某些 HTTP 流量完全绕过 Chute。
此选项可能导致系统错误 ENOMEM(无法分配内存)。这似乎是 iOS 系统中的一个错误。如有可能,请勿使用此选项。
包含路由
tun-included-routes = 192.168.1.12/32
默认情况下,Chute VIF 接口将声明自身为默认路由。但由于 Wi-Fi 接口具有更小的路由,某些流量可能不会通过 Chute VIF 接口。使用此选项添加更小的路由。
注意:此选项仅对增强模式的 VIF(utun)类型生效——使用 PacketTunnel VPN 类型时无效。
协议嗅探
sniffing-enabled = true
sniffing-timeout = 100
Chute 可以通过检查连接的初始字节来检测实际协议。这使得像 PROTOCOL,HTTPS,Proxy 这样的规则即使对非 HTTP 入站连接也能正常工作。
sniffing-enabled(默认:false)
sniffing-enabled = true
启用 TCP 连接的协议检测。
sniffing-timeout(默认:100ms)
sniffing-timeout = 200
等待初始数据以确定协议的最大时间(毫秒)。如果协议检测在慢速连接上失败,请增大此值。
Bypass TUN
bypass-tun = 192.168.0.0/16, 10.0.0.0/8
类似于 skip-proxy,但在 TUN/VIF 路由层面工作。到这些 IP 范围的连接将完全绕过 TUN 接口,直接通过系统网络栈传输。
注意:此选项仅对增强模式的 VIF(utun)类型生效,使用 PacketTunnel VPN 类型时无效。
拒绝时显示错误页面
show-error-page-for-reject = true
启用后,Chute 对被拒绝的请求返回用户友好的错误页面,而不是直接丢弃连接。
乐观 DNS
optimistic-dns = true
启用后,Chute 立即返回缓存的 DNS 结果,同时在后台刷新记录。这减少了连接延迟,但可能返回过时的 DNS 记录。
允许 Wi-Fi 访问
allow-wifi-access = true
在蜂窝网络/按流量计费的网络环境中启用时,Chute 将继续通过 Wi-Fi 连接运行。此选项为 macOS 专用。
托管配置
Chute 通过配置文件顶部的 #!MANAGED-CONFIG 头支持远程托管配置:
#!MANAGED-CONFIG https://example.com/config.conf interval=86400 strict=false
| 参数 | 必填 | 默认值 | 描述 |
|---|---|---|---|
<url> |
是 | — | 获取配置的 URL |
interval |
否 | 86400 (24h) | 更新间隔(秒) |
strict |
否 | false | 为 true 时,托管配置不能被本地覆盖 |
Chute 将定期从指定 URL 重新获取配置并应用。对严格托管配置的本地编辑不会被持久化。
副本 / 流量录制
[Replica] 部分控制流量录制行为和过滤:
[Replica]
hide-apple-request = true
hide-udp = true
hide-crashlytics-request = true
use-keyword-filter = false
keyword-filter = example
| 键 | 类型 | 默认值 | 描述 |
|---|---|---|---|
hide-apple-request |
Boolean | false | 在流量日志中隐藏 Apple 服务请求 |
hide-udp |
Boolean | false | 在流量日志中隐藏 UDP 流量 |
hide-crashlytics-request |
Boolean | false | 在流量日志中隐藏 Crashlytics 请求 |
use-keyword-filter |
Boolean | false | 启用基于关键词的流量过滤 |
keyword-filter |
String | — | 逗号分隔的关键词,用于过滤流量记录 |
[General]中的replica键(replica = true)启用流量录制。使用[Replica]部分来过滤记录的内容。
HTTP 控制 API 和 Web UI
[General]
external-http-controller = 127.0.0.1:9090
external-http-secret = your-secret-token
external-http-ui = true
external-http-cors = false
Chute 提供内嵌的 HTTP 控制 API 和基于 Web 的管理 UI,类似于 Clash 和 Surge 面板。API 通过 REST 端点暴露内核状态、流量、连接、DNS、策略控制和配置管理。
external-http-controller(默认:禁用)
external-http-controller = 127.0.0.1:9090
HTTP 控制服务器的地址和端口。使用 127.0.0.1 进行仅本地访问。绑定到 0.0.0.0 或非回环地址则启用远程访问,必须设置非空的 external-http-secret。
external-http-secret(默认:空)
external-http-secret = your-secret-token
用于 API 鉴权的 Bearer 令牌。请求必须包含请求头 Authorization: Bearer <secret>。当控制器绑定到非回环地址或需要远程访问时,此参数为必填项。
external-http-ui(默认:true)
external-http-ui = true
启用后,Chute 在控制器地址提供内嵌的 Web UI。Web UI 提供概览仪表板、连接管理、DNS 检查、流量监控、策略控制和配置编辑。设置为 false 则仅启用 API 而禁用 UI。
external-http-cors(默认:false)
external-http-cors = true
在 API 响应中启用 CORS(跨域资源共享)头。当 Web UI 或第三方工具需要从不同源访问 API 时非常有用。
API 端点:
| 方法 | 端点 | 描述 |
|---|---|---|
GET |
/api/status |
运行时状态、端口、运行时长 |
GET |
/api/traffic |
全局和按策略的流量计数器 |
GET |
/api/connections |
当前活跃连接 |
DELETE |
/api/connections/:id |
关闭一个连接 |
GET |
/api/connections/history |
历史连接记录 |
GET |
/api/dns |
DNS 缓存记录 |
DELETE |
/api/dns/cache |
清空 DNS 缓存 |
GET |
/api/config |
当前配置 |
PUT |
/api/config |
重新加载配置 |
GET |
/api/policies |
策略组及当前选择 |
PUT |
/api/policies/:group |
更改策略组选择 |
PUT |
/api/mode |
设置出站模式 |
GET |
/api/features |
功能开关状态 |
PUT |
/api/features/mitm |
切换 MITM |
PUT |
/api/features/record-traffic |
切换流量录制 |
注意:此功能默认禁用。API 使用 JSON 响应,成功时格式为
{"ok": true, "data": {...}},错误时格式为{"ok": false, "error": {"code": "...", "message": "..."}}。