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 包括的默认规则。