sing-box 在 dns 处理上有何高明之处? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Scalalala
V2EX    问与答

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

  •  
  •   Scalalala 39 天前 via iPhone 4103 次点击
    这是一个创建于 39 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    40 条回复    2025-09-02 12:23:31 +08:00
    totoro625
        1
    totoro625  
       39 天前   1
    如果你能感受到 clash/surge 之类的软件在域名分流上与其他软件的差异的话
    sing-box 的域名分流的差异就是这样,他把域名处理模块也按照分流模块写了
    wu67
        2
    wu67  
       39 天前 via Android   3
    配置经常改我就知道....

    说句我不行我不上的话,内部实现他爱怎么改不行?偏偏一天到晚改配置格式...
    LongLights
        3
    LongLights  
       39 天前 via iPhone
    realip 模式下 sb 能对 dns 也进行分流(如 Netflix 域名列表指定通过某策略组代理请求 dns )

    fakeip 模式下 mihomo 更好用,具体差异可以看下我的历史发帖
    Kepy
        4
    Kepy  
       39 天前
    家里用 surge ,手机用的 clash ,公司用 clash 。

    之前想用 sing-box 来着,但是那个配置,一个版本一个格式,这个 warring ,那个 error 的,哪有这么搞软件的。弃用
    clf
        5
    clf  
       39 天前
    clash 的 DNS ,我遇到过这样的一个问题:在 macos26 下经常出现盒盖一段时间+切 wifi (自动连上了),但没有网。需要断开连接然后重新连接后就正常了。
    morota
        6
    morota  
       39 天前
    singbox 的配置改来改去,真心劝退。
    lucifer9
        7
    lucifer9  
       39 天前 via iPhone
    sing-box 某个版本移除 override destination 那个功能以后我就只好换别的了
    wxyrrcj
        8
    wxyrrcj  
       39 天前
    @morota 会看官方配置文档的话 其实没啥 很好改
    bli22ard
        9
    bli22ard  
       39 天前
    难道有高明的地方?
    keyfunc
        10
    keyfunc  
       39 天前
    不如用 mosdns ,虽然好久没更新了,但真好用。
    keyfunc
        11
    keyfunc  
       39 天前   1
    @wxyrrcj 他们家的文档,真心一言难尽
    Kepy
        12
    Kepy  
       39 天前
    @keyfunc 随心所欲的
    strobber16
        13
    strobber16  
       39 天前 via Android   7
    这帮做科学上网的,是开源软件里最会吹牛逼的
    huanxianghao
        14
    huanxianghao  
       39 天前
    "其体感差距类似 120Hz 高刷屏 vs 60Hz 低刷屏"

    这不就是没区吗?(来自公司用 60Hz 家里用 240Hz )
    Cruzz
        15
    Cruzz  
       39 天前
    早就转到 singbox 了,全平台通用,不用折腾有的没的,说配置文件的,但凡你看看配置文件,他很难理解么。warning 写的听清楚了,移除的是什么,代替的是什么,我感觉挺好的,这种东西就是个小众,越大众越容易死。看看那个 verge ,什么代码水平。最起码我看过 singbox 的代码,作者还是很有水平的,差不多的就是 meta 了,其他的都不太推荐了。
    huangzhiyia
        16
    huangzhiyia  
       39 天前 via iPhone
    sing-box 配置改来改去的,用 OneBox 客户端就好了啊,唯一的缺点就是不能导入本地配置文件

    https://github.com/OneOhCloud/OneBox
    yuuluu
        17
    yuuluu  
       39 天前
    singbox 里 dns 规则自定义程度和 outbound 基本是一样的.

    对于配置总是变这件事情, 都是大版本才发生改变, 并且迁移手册也写在文档里了.

    另外 singbox 的文档维护得很好. 对于手搓配置是比较友好的.
    guzzhao
        18
    guzzhao  
       39 天前
    可惜不支持订阅
    Kepy
        19
    Kepy  
       39 天前
    @Richared
    不难理解,是不够方便,我有一个日常使用场景,请教如何操作。

    1. 10.10.0.0/24 访问指定代理(回家);
    2. 国内 B 站、抖音等分流到制定代理;
    3. 发现一个新的链接,需要增加分流规则。

    这些怎么弄,并且可以方便一点。
    SenLief
        20
    SenLief  
       39 天前 via iPhone
    sb 的 dns 实现用 mihomo 一样可以的,就是请求策略问题,其实这没什么用处。你需要的只是无污染的 dns 解析,最佳方案就是不用代理请求 dns ,而是使用可靠 dns 解析即可。
    MacsedProtoss
        21
    MacsedProtoss  
       39 天前 via iPhone
    实际上只要使用 fakeip ,sb 的操作就是基操
    而 realip 下,sb 的操作其实属于没啥大用,dns 会变慢这个问题没得到任何解决…
    好处是某些场景就是需要 realip 的,fakeip 不工作,所以在 surge 上会有一些模块 alwaya-real-ip ,主要是一些海外游戏
    mrgeneral
        22
    mrgeneral  
       39 天前
    @Richared clash verge 么?它是个 GUI 啊,内核还是 meta ,GUI 代码不影响内核
    liaohongxing
        23
    liaohongxing  
       39 天前
    @Kepy 你这个需求手搓很容易啊,稍微配一下就好了!
    Cruzz
        24
    Cruzz  
       39 天前
    @mrgeneral #22 gui 他有漏洞啊,你搜一下。漏洞还是 ai 写的代码。作者连看都不带看的,小白只知道好看。
    Cruzz
        25
    Cruzz  
       39 天前
    @Kepy #19 你还是用 surge 吧。这个适合你,不是我矫情,我说的是事实,这个最基本的分流规则的文档都没看懂,那还用啥 singbox 了,自己日常用的分流都不清楚。更别提了。
    https://sing-box.sagernet.org/configuration/route/rule/
    这里边写了,你可以看一下,看不懂没关系,别难为自己。
    liaohongxing
        26
    liaohongxing  
       39 天前
    @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
        27
    hefish  
       39 天前
    @wu67 牛人都有点脾气嘛。。。我哥们去 sing-box 的 tg 里找他提了一些问题和建议,然后就被踢出去了。。。当然这并不妨碍我们继续用它。
    Kepy
        28
    Kepy  
       39 天前
    @liaohongxing 谢谢,我学习下
    crackself
        29
    crackself  
       39 天前 via Android
    DNS 和 route 的 rule 都可以用 rule-set 按地区规则,避免 DNS 泄漏。测试下来唯一不好的是 tun 模式下无法分流 onion 域名
    rick13
        30
    rick13  
       39 天前 via iPhone
    @wu67 bug 多,配置改的也快,群里问问题上来就说不是给小白用的
    Chaidu
        31
    Chaidu  
       39 天前
    小版本更新不兼容之前的配置文件,这也能忍?自虐狂吗!
    huaweii
        32
    huaweii  
       39 天前 via Android
    @hefish 你说的这个哥们是不是就是你自己
    hefish
        33
    hefish  
       39 天前
    @huaweii 不是, 我那哥们还八卦到了作者的性取向。。。当然纯属八卦,没有歧视的意思。
    Mar5
        34
    Mar5  
       39 天前
    sing-box 还行吧,虽然跨版本会有改配置格式的问题,会有些学习成本,但是对于能上 v2 的人来说应该都不难。
    daisyfloor
        35
    daisyfloor  
       39 天前
    @LongLights 认同。我只用 tun+fakeip
    d1g1tal0cean
        36
    d1g1tal0cean  
       39 天前 via Android
    下过试了下就卸载了,这东西太累。附议 #13
    Morgan2
        37
    Morgan2  
       39 天前
    没有 vim 的命,得了 vim 的病
    Soffio
        38
    Soffio  
       39 天前
    都差不多吧,用 sing-box 就是为了一套配置全端统一(软路由、Mac 、iPhone ),差异化的部分配合 sub-store 用 js 代理处理下就好,确实方便
    wm5d8b
        39
    wm5d8b  
       38 天前 via Android
    @mrgeneral 以前用 clash verge 的免安装版,最近更新不小心装了安装版。卸载时,把我 Windows 开始菜单下的快捷方式全删了。现在放弃,换 clashmi
    Serino
        40
    Serino  
       38 天前
    Mihomo 关于 DNS 的处理有一张流程图: https://wiki.metacubex.one/config/dns/diagram/#_3

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

    所以我一直不太晓得网上那些天天捣鼓 DNS 的到底在捣鼓啥…
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1255 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 17:17 PVG 01:17 LAX 10:17 JFK 13:17
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86