Skip to content

Commit a617ab0

Browse files
committed
适配 sing-boxr v1.14.0-alpha.11 新特性
1 parent 54499c1 commit a617ab0

9 files changed

Lines changed: 103 additions & 47 deletions

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ tags: [sing-box, sing-boxr, Android, ruleset, rule_set, 分享]
88

99
> 声明
1010
{: .prompt-warning }
11-
请根据自身情况进行修改,**适合自己的方案才是最好的方案**,如无特殊需求,可以照搬
11+
1. 请根据自身情况进行修改,**适合自己的方案才是最好的方案**,如无特殊需求,可以照搬
12+
2. 本教程搭载 [sing-box 内核 reF1nd-Test 版](https://github.com/reF1nd/sing-box/tree/reF1nd-testing)(可前往 <https://github.com/DustinWin/proxy-tools/releases/tag/sing-box> 下载“SFA-ref1nd-test-arm64-v8a.apk”文件进行安装)
1213

1314
## 一、 生成配置文件 .json 文件直链
1415
具体方法请参考《[生成带有自定义出站和规则的 sing-boxr 配置文件直链-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/link-singboxr-ruleset)》,贴一下我使用的配置:
@@ -66,18 +67,21 @@ tags: [sing-box, sing-boxr, Android, ruleset, rule_set, 分享]
6667
{ "tag": "dns_fakeip", "type": "fakeip", "inet4_range": "28.0.0.0/8", "inet6_range": "fc00::/16" }
6768
],
6869
"rules": [
69-
{ "ip_accept_any": true, "server": "hosts" },
70+
{ "action": "evaluate", "server": "hosts" },
71+
{ "match_response": true, "ip_accept_any": true, "action": "respond" },
7072
{ "clash_mode": [ "Direct" ], "server": "dns_direct" },
7173
{ "clash_mode": [ "Global" ], "server": "dns_proxy" },
7274
{ "rule_set": [ "ads" ], "action": "predefined" },
7375
{ "rule_set": [ "trackerslist", "microsoft-cn", "apple-cn", "google-cn", "games-cn" ], "server": "dns_direct" },
7476
{ "query_type": [ "A", "AAAA" ], "rule_set": [ "proxy" ], "server": "dns_fakeip" },
7577
{ "rule_set": [ "private", "cn" ], "server": "dns_direct" },
78+
{ "action": "evaluate", "server": "dns_direct" },
79+
{ "match_response": true, "rule_set": [ "cnip" ] , "action": "respond" },
7680
{ "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" }
7781
],
78-
"final": "dns_direct",
82+
"final": "dns_proxy",
7983
"strategy": "prefer_ipv4",
80-
"independent_cache": true,
84+
"optimistic": true,
8185
"reverse_mapping": true
8286
},
8387
"inbounds": [
@@ -262,7 +266,8 @@ tags: [sing-box, sing-boxr, Android, ruleset, rule_set, 分享]
262266
"experimental": {
263267
"cache_file": {
264268
"enabled": true,
265-
"store_fakeip": true
269+
"store_fakeip": true,
270+
"store_dns": true
266271
},
267272
"clash_api": {
268273
"external_controller": "127.0.0.1:9999",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ curl -o $CRASHDIR/Country.mmdb -L https://cdn.jsdelivr.net/gh/DustinWin/ruleset_
5656
5. 进入主菜单 → 5) 自动任务 → 1) 添加自动任务,选择 8) 自动更新内核,回车后可设置执行条件
5757
6. 进入主菜单 → 8) 工具与优化,选择“6) 小米设备软固化 SSH”(无需输入需要还原的 SSH 密码)
5858
7. 进入 8) 工具与优化 → 8) 小米设备Tun模块修复,选择“1) 我已知晓,出现问题会自行承担!”
59-
8. 进入主菜单 → 9) 更新与支持 → 2) 切换/更新内核文件 → 6) 使用自定义内核 → 9) 自定义内核链接,输入 `https://ghfast.top/https://github.com/DustinWin/proxy-tools/releases/download/mihomo/mihomo-meta-linux-arm64.upx` 并回车,选择“1) Mihomo(Meta)”
59+
8. 进入主菜单 → 9) 更新与支持 → 2) 切换/更新内核文件 → 6) 使用自定义内核 → 9) 自定义内核链接,输入导入内核命令里的链接并回车,选择“1) Mihomo(Meta)”
6060
9. 导入配置文件
6161
- ① 进入主菜单 → 6) 配置文件管理 → a) 添加提供者 → 1) 设置名称或代号,如输入“mihomo”;后进入 2) 设置链接或路径,粘贴《[生成带有自定义策略组和规则的 mihomo 配置文件直链-geodata 方案](https://proxy-tutorials.dustinwin.us.kg/posts/link-mihomo-geodata)》中生成的 .yaml 配置文件直链,选择“a) 保存此提供者”
6262
- ② 进入 6) 配置文件管理 → c) 在线生成配置文件 → 6) 自定义浏览器 UA,选择“2) 不使用 UA”

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ curl -o /tmp/CrashCore.upx -L https://ghfast.top/https://github.com/DustinWin/pr
4747
5. 进入主菜单 → 5) 自动任务 → 1) 添加自动任务,选择 8) 自动更新内核,回车后可设置执行条件
4848
6. 进入主菜单 → 8) 工具与优化,选择“6) 小米设备软固化 SSH”(无需输入需要还原的 SSH 密码)
4949
7. 进入 8) 工具与优化 → 8) 小米设备Tun模块修复,选择“1) 我已知晓,出现问题会自行承担!”
50-
8. 进入主菜单 → 9) 更新与支持 → 2) 切换/更新内核文件 → 6) 使用自定义内核 → 9) 自定义内核链接,输入 `https://ghfast.top/https://github.com/DustinWin/proxy-tools/releases/download/mihomo/mihomo-meta-linux-arm64.upx` 并回车,选择“1) Mihomo(Meta)”
50+
8. 进入主菜单 → 9) 更新与支持 → 2) 切换/更新内核文件 → 6) 使用自定义内核 → 9) 自定义内核链接,输入导入内核命令里的链接并回车,选择“1) Mihomo(Meta)”
5151
9. 导入配置文件
5252
- ① 进入主菜单 → 6) 配置文件管理 → a) 添加提供者 → 1) 设置名称或代号,如输入“mihomo”;后进入 2) 设置链接或路径,粘贴《[生成带有自定义策略组和规则的 mihomo 配置文件直链-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/link-mihomo-ruleset)》中生成的 .yaml 配置文件直链,选择“a) 保存此提供者”
5353
- ② 进入 6) 配置文件管理 → c) 在线生成配置文件 → 6) 自定义浏览器 UA,选择“2) 不使用 UA”

_posts/2024-08-22-dnsbypass-singboxr-ruleset.md

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 分
1010
{: .prompt-tip }
1111
1. [ShellCrash](https://github.com/juewuy/ShellCrash) 搭配 [AdGuard Home](https://github.com/AdguardTeam/AdGuardHome) 并将 AdGuard Home 作为上游时不要使用该方法
1212
2. 本教程以 ShellCrash 为例,其它客户端亦可参考
13-
3. 本教程搭载 [sing-box 内核 reF1nd-Stable](https://github.com/reF1nd/sing-box/tree/reF1nd-stable)(导入内核方法可参考《[ShellCrash 和 AdGuard Home 快速安装教程/导入 mihomo 内核 或 sing-box 内核](https://proxy-tutorials.dustinwin.us.kg/posts/pin-toolsinstall/#%E4%BA%8C-%E5%AF%BC%E5%85%A5-mihomo-%E5%86%85%E6%A0%B8-%E6%88%96-sing-box-%E5%86%85%E6%A0%B8)》)
13+
3. 本教程搭载 [sing-box 内核 reF1nd-Test](https://github.com/reF1nd/sing-box/tree/reF1nd-testing)(导入内核方法可参考《[ShellCrash 和 AdGuard Home 快速安装教程/导入 mihomo 内核 或 sing-box 内核](https://proxy-tutorials.dustinwin.us.kg/posts/pin-toolsinstall/#%E4%BA%8C-%E5%AF%BC%E5%85%A5-mihomo-%E5%86%85%E6%A0%B8-%E6%88%96-sing-box-%E5%86%85%E6%A0%B8)》)
1414
4. DNS 分流简单来说就是**指定国内域名走国内 DNS 解析,国外域名走 `fakeip`**。未知域名走 `fakeip`(在匹配 `route.rules.rule_set:cnip` 规则时会由国内 DNS 解析,解析出 IP 在国内则走 `🀄️ 国内 IP` 规则,否则走 `🐟 漏网之鱼` 规则)
1515
5. 部分用户觉得未知域名处理方式会导致 DNS 泄露,可参考《[搭载 sing-boxr 内核配置 DNS 不泄露教程-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/dnsnoleaks-singboxr-ruleset)
1616

1717
## 一、 导入规则集合文件
18-
`route.rule_set` 须添加 `fakeip-filter``cn``proxy`,如下:
18+
`route.rule_set` 须添加 `fakeip-filter``proxy``cn``cnip`,如下:
1919

2020
```json
2121
{
@@ -28,6 +28,13 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 分
2828
"path": "./ruleset/fakeip-filter.srs",
2929
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/fakeip-filter.srs"
3030
},
31+
{
32+
"tag": "proxy",
33+
"type": "remote",
34+
"format": "binary",
35+
"path": "./ruleset/proxy.srs",
36+
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs"
37+
},
3138
{
3239
"tag": "cn",
3340
"type": "remote",
@@ -36,11 +43,11 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 分
3643
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn.srs"
3744
},
3845
{
39-
"tag": "proxy",
46+
"tag": "cnip",
4047
"type": "remote",
4148
"format": "binary",
42-
"path": "./ruleset/proxy.srs",
43-
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs"
49+
"path": "./ruleset/cnip.srs",
50+
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs"
4451
}
4552
]
4653
}
@@ -51,7 +58,12 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 分
5158
1. 进入 ShellCrash 配置脚本 → 2) 功能设置 → 2) DNS 设置 → 9) 修改 DNS 服务器,将“DIRECT-DNS”、“PROXY-DNS”和“DEFAULT-DNS”都设置为 `null`
5259
<img src="/assets/img/dns/dns-null.png" alt="ShellCrash 设置" width="60%" />
5360

54-
2. 连接 SSH 后执行命令 `vi $CRASHDIR/jsons/dns.json`,按一下 Ins 键(Insert 键),粘贴如下内容:
61+
2. 连接 SSH 后执行如下命令:
62+
```shell
63+
sed -z -i 's/{\s*"ip_accept_any": true,\s*"server": "hosts"\s*}/{ "action": "evaluate", "server": "hosts" },\
64+
{ "match_response": true, "ip_accept_any": true, "action": "respond" }/' $CRASHDIR/starts/singbox_modify.sh
65+
```
66+
3. 连接 SSH 后执行命令 `vi $CRASHDIR/jsons/dns.json`,按一下 Ins 键(Insert 键),粘贴如下内容:
5567
```json
5668
{
5769
"dns": {
@@ -81,17 +93,19 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 分
8193
{ "rule_set": [ "fakeip-filter" ], "server": "dns_direct" },
8294
{ "query_type": [ "A", "AAAA" ], "rule_set": [ "proxy" ], "server": "dns_fakeip" },
8395
{ "rule_set": [ "cn" ], "server": "dns_direct" },
96+
{ "action": "evaluate", "server": "dns_direct" },
97+
{ "match_response": true, "rule_set": [ "cnip" ] , "action": "respond" },
8498
{ "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" }
8599
],
86-
"final": "dns_direct",
100+
"final": "dns_proxy",
87101
"strategy": "prefer_ipv4",
88-
"independent_cache": true,
102+
"optimistic": true,
89103
"reverse_mapping": true
90104
}
91105
}
92106
```
93107
按一下 Esc 键(退出键),输入英文冒号 `:`,继续输入 `wq` 并回车
94-
3. 连接 SSH 后执行命令 `vi $CRASHDIR/jsons/route.json`,按一下 Ins 键(Insert 键),粘贴如下内容:
108+
4. 连接 SSH 后执行命令 `vi $CRASHDIR/jsons/route.json`,按一下 Ins 键(Insert 键),粘贴如下内容:
95109
- 注:为提高匹配效率,推荐参考《[生成带有自定义出站和规则的 sing-boxr 配置文件直链-ruleset 方案](https://proxy-tutorials.dustinwin.us.kg/posts/link-singboxr-ruleset/)》编写 `route.rules`,将 `"action": "resolve"` 放置在域名规则集之后,IP 规则集之前
96110
```json
97111
{

_posts/2024-08-22-dnsnoleaks-singboxr-ruleset.md

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 泄
1010
{: .prompt-tip }
1111
1. 此方案彻底防止了 DNS 泄露(未知域名在匹配 `route.rules.rule_set:cnip` 规则时会走国外 DNS 解析且配置 `client_subnet`,解析出 IP 在国内则走 `🀄️ 国内 IP` 规则,否则走 `🐟 漏网之鱼` 规则),兼容性高,可放心使用
1212
2. 本教程以 [ShellCrash](https://github.com/juewuy/ShellCrash) 为例,其它客户端亦可参考
13-
3. 本教程搭载 [sing-box 内核 reF1nd-Stable](https://github.com/reF1nd/sing-box/tree/reF1nd-stable)(导入内核方法可参考《[ShellCrash 和 AdGuard Home 快速安装教程/导入 mihomo 内核 或 sing-box 内核](https://proxy-tutorials.dustinwin.us.kg/posts/pin-toolsinstall/#%E4%BA%8C-%E5%AF%BC%E5%85%A5-mihomo-%E5%86%85%E6%A0%B8-%E6%88%96-sing-box-%E5%86%85%E6%A0%B8)》)
13+
3. 本教程搭载 [sing-box 内核 reF1nd-Test](https://github.com/reF1nd/sing-box/tree/reF1nd-testing)(导入内核方法可参考《[ShellCrash 和 AdGuard Home 快速安装教程/导入 mihomo 内核 或 sing-box 内核](https://proxy-tutorials.dustinwin.us.kg/posts/pin-toolsinstall/#%E4%BA%8C-%E5%AF%BC%E5%85%A5-mihomo-%E5%86%85%E6%A0%B8-%E6%88%96-sing-box-%E5%86%85%E6%A0%B8)》)
1414
4. 可进入 <https://ipleak.net> 测试 DNS 是否泄露,“DNS Addresses” 栏目下没有中国国旗(因 `ipleak.net` 属未知域名,默认走 `🐟 漏网之鱼` 规则),即代表 DNS 没有发生泄露
1515

1616
## 一、 导入规则集合文件
17-
`route.rule_set` 须添加 `fakeip-filter``cn``proxy`,如下:
17+
`route.rule_set` 须添加 `fakeip-filter``proxy``cn``cnip`,如下:
1818

1919
```json
2020
{
@@ -27,6 +27,13 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 泄
2727
"path": "./ruleset/fakeip-filter.srs",
2828
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/fakeip-filter.srs"
2929
},
30+
{
31+
"tag": "proxy",
32+
"type": "remote",
33+
"format": "binary",
34+
"path": "./ruleset/proxy.srs",
35+
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs"
36+
},
3037
{
3138
"tag": "cn",
3239
"type": "remote",
@@ -35,21 +42,26 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 泄
3542
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cn.srs"
3643
},
3744
{
38-
"tag": "proxy",
45+
"tag": "cnip",
3946
"type": "remote",
4047
"format": "binary",
41-
"path": "./ruleset/proxy.srs",
42-
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/proxy.srs"
48+
"path": "./ruleset/cnip.srs",
49+
"url": "https://github.com/DustinWin/ruleset_geodata/releases/download/sing-box-ruleset/cnip.srs"
4350
}
4451
]
4552
}
4653
}
4754
```
4855

4956
## 二、 ShellCrash 防泄漏配置
50-
进入 ShellCrash 配置脚本 → 2) 功能设置 → 2) DNS 设置 → 9) 修改 DNS 服务器,将“DIRECT-DNS”、“PROXY-DNS”和“DEFAULT-DNS”都设置为 `null`
57+
1. 进入 ShellCrash 配置脚本 → 2) 功能设置 → 2) DNS 设置 → 9) 修改 DNS 服务器,将“DIRECT-DNS”、“PROXY-DNS”和“DEFAULT-DNS”都设置为 `null`
5158
<img src="/assets/img/dns/dns-null.png" alt="ShellCrash 设置" width="60%" />
5259

60+
2. 连接 SSH 后执行如下命令:
61+
```shell
62+
sed -z -i 's/{\s*"ip_accept_any": true,\s*"server": "hosts"\s*}/{ "action": "evaluate", "server": "hosts" },\
63+
{ "match_response": true, "ip_accept_any": true, "action": "respond" }/' $CRASHDIR/starts/singbox_modify.sh
64+
```
5365
## 三、 DNS 防泄漏配置
5466
### 1. DNS 模式为 `mix`(推荐)
5567
- ① 连接 SSH 后执行命令 `vi $CRASHDIR/jsons/dns.json`,按一下 Ins 键(Insert 键),修改为如下内容:
@@ -86,14 +98,15 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 泄
8698
{ "rule_set": [ "fakeip-filter" ], "server": "dns_direct" },
8799
{ "query_type": [ "A", "AAAA" ], "rule_set": [ "proxy" ], "server": "dns_fakeip" },
88100
{ "rule_set": [ "cn" ], "server": "dns_direct" },
101+
// 推荐将 `client_subnet` 设置为当前宽带运营商分配的默认 DNS 的 IP 段
102+
{ "action": "evaluate", "server": "dns_proxy", "client_subnet": "211.137.58.0/24" },
103+
{ "match_response": true, "rule_set": [ "cnip" ] , "action": "respond" },
89104
{ "query_type": [ "A", "AAAA" ], "server": "dns_fakeip" }
90105
],
91106
"final": "dns_proxy",
92107
"strategy": "prefer_ipv4",
93-
"independent_cache": true,
94-
"reverse_mapping": true,
95-
// 推荐将 `client_subnet` 设置为当前宽带运营商分配的默认 DNS 的 IP 段
96-
"client_subnet": "211.137.58.0/24"
108+
"optimistic": true,
109+
"reverse_mapping": true
97110
}
98111
}
99112
```
@@ -150,7 +163,7 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 泄
150163
],
151164
"final": "dns_proxy",
152165
"strategy": "prefer_ipv4",
153-
"independent_cache": true,
166+
"optimistic": true,
154167
"reverse_mapping": true,
155168
// 推荐将 `client_subnet` 设置为当前宽带运营商分配的默认 DNS 的 IP 段
156169
"client_subnet": "211.137.58.0/24"
@@ -206,14 +219,15 @@ tags: [sing-box, sing-boxr, ShellCrash, ruleset, rule_set, 进阶, DNS, DNS 泄
206219
{ "clash_mode": [ "Direct" ], "server": "dns_direct" },
207220
{ "clash_mode": [ "Global" ], "server": "dns_proxy" },
208221
{ "rule_set": [ "proxy" ], "server": "dns_proxy" },
209-
{ "rule_set": [ "cn" ], "server": "dns_direct" }
222+
{ "rule_set": [ "cn" ], "server": "dns_direct" },
223+
// 推荐将 `client_subnet` 设置为当前宽带运营商分配的默认 DNS 的 IP 段
224+
{ "action": "evaluate", "server": "dns_proxy", "client_subnet": "211.137.58.0/24" },
225+
{ "match_response": true, "rule_set": [ "cnip" ] , "action": "respond" }
210226
],
211227
"final": "dns_proxy",
212228
"strategy": "prefer_ipv4",
213-
"independent_cache": true,
214-
"reverse_mapping": true,
215-
// 推荐将 `client_subnet` 设置为当前宽带运营商分配的默认 DNS 的 IP 段
216-
"client_subnet": "211.137.58.0/24"
229+
"optimistic": true,
230+
"reverse_mapping": true
217231
}
218232
}
219233
```

0 commit comments

Comments
 (0)