Appearance
配置示例
json
[{
"Disable": false,
"OutTags": ["direct"],
"InChain": ["socks5", "anet"],
"Rules": {
"IPVersion": [4, 6],
"Network": ["tcp", "udp"],
"Inbound": ["http"],
"DIP": [
"127.0.0.1/8",
"8.8.8.8/32",
"ext-ip:geoip.dat:cn"
],
"DPort": [
"53",
"5353",
"1024:2048"
],
"Domain": [
"example.com",
"full:www.google.com",
"regexp:^.*\\.microsoft\\.com$",
"domain:apple.com",
"ext-site:geosite.dat:cn"
],
"DNSQType": ["A", "AAAA", "PTR"],
"Protocol": ["http", "tls", "quic"]
}
}]参数说明
Disable: 是否禁用此路由
- 类型:布尔值
- 说明:是否禁用此路由,禁用后将跳过本路由器
- 默认值:
false
OutTags: 出口标签
- 类型:字符串数组
- 说明:指定此路由使用的出口代理标签,支持多个标签负载均衡(原子轮转,自动跳过被探测关闭的出站)
InChain: 入站链
- 类型:字符串数组
- 说明:入站 tag 列表,按顺序逐层剥皮(如外层 socks5 → 内层 http)。支持链式入口的
ProxyType见 入站配置;不可链、不存在、自引用、重复的段会被自动剔除并记录警告 - 默认值:无
Rules: 路由规则
- 类型:对象
- 说明:定义具体的匹配规则
- 子参数:
IPVersion: IP 版本匹配
- 类型:整数数组
- 说明:匹配的 IP 协议版本
- 可选值:[4, 6]
- 默认值:无(不匹配)
Network: 网络类型匹配
- 类型:字符串数组
- 说明:匹配的网络协议类型
- 可选值:["tcp", "udp"]
- 默认值:无(不匹配)
Inbound: 来源入站匹配
- 类型:字符串数组
- 说明:按来源入站的
Tag匹配 - 默认值:无(不约束来源)
DIP: 目标 IP 匹配
- 类型:字符串数组
- 说明:匹配的目标 IP 或 CIDR
- 格式:
- CIDR 格式:如 "192.168.1.0/24"
- GeoIP 数据:如 "ext-ip:geoip.dat:cn"
- 默认值:无(不匹配)
DPort: 目标端口匹配
- 类型:字符串数组
- 说明:匹配的目标端口
- 格式:
- 单个端口:如 "80"
- 端口范围:如 "1024:2048"
- 默认值:无(不匹配)
Domain: 域名匹配
- 类型:字符串数组
- 说明:匹配的域名规则
- 格式:
- 关键词:直接填写
- 完整匹配:使用 "full:" 前缀
- 正则匹配:使用 "regexp:" 前缀
- 子域名匹配:使用 "domain:" 或 "root:" 或 "rootdomain:" 前缀
- GeoSite 数据:使用 "ext-site:" 前缀
- 默认值:无(不匹配)
DNSQType: DNS 查询类型匹配
- 类型:字符串数组
- 说明:匹配的 DNS 查询类型
- 可选值:["A", "NS", "MD", "MF", "CNAME", "SOA", "MB", "MG", "MR", "NULL", "WKS", "PTR", "HINFO", "MINFO", "MX", "TXT", "AAAA", "UINFO", "UID", "GID", "ANY"]
- 默认值:无(不匹配)
Protocol: 协议类型匹配
- 类型:字符串数组
- 说明:匹配的协议类型
- 可选值:["http", "tls", "quic", "websocket", "httptunnel", "ssl", "bt", "utp", "dns"],其中
ssl为tls的别名 - 默认值:无(不匹配)
注意事项
- 如果不设置路由或所有路由器的规则都不匹配,会使用AmyOuts中的第一个出口配置
- 所有规则都是"与"的关系,即必须同时满足才会匹配
- 支持在规则前加 "!" 表示取反匹配,如: !Network
- 规则匹配按照配置顺序从上到下进行
OutTags多标签时按原子轮转做负载均衡,自动跳过被探测关闭的出站DPort端口范围同时支持:和-分隔,如1024:2048或1024-2048InChain有2种用法:(1) 同时配置了InChan和OutTags,链式入口处理完成后直接使用OutTags作为出口;(2) 配置了InChan但没有配置OutTags,链式入口处理完成之后重新走一遍路由规则,重新走一遍路由后,入口的Tag为最后一个有效链式入口的Tag