Skip to content

Commit c00fdda

Browse files
committed
优化 DNS 配置
1 parent 6ffd7af commit c00fdda

9 files changed

+232
-40
lines changed

_posts/2024-08-21-share-android-mihomo-ruleset.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ dns:
7171
enable: true
7272
prefer-h3: true
7373
ipv6: true
74+
enhanced-mode: fake-ip
7475
fake-ip-range: 28.0.0.1/8
7576
fake-ip-range6: fc00::/16
76-
enhanced-mode: fake-ip
7777
fake-ip-filter: ['rule-set:trackerslist,private,cn']
7878
nameserver:
7979
- https://dns.alidns.com/dns-query
@@ -301,7 +301,7 @@ proxy-groups:
301301
{: .prompt-tip }
302302

303303
注:
304-
- 1. 本 `dns` 配置中,未知域名由国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-ruleset/)》),且配置 `ecs` 提高了兼容性
304+
- 1. 本 `dns` 配置中,仅国外域名 `proxy` 走 `fake-ip`,直连域名(含国内域名 `cn`)走国内 DNS 解析,未知域名走国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-ruleset/)》),且配置 `ecs` 提高了兼容性
305305
- 2. 推荐将 `ecs` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`
306306

307307
```yaml
@@ -311,16 +311,15 @@ hosts:
311311
dns.google: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
312312
dns11.quad9.net: [9.9.9.11, 149.112.112.11, 2620:fe::11, 2620:fe::fe:11]
313313
miwifi.com: [192.168.31.1, 127.0.0.1]
314-
services.googleapis.cn: [services.googleapis.com]
315314
316315
dns:
317316
enable: true
318317
ipv6: true
319-
listen: 0.0.0.0:53
318+
enhanced-mode: fake-ip
320319
fake-ip-range: 28.0.0.1/8
321320
fake-ip-range6: fc00::/16
322-
enhanced-mode: fake-ip
323-
fake-ip-filter: ['rule-set:trackerslist,private,cn']
321+
fake-ip-filter-mode: whitelist
322+
fake-ip-filter: ['rule-set:proxy']
324323
respect-rules: true
325324
nameserver:
326325
# 推荐将 `ecs` 设置为当前网络的公网 IP 段

_posts/2024-08-21-share-android-singboxr-ruleset.md

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ tags: [sing-box, sing-boxr, Android, ruleset, rule_set, 分享]
5555
"miwifi.com": [ "192.168.31.1", "127.0.0.1" ]
5656
}
5757
},
58-
{ "tag": "dns_resolver", "type": "https", "server": "223.5.5.5"},
58+
{ "tag": "dns_resolver", "type": "https", "server": "223.5.5.5" },
5959
{ "tag": "dns_direct", "type": "quic", "server": "dns.alidns.com", "domain_resolver": "dns_resolver" },
6060
{ "tag": "dns_proxy", "type": "https", "server": "dns.google", "domain_resolver": "dns_resolver", "detour": "节点选择" },
6161
{ "tag": "dns_fakeip", "type": "fakeip", "inet4_range": "28.0.0.1/8", "inet6_range": "fc00::/16" }
@@ -69,12 +69,10 @@ tags: [sing-box, sing-boxr, Android, ruleset, rule_set, 分享]
6969
{ "rule_set": [ "trackerslist", "private", "cn" ], "query_type": [ "A", "AAAA" ], "server": "dns_direct", "rewrite_ttl": 1 },
7070
{ "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" }
7171
],
72-
"final": "dns_proxy",
72+
"final": "dns_direct",
7373
"strategy": "prefer_ipv4",
7474
"independent_cache": true,
75-
"reverse_mapping": true,
76-
// 推荐将 `client_subnet` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`
77-
"client_subnet": "202.103.17.0/24"
75+
"reverse_mapping": true
7876
},
7977
"inbounds": [
8078
// 启动服务时如果出现 `tun-in` 报错,可将 `"stack": "mixed"` 修改为 `"stack": "system"`
@@ -268,6 +266,53 @@ tags: [sing-box, sing-boxr, Android, ruleset, rule_set, 分享]
268266
}
269267
```
270268

269+
---
270+
271+
>`DNS` 私货
272+
{: .prompt-tip }
273+
274+
注:
275+
- 1.`dns` 配置中,国外域名 `proxy``fake-ip`,私有网络 `private` 和国内域名 `cn` 走国内 DNS 解析,未知域名走国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 sing-boxr 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-singboxr-ruleset/)》),且配置 `client_subnet` 提高了兼容性
276+
- 2. 推荐将 `client_subnet` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`
277+
278+
```json
279+
{
280+
"dns": {
281+
"servers": [
282+
{
283+
"tag": "hosts",
284+
"type": "hosts",
285+
"predefined": {
286+
"dns.alidns.com": [ "223.5.5.5", "223.6.6.6", "2400:3200::1", "2400:3200:baba::1" ],
287+
"dns.google": [ "8.8.8.8", "8.8.4.4", "2001:4860:4860::8888", "2001:4860:4860::8844" ],
288+
"miwifi.com": [ "192.168.31.1", "127.0.0.1" ]
289+
}
290+
},
291+
{ "tag": "dns_resolver", "type": "https", "server": "223.5.5.5" },
292+
{ "tag": "dns_direct", "type": "quic", "server": "dns.alidns.com", "domain_resolver": "dns_resolver" },
293+
{ "tag": "dns_proxy", "type": "https", "server": "dns.google", "domain_resolver": "dns_resolver", "detour": "节点选择" },
294+
{ "tag": "dns_fakeip", "type": "fakeip", "inet4_range": "28.0.0.1/8", "inet6_range": "fc00::/16" }
295+
],
296+
"rules": [
297+
{ "ip_accept_any": true, "server": "hosts" },
298+
{ "clash_mode": [ "Direct" ], "query_type": [ "A", "AAAA" ], "server": "dns_direct" },
299+
{ "clash_mode": [ "Global" ], "query_type": [ "A", "AAAA" ], "server": "dns_proxy" },
300+
{ "rule_set": [ "ads" ], "action": "predefined" },
301+
{ "rule_set": [ "proxy" ], "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" },
302+
{ "rule_set": [ "private", "cn" ], "query_type": [ "A", "AAAA" ], "server": "dns_direct", "rewrite_ttl": 1 }
303+
],
304+
"final": "dns_proxy",
305+
"strategy": "prefer_ipv4",
306+
"independent_cache": true,
307+
"reverse_mapping": true,
308+
// 推荐将 `client_subnet` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`
309+
"client_subnet": "202.103.17.0/24"
310+
}
311+
}
312+
```
313+
314+
---
315+
271316
## 二、 导入配置文件并启动 sing-boxr
272317
1. 进入 sing-boxr for Android → 配置 → 新配置 → 手动创建,“类型”选择“远程”,在“URL”处粘贴《[](https://proxy-tutorials.dustinwin.us.kg/posts/share-android-singboxr-ruleset/#%E4%B8%80-%E7%94%9F%E6%88%90%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6-json-%E6%96%87%E4%BB%B6%E7%9B%B4%E9%93%BE)》中生成的配置文件 .json 直链,“自动更新间隔”填写 `1440`,最后点击“创建”
273318
2. 进入 sing-boxr for Android → 仪表,点击“▶️”图标即可启动 sing-boxr 服务

_posts/2024-08-21-share-shellcrash-mihomo-geodata.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,9 +189,9 @@ dns:
189189
prefer-h3: true
190190
ipv6: true
191191
listen: 0.0.0.0:1053
192+
enhanced-mode: fake-ip
192193
fake-ip-range: 28.0.0.1/8
193194
fake-ip-range6: fc00::/16
194-
enhanced-mode: fake-ip
195195
fake-ip-filter: ['geosite:trackerslist,private,cn']
196196
nameserver:
197197
- https://dns.alidns.com/dns-query
@@ -205,7 +205,7 @@ dns:
205205
{: .prompt-tip }
206206

207207
注:
208-
- 1. 本 `dns` 配置中,未知域名由国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-geodata 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-geodata/)》),且配置 `ecs` 提高了兼容性
208+
- 1. 本 `dns` 配置中,仅国外域名 `proxy` 走 `fake-ip`,直连域名(含国内域名 `cn`)走国内 DNS 解析,未知域名走国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-geodata 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-geodata/)》),且配置 `ecs` 提高了兼容性
209209
- 2. 推荐将 `ecs` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`(后续维护更新可直接执行命令 `sed -i -E "s/(ecs=)[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/yamls/user.yaml`)
210210

211211
```yaml
@@ -215,16 +215,16 @@ hosts:
215215
dns.google: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
216216
dns11.quad9.net: [9.9.9.11, 149.112.112.11, 2620:fe::11, 2620:fe::fe:11]
217217
miwifi.com: [192.168.31.1, 127.0.0.1]
218-
services.googleapis.cn: [services.googleapis.com]
219218
220219
dns:
221220
enable: true
222221
ipv6: true
223222
listen: 0.0.0.0:1053
223+
enhanced-mode: fake-ip
224224
fake-ip-range: 28.0.0.1/8
225225
fake-ip-range6: fc00::/16
226-
enhanced-mode: fake-ip
227-
fake-ip-filter: ['geosite:trackerslist,private,cn']
226+
fake-ip-filter-mode: whitelist
227+
fake-ip-filter: ['geosite:proxy']
228228
respect-rules: true
229229
nameserver:
230230
# 推荐将 `ecs` 设置为当前网络的公网 IP 段

_posts/2024-08-21-share-shellcrash-mihomo-ruleset.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,9 +286,9 @@ dns:
286286
prefer-h3: true
287287
ipv6: true
288288
listen: 0.0.0.0:1053
289+
enhanced-mode: fake-ip
289290
fake-ip-range: 28.0.0.1/8
290291
fake-ip-range6: fc00::/16
291-
enhanced-mode: fake-ip
292292
fake-ip-filter: ['rule-set:trackerslist,private,cn']
293293
nameserver:
294294
- https://dns.alidns.com/dns-query
@@ -302,7 +302,7 @@ dns:
302302
{: .prompt-tip }
303303

304304
注:
305-
- 1. 本 `dns` 配置中,未知域名由国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-ruleset/)》),且配置 `ecs` 提高了兼容性
305+
- 1. 本 `dns` 配置中,仅国外域名 `proxy` 走 `fake-ip`,直连域名(含国内域名 `cn`)走国内 DNS 解析,未知域名走国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-ruleset/)》),且配置 `ecs` 提高了兼容性
306306
- 2. 推荐将 `ecs` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`(后续维护更新可直接执行命令 `sed -i -E "s/(ecs=)[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/yamls/user.yaml`)
307307

308308
```yaml
@@ -312,16 +312,16 @@ hosts:
312312
dns.google: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
313313
dns11.quad9.net: [9.9.9.11, 149.112.112.11, 2620:fe::11, 2620:fe::fe:11]
314314
miwifi.com: [192.168.31.1, 127.0.0.1]
315-
services.googleapis.cn: [services.googleapis.com]
316315
317316
dns:
318317
enable: true
319318
ipv6: true
320319
listen: 0.0.0.0:1053
320+
enhanced-mode: fake-ip
321321
fake-ip-range: 28.0.0.1/8
322322
fake-ip-range6: fc00::/16
323-
enhanced-mode: fake-ip
324-
fake-ip-filter: ['rule-set:trackerslist,private,cn']
323+
fake-ip-filter-mode: whitelist
324+
fake-ip-filter: ['rule-set:proxy']
325325
respect-rules: true
326326
nameserver:
327327
# 推荐将 `ecs` 设置为当前网络的公网 IP 段

_posts/2024-08-21-share-shellcrashadguardhome-mihomo-ruleset.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,9 @@ dns:
291291
prefer-h3: true
292292
ipv6: true
293293
listen: 0.0.0.0:1053
294+
enhanced-mode: fake-ip
294295
fake-ip-range: 28.0.0.1/8
295296
fake-ip-range6: fc00::/16
296-
enhanced-mode: fake-ip
297297
fake-ip-filter: ['rule-set:fakeip-filter,trackerslist,private,cn']
298298
nameserver:
299299
- https://dns.alidns.com/dns-query
@@ -306,7 +306,7 @@ dns:
306306
{: .prompt-tip }
307307

308308
注:
309-
- 1. 本 `dns` 配置中,未知域名由国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-ruleset/)》),且配置 `ecs` 提高了兼容性
309+
- 1. 本 `dns` 配置中,仅国外域名 `proxy` 走 `fake-ip`,直连域名(含国内域名 `cn`)走国内 DNS 解析,未知域名走国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 mihomo 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-mihomo-ruleset/)》),且配置 `ecs` 提高了兼容性
310310
- 2. 推荐将 `ecs` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`(后续维护更新可直接执行命令 `sed -i -E "s/(ecs=)[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/yamls/user.yaml`)
311311

312312
```yaml
@@ -316,16 +316,16 @@ hosts:
316316
dns.google: [8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844]
317317
dns11.quad9.net: [9.9.9.11, 149.112.112.11, 2620:fe::11, 2620:fe::fe:11]
318318
miwifi.com: [192.168.31.1, 127.0.0.1]
319-
services.googleapis.cn: [services.googleapis.com]
320319
321320
dns:
322321
enable: true
323322
ipv6: true
324323
listen: 0.0.0.0:1053
324+
enhanced-mode: fake-ip
325325
fake-ip-range: 28.0.0.1/8
326326
fake-ip-range6: fc00::/16
327-
enhanced-mode: fake-ip
328-
fake-ip-filter: ['rule-set:fakeip-filter,trackerslist,private,cn']
327+
fake-ip-filter-mode: whitelist
328+
fake-ip-filter: ['rule-set:proxy']
329329
respect-rules: true
330330
nameserver:
331331
# 推荐将 `ecs` 设置为当前网络的公网 IP 段

_posts/2024-08-22-share-shellcrash-singboxr-ruleset.md

Lines changed: 53 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,7 @@ crash
234234
"miwifi.com": [ "192.168.31.1", "127.0.0.1" ]
235235
}
236236
},
237-
{ "tag": "dns_resolver", "type": "https", "server": "223.5.5.5"},
237+
{ "tag": "dns_resolver", "type": "https", "server": "223.5.5.5" },
238238
{ "tag": "dns_direct", "type": "quic", "server": "dns.alidns.com", "domain_resolver": "dns_resolver" },
239239
{ "tag": "dns_proxy", "type": "https", "server": "dns.google", "domain_resolver": "dns_resolver", "detour": "节点选择" },
240240
{ "tag": "dns_fakeip", "type": "fakeip", "inet4_range": "28.0.0.1/8", "inet6_range": "fc00::/16" }
@@ -248,6 +248,49 @@ crash
248248
{ "rule_set": [ "trackerslist", "private", "cn" ], "query_type": [ "A", "AAAA" ], "server": "dns_direct", "rewrite_ttl": 1 },
249249
{ "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" }
250250
],
251+
"final": "dns_direct",
252+
"strategy": "prefer_ipv4",
253+
"independent_cache": true,
254+
"reverse_mapping": true
255+
}
256+
}
257+
```
258+
259+
---
260+
261+
>`DNS` 私货
262+
{: .prompt-tip }
263+
264+
注:
265+
- 1.`dns` 配置中,国外域名 `proxy``fake-ip`,私有网络 `private` 和国内域名 `cn` 走国内 DNS 解析,未知域名走国外 DNS 解析(有效解决了“心理 DNS 泄露问题”,详见《[搭载 sing-boxr 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-singboxr-ruleset/)》),且配置 `client_subnet` 提高了兼容性
266+
- 2. 推荐将 `client_subnet` 设置为当前网络的公网 IP 段,如当前网络公网 IP 为 `202.103.17.123`,可设置为 `202.103.17.0/24`
267+
268+
```json
269+
{
270+
"dns": {
271+
"servers": [
272+
{
273+
"tag": "hosts",
274+
"type": "hosts",
275+
"predefined": {
276+
"dns.alidns.com": [ "223.5.5.5", "223.6.6.6", "2400:3200::1", "2400:3200:baba::1" ],
277+
"dns.google": [ "8.8.8.8", "8.8.4.4", "2001:4860:4860::8888", "2001:4860:4860::8844" ],
278+
"miwifi.com": [ "192.168.31.1", "127.0.0.1" ]
279+
}
280+
},
281+
{ "tag": "dns_resolver", "type": "https", "server": "223.5.5.5" },
282+
{ "tag": "dns_direct", "type": "quic", "server": "dns.alidns.com", "domain_resolver": "dns_resolver" },
283+
{ "tag": "dns_proxy", "type": "https", "server": "dns.google", "domain_resolver": "dns_resolver", "detour": "节点选择" },
284+
{ "tag": "dns_fakeip", "type": "fakeip", "inet4_range": "28.0.0.1/8", "inet6_range": "fc00::/16" }
285+
],
286+
"rules": [
287+
{ "ip_accept_any": true, "server": "hosts" },
288+
{ "clash_mode": [ "Direct" ], "query_type": [ "A", "AAAA" ], "server": "dns_direct" },
289+
{ "clash_mode": [ "Global" ], "query_type": [ "A", "AAAA" ], "server": "dns_proxy" },
290+
{ "rule_set": [ "ads" ], "action": "predefined" },
291+
{ "rule_set": [ "proxy" ], "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" },
292+
{ "rule_set": [ "private", "cn" ], "query_type": [ "A", "AAAA" ], "server": "dns_direct", "rewrite_ttl": 1 }
293+
],
251294
"final": "dns_proxy",
252295
"strategy": "prefer_ipv4",
253296
"independent_cache": true,
@@ -258,6 +301,15 @@ crash
258301
}
259302
```
260303

304+
**新增定时任务**
305+
连接 SSH 后执行命令 `vi $CRASHDIR/task/task.user`,按一下 Ins 键(Insert 键),粘贴如下内容:
306+
307+
```shell
308+
203#sed -i -E "s/(\"client_subnet\": \")[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/jsons/dns.json >/dev/null 2>&1#更新client_subnet地址
309+
```
310+
311+
---
312+
261313
## 四、 编辑 experimental.json 文件
262314
连接 SSH 后执行命令 `vi $CRASHDIR/jsons/experimental.json`,按一下 Ins 键(Insert 键),粘贴如下内容:
263315

@@ -285,7 +337,6 @@ crash
285337
```shell
286338
201#curl -o $CRASHDIR/CrashCore.tar.gz -L https://ghfast.top/https://github.com/DustinWin/proxy-tools/releases/download/sing-box/sing-box-reF1nd-dev-linux-armv8.tar.gz && $CRASHDIR/start.sh restart >/dev/null 2>&1#更新sing-boxr内核
287339
202#curl -o $CRASHDIR/cn_ip.txt -L https://ghfast.top/https://github.com/DustinWin/geoip/releases/download/ips/cn_ipv4.txt && curl -o $CRASHDIR/cn_ipv6.txt -L https://ghfast.top/https://github.com/DustinWin/geoip/releases/download/ips/cn_ipv6.txt >/dev/null 2>&1#更新CN_IP文件
288-
203#sed -i -E "s/(\"client_subnet\": \")[0-9.]+\/[0-9]+/\1$(curl -s 4.ipw.cn | cut -d. -f1-3).0\/24/" $CRASHDIR/jsons/dns.json >/dev/null 2>&1#更新client_subnet地址
289340
```
290341

291342
2. 按一下 Esc 键(退出键),输入英文冒号 `:`,继续输入 `wq` 并回车

0 commit comments

Comments
 (0)