Skip to content

配置示例 ​

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 的别名
        • 默认值:无(不匹配)

注意事项 ​

  1. 如果不设置路由或所有路由器的规则都不匹配,会使用AmyOuts中的第一个出口配置
  2. 所有规则都是"与"的关系,即必须同时满足才会匹配
  3. 支持在规则前加 "!" 表示取反匹配,如: !Network
  4. 规则匹配按照配置顺序从上到下进行
  5. OutTags 多标签时按原子轮转做负载均衡,自动跳过被探测关闭的出站
  6. DPort 端口范围同时支持 : 和 - 分隔,如 1024:2048 或 1024-2048
  7. InChain 有2种用法:(1) 同时配置了 InChan 和 OutTags,链式入口处理完成后直接使用 OutTags 作为出口;(2) 配置了 InChan 但没有配置 OutTags,链式入口处理完成之后重新走一遍路由规则,重新走一遍路由后,入口的 Tag 为最后一个有效链式入口的 Tag