规则条件参考¶
策略规则和 DNS 规则支持多种匹配条件。本文档列出所有可用的条件及其说明。
域名类条件¶
| 条件 | sing-box 字段 | 说明 | 示例 |
|---|---|---|---|
| 域名 | domain |
完整域名匹配 | www.google.com |
| 域名后缀 | domain_suffix |
匹配域名后缀 | .google.com |
| 域名关键词 | domain_keyword |
域名包含关键词 | google |
| 域名正则 | domain_regex |
正则表达式匹配域名 | ^.*\.google\..*$ |
域名匹配规则说明
domain— 精确匹配,www.google.com只匹配这个完整域名domain_suffix— 后缀匹配,.google.com匹配www.google.com、mail.google.com等domain_keyword— 包含匹配,google匹配所有域名中含google的domain_regex— 正则匹配,最灵活但性能最低
网络类条件¶
| 条件 | sing-box 字段 | 说明 | 示例 |
|---|---|---|---|
| 端口 | port |
目标端口 | 443 |
| 端口范围 | port_range |
目标端口范围 | 80-443 |
| 源端口 | source_port |
来源端口 | 8080 |
| 源端口范围 | source_port_range |
来源端口范围 | 1000-2000 |
| 网络类型 | network |
TCP 或 UDP | tcp |
| 查询类型 | query_type |
DNS 查询类型(仅 DNS 规则) | A, AAAA |
IP 类条件¶
| 条件 | sing-box 字段 | 说明 | 示例 |
|---|---|---|---|
| IP CIDR | ip_cidr |
目标 IP 段 | 10.0.0.0/8 |
| 源 IP CIDR | source_ip_cidr |
来源 IP 段 | 192.168.0.0/16 |
IP CIDR 语法
10.0.0.0/8— 匹配所有10.x.x.x地址192.168.0.0/16— 匹配所有192.168.x.x地址172.16.0.0/12— 匹配172.16.x.x到172.31.x.x- 单个 IP 可以用
/32,如1.2.3.4/32
进程类条件¶
| 条件 | sing-box 字段 | 说明 | 示例 |
|---|---|---|---|
| 进程名 | process_name |
发起连接的进程名 | chrome.exe |
| 进程路径 | process_path |
进程完整路径 | C:\Program Files\...\chrome.exe |
| 进程路径正则 | process_path_regex |
正则匹配进程路径 | .*\\chrome\.exe |
| 包名 | package_name |
应用包名(Android) | com.android.chrome |
进程匹配限制
- 进程名匹配仅支持 TUN 模式,系统代理模式下不可用
- Windows 下进程名不区分大小写
- 进程路径正则使用 Go 的 RE2 语法
网络环境条件¶
| 条件 | sing-box 字段 | 说明 |
|---|---|---|
| Wi-Fi SSID | wifi_ssid |
连接的 Wi-Fi 名称 |
| Wi-Fi BSSID | wifi_bssid |
连接的 Wi-Fi 接入点 MAC |
| 网络计费 | network_is_expensive |
是否为计费网络(移动数据) |
| 网络受限 | network_is_constrained |
是否为受限网络 |
| 默认接口地址 | default_interface_address |
默认网络接口 IP 地址 |
逻辑组合¶
| 条件 | 说明 |
|---|---|
and |
所有子条件同时满足 |
or |
任一子条件满足 |
示例:匹配 Google 域名 且 来自 Chrome 进程:
{
"logical": "and",
"rules": [
{ "domain_suffix": [".google.com"] },
{ "process_name": ["chrome.exe"] }
]
}
更多逻辑组合示例
OR 组合 — 匹配 Google 或 YouTube 域名:
{
"logical": "or",
"rules": [
{ "domain_suffix": [".google.com"] },
{ "domain_suffix": [".youtube.com"] }
]
}
嵌套组合 — Google 域名且来自 Chrome,或者任何 Telegram 流量:
其他¶
| 条件 | sing-box 字段 | 说明 |
|---|---|---|
| 规则集 | rule_set |
引用规则集(GeoIP / GeoSite / 自定义) |
| 反转 | invert |
反转匹配结果,匹配到的不命中 |
反转条件的用法
invert 适用于排除场景。例如,匹配"非 Chrome 进程"的所有流量:
出站方式¶
规则命中后可选择的出站方式:
| 出站 | 说明 |
|---|---|
| 直连 | 不经过代理,直接连接 |
| 代理 | 通过代理节点连接 |
| 拦截 | 阻止连接 |