github.com/sagernet/sing-box@v1.9.0-rc.20/docs/configuration/route/rule.zh.md (about)

     1  !!! quote "sing-box 1.8.0 中的更改"
     2  
     3      :material-plus: [rule_set](#rule_set)  
     4      :material-plus: [rule_set_ipcidr_match_source](#rule_set_ipcidr_match_source)  
     5      :material-plus: [source_ip_is_private](#source_ip_is_private)  
     6      :material-plus: [ip_is_private](#ip_is_private)  
     7      :material-delete-clock: [source_geoip](#source_geoip)  
     8      :material-delete-clock: [geoip](#geoip)  
     9      :material-delete-clock: [geosite](#geosite)
    10  
    11  ### 结构
    12  
    13  ```json
    14  {
    15    "route": {
    16      "rules": [
    17        {
    18          "inbound": [
    19            "mixed-in"
    20          ],
    21          "ip_version": 6,
    22          "network": [
    23            "tcp"
    24          ],
    25          "auth_user": [
    26            "usera",
    27            "userb"
    28          ],
    29          "protocol": [
    30            "tls",
    31            "http",
    32            "quic"
    33          ],
    34          "domain": [
    35            "test.com"
    36          ],
    37          "domain_suffix": [
    38            ".cn"
    39          ],
    40          "domain_keyword": [
    41            "test"
    42          ],
    43          "domain_regex": [
    44            "^stun\\..+"
    45          ],
    46          "geosite": [
    47            "cn"
    48          ],
    49          "source_geoip": [
    50            "private"
    51          ],
    52          "geoip": [
    53            "cn"
    54          ],
    55          "source_ip_cidr": [
    56            "10.0.0.0/24"
    57          ],
    58          "source_ip_is_private": false,
    59          "ip_cidr": [
    60            "10.0.0.0/24"
    61          ],
    62          "ip_is_private": false,
    63          "source_port": [
    64            12345
    65          ],
    66          "source_port_range": [
    67            "1000:2000",
    68            ":3000",
    69            "4000:"
    70          ],
    71          "port": [
    72            80,
    73            443
    74          ],
    75          "port_range": [
    76            "1000:2000",
    77            ":3000",
    78            "4000:"
    79          ],
    80          "process_name": [
    81            "curl"
    82          ],
    83          "process_path": [
    84            "/usr/bin/curl"
    85          ],
    86          "package_name": [
    87            "com.termux"
    88          ],
    89          "user": [
    90            "sekai"
    91          ],
    92          "user_id": [
    93            1000
    94          ],
    95          "clash_mode": "direct",
    96          "wifi_ssid": [
    97            "My WIFI"
    98          ],
    99          "wifi_bssid": [
   100            "00:00:00:00:00:00"
   101          ],
   102          "rule_set": [
   103            "geoip-cn",
   104            "geosite-cn"
   105          ],
   106          "rule_set_ipcidr_match_source": false,
   107          "invert": false,
   108          "outbound": "direct"
   109        },
   110        {
   111          "type": "logical",
   112          "mode": "and",
   113          "rules": [],
   114          "invert": false,
   115          "outbound": "direct"
   116        }
   117      ]
   118    }
   119  }
   120  
   121  ```
   122  
   123  !!! note ""
   124  
   125      当内容只有一项时,可以忽略 JSON 数组 [] 标签。
   126  
   127  ### Default Fields
   128  
   129  !!! note ""
   130  
   131      默认规则使用以下匹配逻辑:  
   132      (`domain` || `domain_suffix` || `domain_keyword` || `domain_regex` || `geosite` || `geoip` || `ip_cidr` || `ip_is_private`) &&  
   133      (`port` || `port_range`) &&  
   134      (`source_geoip` || `source_ip_cidr` || `source_ip_is_private`) &&  
   135      (`source_port` || `source_port_range`) &&  
   136      `other fields`
   137  
   138      另外,引用的规则集可视为被合并,而不是作为一个单独的规则子项。
   139  
   140  #### inbound
   141  
   142  [入站](/zh/configuration/inbound/) 标签。
   143  
   144  #### ip_version
   145  
   146  4 或 6。
   147  
   148  默认不限制。
   149  
   150  #### auth_user
   151  
   152  认证用户名,参阅入站设置。
   153  
   154  #### protocol
   155  
   156  探测到的协议, 参阅 [协议探测](/zh/configuration/route/sniff/)。
   157  
   158  #### network
   159  
   160  `tcp` 或 `udp`。
   161  
   162  #### domain
   163  
   164  匹配完整域名。
   165  
   166  #### domain_suffix
   167  
   168  匹配域名后缀。
   169  
   170  #### domain_keyword
   171  
   172  匹配域名关键字。
   173  
   174  #### domain_regex
   175  
   176  匹配域名正则表达式。
   177  
   178  #### geosite
   179  
   180  !!! failure "已在 sing-box 1.8.0 废弃"
   181  
   182      Geosite 已废弃且可能在不久的将来移除,参阅 [迁移指南](/zh/migration/#geosite)。
   183  
   184  匹配 Geosite。
   185  
   186  #### source_geoip
   187  
   188  !!! failure "已在 sing-box 1.8.0 废弃"
   189  
   190      GeoIP 已废弃且可能在不久的将来移除,参阅 [迁移指南](/zh/migration/#geoip)。
   191  
   192  匹配源 GeoIP。
   193  
   194  #### geoip
   195  
   196  !!! failure "已在 sing-box 1.8.0 废弃"
   197  
   198      GeoIP 已废弃且可能在不久的将来移除,参阅 [迁移指南](/zh/migration/#geoip)。
   199  
   200  匹配 GeoIP。
   201  
   202  #### source_ip_cidr
   203  
   204  匹配源 IP CIDR。
   205  
   206  #### source_ip_is_private
   207  
   208  !!! question "自 sing-box 1.8.0 起"
   209  
   210  匹配非公开源 IP。
   211  
   212  #### ip_cidr
   213  
   214  匹配 IP CIDR。
   215  
   216  #### ip_is_private
   217  
   218  !!! question "自 sing-box 1.8.0 起"
   219  
   220  匹配非公开 IP。
   221  
   222  #### source_port
   223  
   224  匹配源端口。
   225  
   226  #### source_port_range
   227  
   228  匹配源端口范围。
   229  
   230  #### port
   231  
   232  匹配端口。
   233  
   234  #### port_range
   235  
   236  匹配端口范围。
   237  
   238  #### process_name
   239  
   240  !!! quote ""
   241  
   242      仅支持 Linux、Windows 和 macOS。
   243  
   244  匹配进程名称。
   245  
   246  #### process_path
   247  
   248  !!! quote ""
   249  
   250      仅支持 Linux、Windows 和 macOS.
   251  
   252  匹配进程路径。
   253  
   254  #### package_name
   255  
   256  匹配 Android 应用包名。
   257  
   258  #### user
   259  
   260  !!! quote ""
   261  
   262      仅支持 Linux.
   263  
   264  匹配用户名。
   265  
   266  #### user_id
   267  
   268  !!! quote ""
   269  
   270      仅支持 Linux.
   271  
   272  匹配用户 ID。
   273  
   274  #### clash_mode
   275  
   276  匹配 Clash 模式。
   277  
   278  #### wifi_ssid
   279  
   280  !!! quote ""
   281  
   282      仅在 Android 与 Apple 平台图形客户端中支持。
   283  
   284  匹配 WiFi SSID。
   285  
   286  #### wifi_bssid
   287  
   288  !!! quote ""
   289  
   290      仅在 Android 与 Apple 平台图形客户端中支持。
   291  
   292  匹配 WiFi BSSID。
   293  
   294  #### rule_set
   295  
   296  !!! question "自 sing-box 1.8.0 起"
   297  
   298  匹配[规则集](/zh/configuration/route/#rule_set)。
   299  
   300  #### rule_set_ipcidr_match_source
   301  
   302  !!! question "自 sing-box 1.8.0 起"
   303  
   304  使规则集中的 `ipcidr` 规则匹配源 IP。
   305  
   306  #### invert
   307  
   308  反选匹配结果。
   309  
   310  #### outbound
   311  
   312  ==必填==
   313  
   314  目标出站的标签。
   315  
   316  ### 逻辑字段
   317  
   318  #### type
   319  
   320  `logical`
   321  
   322  #### mode
   323  
   324  ==必填==
   325  
   326  `and` 或 `or`
   327  
   328  #### rules
   329  
   330  ==必填==
   331  
   332  包括的规则。