sing-box 在 dns 处理上有何高明之处?

2 天前
 Scalalala

在某代理软件推荐页面看到这样一段话:“迄今,所有平台的各类代理软件的任何运行模式,在 DNS 处理上都仅有 "Singbox 和其他" 之分,其体感差距类似 120Hz 高刷屏 vs 60Hz 低刷屏。其他方案如“伪多拨回环分流”,尽管效果或许百尺竿头更进一步,但实现起来比 sing-box 更繁琐。”

3108 次点击
所在节点    问与答
40 条回复
MacsedProtoss
1 天前
实际上只要使用 fakeip ,sb 的操作就是基操
而 realip 下,sb 的操作其实属于没啥大用,dns 会变慢这个问题没得到任何解决…
好处是某些场景就是需要 realip 的,fakeip 不工作,所以在 surge 上会有一些模块 alwaya-real-ip ,主要是一些海外游戏
mrgeneral
1 天前
@Richared clash verge 么?它是个 GUI 啊,内核还是 meta ,GUI 代码不影响内核
liaohongxing
1 天前
@Kepy 你这个需求手搓很容易啊,稍微配一下就好了!
Richared
1 天前
@mrgeneral #22 gui 他有漏洞啊,你搜一下。漏洞还是 ai 写的代码。作者连看都不带看的,小白只知道好看。
Richared
1 天前
@Kepy #19 你还是用 surge 吧。这个适合你,不是我矫情,我说的是事实,这个最基本的分流规则的文档都没看懂,那还用啥 singbox 了,自己日常用的分流都不清楚。更别提了。
https://sing-box.sagernet.org/configuration/route/rule/
这里边写了,你可以看一下,看不懂没关系,别难为自己。
liaohongxing
1 天前
@Kepy 用最新 v1.12 写一个
{
"dns": {
"servers": [
//dns 节点忽略,自己填
],
"rules": [
//dns 规则忽略,自己填
],
"strategy": "ipv4_only"
},
"inbounds": [
{
"type": "tun",
"address": "172.19.0.1/30",
"auto_route": true,
"auto_redirect": true,
"strict_route": false
},
{
"type": "mixed",
"tag": "mixed",
"listen": "0.0.0.0",
"listen_port": 1080
}
],
"outbounds": [
{
"type": "anytls",
"tag": "anytls-out",
//外网出口,细节省略
},
{
"type": "wireguard",
"tag": "home-out",
//家里出口,细节省略
},
{
"type": "direct",
"tag": "direct"
//直连出口
},
{
"type": "block",
"tag": "block"
}
],
"route": {
"rules": [
{
"action": "sniff"
},
{
"type": "logical",
"mode": "or",
"rules": [
{
"protocol": "dns"
},
{
"port": 53
}
],
"action": "hijack-dns"
},
{
"ip_cidr": [
"154.23.161.57/32"
],
"outbound": "direct"
},
{
"ip_cidr": [
"10.10.0.0/24"
],
"outbound": "home-out"
//指定网段走家里出口
},
{
"process_name": [
"ToDesk.exe"
],
"outbound": "direct"
//指定进程走直连
},
{
"domain_suffix": [
"bilibili.com",
"douyin.com"
],
"outbound": "anytls-out"
//指定域名后缀走外网出口 anytls-out
},
{
"rule_set": "geosite-geolocation-cn",
"outbound": "direct"
//国内网站走直连, 其实这个就可以覆盖 bilibili.com, douyin.com
},
{
"type": "logical",
"mode": "and",
"rules": [
{
"rule_set": "geoip-cn"
},
{
"rule_set": "geosite-geolocation-!cn",
"invert": true
}
],
"outbound": "direct"
//没有收集到网站,但是中国 ip 的走直连
}
],
"rule_set": [
{
"type": "remote",
"tag": "geosite-category-ads-all",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-category-ads-all.srs"
},
{
"type": "remote",
"tag": "geoip-cn",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-cn.srs"
},
{
"type": "remote",
"tag": "geosite-geolocation-cn",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-geolocation-cn.srs"
},
{
"type": "remote",
"tag": "geosite-geolocation-!cn",
"format": "binary",
"url": "https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-geolocation-!cn.srs"
}
],
"default_domain_resolver": "local",
"auto_detect_interface": true
}
}
hefish
1 天前
@wu67 牛人都有点脾气嘛。。。我哥们去 sing-box 的 tg 里找他提了一些问题和建议,然后就被踢出去了。。。当然这并不妨碍我们继续用它。
Kepy
1 天前
@liaohongxing 谢谢,我学习下
crackself
1 天前
DNS 和 route 的 rule 都可以用 rule-set 按地区规则,避免 DNS 泄漏。测试下来唯一不好的是 tun 模式下无法分流 onion 域名
rick13
1 天前
@wu67 bug 多,配置改的也快,群里问问题上来就说不是给小白用的
Chaidu
1 天前
小版本更新不兼容之前的配置文件,这也能忍?自虐狂吗!
huaweii
1 天前
@hefish 你说的这个哥们是不是就是你自己😁
hefish
1 天前
@huaweii 不是, 我那哥们还八卦到了作者的性取向。。。当然纯属八卦,没有歧视的意思。
bigshawn
1 天前
sing-box 还行吧,虽然跨版本会有改配置格式的问题,会有些学习成本,但是对于能上 v2 的人来说应该都不难。
daisyfloor
1 天前
@LongLights 认同。我只用 tun+fakeip
d1g1tal0cean
1 天前
下过试了下就卸载了,这东西太累。附议 #13
Morgan2
1 天前
没有 vim 的命,得了 vim 的病
Soffio
1 天前
都差不多吧,用 sing-box 就是为了一套配置全端统一(软路由、Mac 、iPhone ),差异化的部分配合 sub-store 用 js 代理处理下就好,确实方便
wm5d8b
1 天前
@mrgeneral 以前用 clash verge 的免安装版,最近更新不小心装了安装版。卸载时,把我 Windows 开始菜单下的快捷方式全删了。现在放弃,换 clashmi
Serino
19 小时 57 分钟前
Mihomo 关于 DNS 的处理有一张流程图: https://wiki.metacubex.one/config/dns/diagram/#_3

简单说如果不是直连,就判断域名是否命中需要代理的规则,判断非国内 IP 是否需要直连。
如果我没理解错的话,对于需要代理的域名,是直接发送域名而不是 IP 请求给远端代理服务器的;本地解析出来的 IP 也只是判断国内和国外以及是否直连;远端代理服务器如果能正常联通,如果最后 Match 全走代理,那 DNS 解析出来的国外 IP 全是假的全是阿猫阿狗,并不影响日常科学上网。

所以我一直不太晓得网上那些天天捣鼓 DNS 的到底在捣鼓啥…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1156132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX