高级匹配规则
Chute 支持多种高级匹配规则,用于精细化的流量控制。
注意:SUBNET 依据设备当前所在的网络匹配,HOSTNAME-TYPE 依据请求的地址族或主机名匹配。Apple TV 没有网络身份,SUBNET 在其上永不命中。IN-TYPE 与 IN-USER 同样匹配实际流量:IN-TYPE 给出连接所经的入站(
HTTP、SOCKS5或TUN),IN-USER 给出该入站依据http-auth校验通过的用户名——没有配置凭据时无从校验,IN-USER 便不会命中任何流量。IN-NAME 只为让 Surge 配置能加载而接受:Chute 只跑一个未命名的 HTTP 监听器和一个未命名的 SOCKS5 监听器,没有可匹配的入站名称,因此该规则永不命中;请改用 IN-TYPE 或 IN-PORT。
SUBNET
基于网络子网属性匹配。使用 KEY:VALUE 语法。
SUBNET,TYPE:WIFI,Proxy
SUBNET,SSID:MyWiFi,DIRECT
SUBNET,BSSID:00:11:22:33:44:55,Proxy
SUBNET,ROUTER:192.168.1.1,DIRECT
支持的键:
| 键 | 描述 |
|---|---|
TYPE |
网络类型(如 WIFI、CELLULAR、WIRED) |
SSID |
Wi-Fi SSID 名称 |
BSSID |
Wi-Fi 接入点 BSSID(MAC 地址) |
ROUTER |
路由器/网关 IP 地址 |
MCCMNC |
运营商代码——为兼容 Surge 配置而接受,记录一条提示,永不命中 |
HOSTNAME-TYPE
HOSTNAME-TYPE,AAAA,Proxy
按请求的 DNS 记录类型匹配,即客户端实际连接的地址族:目标为 IPv4 地址(解析所得或直接书写的字面量)时为 A,IPv6 为 AAAA。在 HTTP 与 SOCKS5 代理入站上,尚未解析的域名没有记录类型,不会命中;在 TUN 入站上,记录类型取自数据包目标地址的地址族(包括虚拟 IP),所以域名会话在第一轮就能命中 A 或 AAAA。可用于将 IPv4 和 IPv6 流量路由到不同策略。DOMAIN 匹配以主机名(而非 IP 地址)发起的请求,SIMPLE 匹配主机名是不含点的单个标签(如 printer)的请求;这两者都不需要已解析的地址。
可用值:A 或 IPv4、AAAA 或 IPv6、DOMAIN、SIMPLE。其他值会报配置错误。
IN-TYPE
IN-TYPE,SOCKS5,Proxy
基于入站连接类型匹配。支持的值:
| 值 | 描述 |
|---|---|
HTTP |
HTTP 代理入站 |
SOCKS5 |
SOCKS5 代理入站 |
TUN |
TUN/VIF 接口入站 |
多个取值用 / 分隔,所以 IN-TYPE,HTTP/SOCKS5,Proxy 会同时接管两个代理入站,而把 TUN 流量留给后面的规则。取值比较不区分大小写。
IN-USER
IN-USER,user1,Proxy
基于入站认证用户名匹配。当 Chute 配置了多个具有不同凭据的入站代理时很有用。
IN-NAME
IN-NAME,my-proxy,Proxy
基于命名的入站代理配置匹配。当运行多个具有不同名称的代理服务器实例时很有用。
本页为英文版的翻译。如内容有出入,以英文版为准。