github.com/inazumav/sing-box@v0.0.0-20230926072359-ab51429a14f1/docs/configuration/dns/rule.zh.md (about)

     1  ### 结构
     2  
     3  ```json
     4  {
     5    "dns": {
     6      "rules": [
     7        {
     8          "inbound": [
     9            "mixed-in"
    10          ],
    11          "ip_version": 6,
    12          "query_type": [
    13            "A",
    14            "HTTPS",
    15            32768
    16          ],
    17          "network": "tcp",
    18          "auth_user": [
    19            "usera",
    20            "userb"
    21          ],
    22          "protocol": [
    23            "tls",
    24            "http",
    25            "quic"
    26          ],
    27          "domain": [
    28            "test.com"
    29          ],
    30          "domain_suffix": [
    31            ".cn"
    32          ],
    33          "domain_keyword": [
    34            "test"
    35          ],
    36          "domain_regex": [
    37            "^stun\\..+"
    38          ],
    39          "geosite": [
    40            "cn"
    41          ],
    42          "source_geoip": [
    43            "private"
    44          ],
    45          "source_ip_cidr": [
    46            "10.0.0.0/24"
    47          ],
    48          "source_port": [
    49            12345
    50          ],
    51          "source_port_range": [
    52            "1000:2000",
    53            ":3000",
    54            "4000:"
    55          ],
    56          "port": [
    57            80,
    58            443
    59          ],
    60          "port_range": [
    61            "1000:2000",
    62            ":3000",
    63            "4000:"
    64          ],
    65          "process_name": [
    66            "curl"
    67          ],
    68          "process_path": [
    69            "/usr/bin/curl"
    70          ],
    71          "package_name": [
    72            "com.termux"
    73          ],
    74          "user": [
    75            "sekai"
    76          ],
    77          "user_id": [
    78            1000
    79          ],
    80          "clash_mode": "direct",
    81          "invert": false,
    82          "outbound": [
    83            "direct"
    84          ],
    85          "server": "local",
    86          "disable_cache": false
    87        },
    88        {
    89          "type": "logical",
    90          "mode": "and",
    91          "rules": [],
    92          "server": "local",
    93          "disable_cache": false
    94        }
    95      ]
    96    }
    97  }
    98  
    99  ```
   100  
   101  !!! note ""
   102  
   103      当内容只有一项时,可以忽略 JSON 数组 [] 标签
   104  
   105  ### 默认字段
   106  
   107  !!! note ""
   108  
   109      默认规则使用以下匹配逻辑:  
   110      (`domain` || `domain_suffix` || `domain_keyword` || `domain_regex` || `geosite`) &&  
   111      (`port` || `port_range`) &&  
   112      (`source_geoip` || `source_ip_cidr`) &&  
   113      (`source_port` || `source_port_range`) &&  
   114      `other fields`
   115  
   116  #### inbound
   117  
   118  [入站](/zh/configuration/inbound) 标签.
   119  
   120  #### ip_version
   121  
   122  4 (A DNS 查询) 或 6 (AAAA DNS 查询)。
   123  
   124  默认不限制。
   125  
   126  #### query_type
   127  
   128  DNS 查询类型。值可以为整数或者类型名称字符串。
   129  
   130  #### network
   131  
   132  `tcp` 或 `udp`。
   133  
   134  #### auth_user
   135  
   136  认证用户名,参阅入站设置。
   137  
   138  #### protocol
   139  
   140  探测到的协议, 参阅 [协议探测](/zh/configuration/route/sniff/)。
   141  
   142  #### domain
   143  
   144  匹配完整域名。
   145  
   146  #### domain_suffix
   147  
   148  匹配域名后缀。
   149  
   150  #### domain_keyword
   151  
   152  匹配域名关键字。
   153  
   154  #### domain_regex
   155  
   156  匹配域名正则表达式。
   157  
   158  #### geosite
   159  
   160  匹配 GeoSite。
   161  
   162  #### source_geoip
   163  
   164  匹配源 GeoIP。
   165  
   166  #### source_ip_cidr
   167  
   168  匹配源 IP CIDR。
   169  
   170  #### source_port
   171  
   172  匹配源端口。
   173  
   174  #### source_port_range
   175  
   176  匹配源端口范围。
   177  
   178  #### port
   179  
   180  匹配端口。
   181  
   182  #### port_range
   183  
   184  匹配端口范围。
   185  
   186  #### process_name
   187  
   188  !!! error ""
   189  
   190      仅支持 Linux、Windows 和 macOS.
   191  
   192  匹配进程名称。
   193  
   194  #### process_path
   195  
   196  !!! error ""
   197  
   198      仅支持 Linux、Windows 和 macOS.
   199  
   200  匹配进程路径。
   201  
   202  #### package_name
   203  
   204  匹配 Android 应用包名。
   205  
   206  #### user
   207  
   208  !!! error ""
   209  
   210      仅支持 Linux。
   211  
   212  匹配用户名。
   213  
   214  #### user_id
   215  
   216  !!! error ""
   217  
   218      仅支持 Linux。
   219  
   220  匹配用户 ID。
   221  
   222  #### clash_mode
   223  
   224  匹配 Clash 模式。
   225  
   226  #### invert
   227  
   228  反选匹配结果。
   229  
   230  #### outbound
   231  
   232  匹配出站。
   233  
   234  `any` 可作为值用于匹配任意出站。
   235  
   236  #### server
   237  
   238  ==必填==
   239  
   240  目标 DNS 服务器的标签。
   241  
   242  #### disable_cache
   243  
   244  在此查询中禁用缓存。
   245  
   246  #### rewrite_ttl
   247  
   248  重写 DNS 回应中的 TTL。
   249  
   250  ### 逻辑字段
   251  
   252  #### type
   253  
   254  `logical`
   255  
   256  #### mode
   257  
   258  `and` 或 `or`
   259  
   260  #### rules
   261  
   262  包括的默认规则。