|
6 | 6 | "remarks": "Serverless", |
7 | 7 |
|
8 | 8 | "version": { |
9 | | - "min": "25.9.5" |
| 9 | + "min": "25.12.8" |
10 | 10 | }, |
11 | 11 |
|
12 | 12 | "log": { |
|
22 | 22 | } |
23 | 23 | }, |
24 | 24 |
|
| 25 | + "fakedns": [ |
| 26 | + { |
| 27 | + "ipPool": "198.19.0.0/16", |
| 28 | + "poolSize": 65535 |
| 29 | + }, |
| 30 | + { |
| 31 | + "ipPool": "fc00:2000::/19", |
| 32 | + "poolSize": 65535 |
| 33 | + } |
| 34 | + ], |
| 35 | + |
25 | 36 | "dns":{ |
26 | 37 | "hosts": { |
27 | 38 | "geosite:category-ads-all": "#3", |
28 | | - "one.one.one.one": ["1.1.1.1", "1.0.0.1", "2606:4700:4700::1111", "2606:4700:4700::1001"], |
29 | | - "cloudflare-dns.com": "www.cloudflare.com" |
| 39 | + "cloudflare-dns.com": "challenges.cloudflare.com" |
30 | 40 | }, |
31 | 41 | "servers": [ |
32 | 42 | { |
33 | 43 | "address": "fakedns", |
34 | | - "domains": ["domain:ir", "geosite:private", "geosite:category-ir", "full:www.cloudflare.com"], |
35 | | - "finalQuery": true |
| 44 | + "domains": ["domain:ir", "geosite:private", "geosite:category-ir", "full:challenges.cloudflare.com"] |
36 | 45 | }, |
37 | 46 | { |
38 | 47 | "tag": "no-filter-dns", |
39 | 48 | "address": "https://cloudflare-dns.com/dns-query", |
40 | | - "timeoutMs": 5000, |
| 49 | + "timeoutMs": 10000, |
41 | 50 | "finalQuery": true |
42 | 51 | }, |
43 | 52 | { |
44 | 53 | "address": "localhost", |
45 | | - "domains": ["domain:ir", "geosite:private", "geosite:category-ir", "full:www.cloudflare.com"], |
| 54 | + "domains": ["domain:ir", "geosite:private", "geosite:category-ir", "full:challenges.cloudflare.com"], |
46 | 55 | "finalQuery": true |
47 | 56 | } |
48 | 57 | ], |
49 | 58 | "queryStrategy": "UseSystem", |
50 | | - "useSystemHosts": true |
| 59 | + "useSystemHosts": true, |
| 60 | + "serveStale": true, |
| 61 | + "serveExpiredTTL": 21600 |
51 | 62 | }, |
52 | 63 |
|
53 | 64 | "inbounds": [ |
54 | 65 | { |
55 | 66 | "tag": "dns-in", |
56 | | - "listen": "127.0.0.1", |
| 67 | + // "listen": "127.0.0.1", |
57 | 68 | "port": 10853, |
58 | 69 | "protocol": "tunnel", |
59 | 70 | "settings": { |
60 | | - "address": "one.one.one.one", |
| 71 | + "address": "127.0.0.1", |
61 | 72 | "port": 53, |
62 | 73 | "network": "tcp,udp" |
63 | 74 | }, |
|
69 | 80 | } |
70 | 81 | }, |
71 | 82 | { |
72 | | - "tag": "socks-in", |
73 | | - "listen": "127.0.0.1", |
| 83 | + "tag": "mixed-in", |
| 84 | + // "listen": "127.0.0.1", |
74 | 85 | "port": 10808, |
75 | 86 | "protocol": "mixed", |
76 | 87 | "sniffing": { |
|
97 | 108 | "protocol": "block" |
98 | 109 | }, |
99 | 110 | { |
100 | | - "tag": "direct-out", |
| 111 | + "tag": "tcp-direct-out", |
101 | 112 | "protocol": "direct", |
102 | 113 | "streamSettings": { |
103 | 114 | "sockopt": { |
104 | 115 | "domainStrategy": "ForceIP", |
105 | 116 | "happyEyeballs": { |
106 | | - "tryDelayMs": 100, |
| 117 | + "tryDelayMs": 300, |
107 | 118 | "prioritizeIPv6": true, |
108 | 119 | "interleave": 2, |
109 | | - "maxConcurrentTry": 16 |
| 120 | + "maxConcurrentTry": 20 |
110 | 121 | } |
111 | 122 | } |
112 | 123 | } |
113 | 124 | }, |
| 125 | + { |
| 126 | + "tag": "udp-direct-out", |
| 127 | + "protocol": "direct", |
| 128 | + "settings": { |
| 129 | + "targetStrategy": "ForceIPv6v4" |
| 130 | + } |
| 131 | + }, |
114 | 132 | { |
115 | 133 | "tag": "dns-out", |
116 | 134 | "protocol": "dns", |
117 | | - "settings": {"nonIPQuery": "skip", "network": "tcp", "address": "one.one.one.one", "port": 53}, |
| 135 | + "settings": {"nonIPQuery": "reject", "blockTypes": [0, 65]} |
| 136 | + }, |
| 137 | + { |
| 138 | + "tag": "tls-fragment", |
| 139 | + "protocol": "direct", |
| 140 | + "settings": { |
| 141 | + "fragment": { |
| 142 | + "packets": "tlshello", |
| 143 | + "length": "6", |
| 144 | + "interval": "0", |
| 145 | + "maxSplit": "0" |
| 146 | + } |
| 147 | + }, |
118 | 148 | "streamSettings": { |
119 | 149 | "sockopt": { |
120 | | - "dialerProxy": "full-fragment" |
| 150 | + "dialerProxy": "full-fragment" // or "skip-fragment" (with different parameteres) |
121 | 151 | } |
122 | 152 | } |
123 | 153 | }, |
|
128 | 158 | "fragment": { |
129 | 159 | "packets": "1-1", |
130 | 160 | "length": "130", |
131 | | - "interval": "190", |
| 161 | + "interval": "560", |
132 | 162 | "maxSplit": "4" |
133 | 163 | } |
134 | 164 | }, |
|
145 | 175 | "fragment": { |
146 | 176 | "packets": "2-4", |
147 | 177 | "length": "1", |
148 | | - "interval": "1", |
| 178 | + "interval": "4", |
149 | 179 | "maxSplit": "130" |
150 | 180 | } |
151 | 181 | }, |
|
156 | 186 | "tryDelayMs": 300, |
157 | 187 | "prioritizeIPv6": true, |
158 | 188 | "interleave": 2, |
159 | | - "maxConcurrentTry": 16 |
| 189 | + "maxConcurrentTry": 20 |
160 | 190 | } |
161 | 191 | } |
162 | 192 | } |
|
168 | 198 | "fragment": { |
169 | 199 | "packets": "1-1", |
170 | 200 | "length": "1", |
171 | | - "interval": "1", |
| 201 | + "interval": "4", |
172 | 202 | "maxSplit": "517" |
173 | 203 | } |
174 | 204 | }, |
|
179 | 209 | "tryDelayMs": 300, |
180 | 210 | "prioritizeIPv6": true, |
181 | 211 | "interleave": 2, |
182 | | - "maxConcurrentTry": 16 |
| 212 | + "maxConcurrentTry": 20 |
183 | 213 | } |
184 | 214 | } |
185 | 215 | } |
|
188 | 218 | "tag": "udp-noises", |
189 | 219 | "protocol": "direct", |
190 | 220 | "settings": { |
191 | | - "targetStrategy": "ForceIP", // or "ForceIPv6v4" to prefer IPv6 |
| 221 | + "targetStrategy": "ForceIPv6v4", |
192 | 222 | "noises": [ |
193 | 223 | {"type": "rand", "packet": "1250", "delay": "10", "applyTo": "ipv4"}, {"type": "rand", "packet": "1250", "delay": "10", "applyTo": "ipv4"}, |
194 | 224 | {"type": "rand", "packet": "1250", "delay": "10", "applyTo": "ipv4"}, {"type": "rand", "packet": "1250", "delay": "10", "applyTo": "ipv4"}, |
|
223 | 253 | "domainStrategy": "IPOnDemand", |
224 | 254 | "rules": [ |
225 | 255 | {"outboundTag": "block-out", |
226 | | - "domain": ["geosite:category-ads-all"] |
| 256 | + "port": 0 |
| 257 | + }, |
| 258 | + {"outboundTag": "block-out", |
| 259 | + "domain": ["geosite:category-ads-all"] |
227 | 260 | }, |
228 | 261 | {"outboundTag": "dns-out", |
229 | | - "inboundTag": ["dns-in"] |
| 262 | + "inboundTag": ["dns-in"] |
230 | 263 | }, |
231 | 264 | {"outboundTag": "dns-out", |
232 | | - "inboundTag": ["socks-in"], "port": 53 |
| 265 | + "inboundTag": ["mixed-in"], "port": 53 |
233 | 266 | }, |
234 | | - {"outboundTag": "full-fragment", // or "skip-fragment" |
235 | | - "inboundTag": ["no-filter-dns"] |
| 267 | + {"outboundTag": "full-fragment", // or "skip-fragment" or "tls-fragment" |
| 268 | + "inboundTag": ["no-filter-dns"] |
236 | 269 | }, |
237 | 270 | {"outboundTag": "block-out", |
238 | | - "ip": ["0.0.0.0", "::"] |
| 271 | + "ip": ["10.10.34.0/24", "2001:4188:2:600::/64", "0.0.0.0", "::", "198.19.0.0/16", "fc00:2000::/19"] |
239 | 272 | }, |
240 | | - {"outboundTag": "direct-out", |
241 | | - "domain": ["domain:ir", "geosite:private", "geosite:category-ir"] |
| 273 | + {"outboundTag": "tcp-direct-out", |
| 274 | + "network": "tcp", "domain": ["domain:ir", "geosite:private", "geosite:category-ir"], "ip": ["0.0.0.0/0", "::/0"] |
242 | 275 | }, |
243 | | - {"outboundTag": "direct-out", |
244 | | - "ip": ["geoip:private", "geoip:ir"] |
| 276 | + {"outboundTag": "udp-direct-out", |
| 277 | + "network": "udp", "domain": ["domain:ir", "geosite:private", "geosite:category-ir"], "ip": ["0.0.0.0/0", "::/0"] |
245 | 278 | }, |
246 | | - {"outboundTag": "udp-noises", |
247 | | - "network": "udp", "protocol": ["quic"] |
| 279 | + {"outboundTag": "tcp-direct-out", |
| 280 | + "network": "tcp", "ip": ["geoip:private", "geoip:ir"] |
| 281 | + }, |
| 282 | + {"outboundTag": "udp-direct-out", |
| 283 | + "network": "udp", "ip": ["geoip:private", "geoip:ir"] |
248 | 284 | }, |
249 | 285 | {"outboundTag": "udp-noises", |
250 | | - "network": "udp", "port": "443,2053,2083,2087,2096,8443" |
| 286 | + "network": "udp", "protocol": ["quic"], "ip": ["0.0.0.0/0", "::/0"] |
251 | 287 | }, |
252 | | - {"outboundTag": "direct-out", |
253 | | - "network": "udp" |
| 288 | + {"outboundTag": "udp-noises", |
| 289 | + "network": "udp", "port": "443", "ip": ["0.0.0.0/0", "::/0"] |
254 | 290 | }, |
255 | | - {"outboundTag": "full-fragment", // or "skip-fragment" |
256 | | - "network": "tcp", "protocol": ["tls"] |
| 291 | + {"outboundTag": "udp-direct-out", |
| 292 | + "network": "udp", "ip": ["0.0.0.0/0", "::/0"] |
257 | 293 | }, |
258 | | - {"outboundTag": "full-fragment", // or "skip-fragment" |
259 | | - "network": "tcp", "port": "443,2053,2083,2087,2096,8443" |
| 294 | + {"outboundTag": "full-fragment", // or "skip-fragment" or "tls-fragment" |
| 295 | + "network": "tcp", "protocol": ["tls"], "ip": ["0.0.0.0/0", "::/0"] |
260 | 296 | }, |
261 | | - {"outboundTag": "full-fragment", |
262 | | - "network": "tcp", "protocol": ["http"] |
| 297 | + {"outboundTag": "full-fragment", // or "skip-fragment" or "tls-fragment" |
| 298 | + "network": "tcp", "port": "443", "ip": ["0.0.0.0/0", "::/0"] |
263 | 299 | }, |
264 | 300 | {"outboundTag": "full-fragment", |
265 | | - "network": "tcp", "port": "80,8080,8880,2052,2082,2086,2095" |
| 301 | + "network": "tcp", "ip": ["0.0.0.0/0", "::/0"] |
266 | 302 | }, |
267 | | - {"outboundTag": "full-fragment", |
268 | | - "network": "tcp" |
| 303 | + {"outboundTag": "block-out", |
| 304 | + "port": "0-65535" |
269 | 305 | } |
270 | 306 | ] |
271 | 307 | } |
|
0 commit comments