V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Scalalala
V2EX  ›  问与答

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

  •  
  •   Scalalala · 10 小时 27 分钟前 via iPhone · 2552 次点击

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

    36 条回复    2025-09-01 15:35:14 +08:00
    totoro625
        1
    totoro625  
       10 小时 13 分钟前   ❤️ 1
    如果你能感受到 clash/surge 之类的软件在域名分流上与其他软件的差异的话
    sing-box 的域名分流的差异就是这样,他把域名处理模块也按照分流模块写了
    wu67
        2
    wu67  
       10 小时 10 分钟前 via Android   ❤️ 3
    配置经常改我就知道....

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

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

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

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

    https://github.com/OneOhCloud/OneBox
    yuuluu
        17
    yuuluu  
       8 小时 34 分钟前
    singbox 里 dns 规则自定义程度和 outbound 基本是一样的.

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

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

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

    这些怎么弄,并且可以方便一点。
    SenLief
        20
    SenLief  
       8 小时 11 分钟前 via iPhone
    sb 的 dns 实现用 mihomo 一样可以的,就是请求策略问题,其实这没什么用处。你需要的只是无污染的 dns 解析,最佳方案就是不用代理请求 dns ,而是使用可靠 dns 解析即可。
    MacsedProtoss
        21
    MacsedProtoss  
       8 小时 10 分钟前 via iPhone
    实际上只要使用 fakeip ,sb 的操作就是基操
    而 realip 下,sb 的操作其实属于没啥大用,dns 会变慢这个问题没得到任何解决…
    好处是某些场景就是需要 realip 的,fakeip 不工作,所以在 surge 上会有一些模块 alwaya-real-ip ,主要是一些海外游戏
    mrgeneral
        22
    mrgeneral  
       7 小时 48 分钟前
    @Richared clash verge 么?它是个 GUI 啊,内核还是 meta ,GUI 代码不影响内核
    liaohongxing
        23
    liaohongxing  
       7 小时 33 分钟前
    @Kepy 你这个需求手搓很容易啊,稍微配一下就好了!
    Richared
        24
    Richared  
       7 小时 33 分钟前
    @mrgeneral #22 gui 他有漏洞啊,你搜一下。漏洞还是 ai 写的代码。作者连看都不带看的,小白只知道好看。
    Richared
        25
    Richared  
       7 小时 29 分钟前
    @Kepy #19 你还是用 surge 吧。这个适合你,不是我矫情,我说的是事实,这个最基本的分流规则的文档都没看懂,那还用啥 singbox 了,自己日常用的分流都不清楚。更别提了。
    https://sing-box.sagernet.org/configuration/route/rule/
    这里边写了,你可以看一下,看不懂没关系,别难为自己。
    liaohongxing
        26
    liaohongxing  
       7 小时 18 分钟前
    @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  
       7 小时 6 分钟前
    @wu67 牛人都有点脾气嘛。。。我哥们去 sing-box 的 tg 里找他提了一些问题和建议,然后就被踢出去了。。。当然这并不妨碍我们继续用它。
    Kepy
        28
    Kepy  
       7 小时 0 分钟前
    @liaohongxing 谢谢,我学习下
    crackself
        29
    crackself  
       6 小时 40 分钟前 via Android
    DNS 和 route 的 rule 都可以用 rule-set 按地区规则,避免 DNS 泄漏。测试下来唯一不好的是 tun 模式下无法分流 onion 域名
    rick13
        30
    rick13  
       6 小时 7 分钟前 via iPhone
    @wu67 bug 多,配置改的也快,群里问问题上来就说不是给小白用的
    Chaidu
        31
    Chaidu  
       5 小时 29 分钟前
    小版本更新不兼容之前的配置文件,这也能忍?自虐狂吗!
    huaweii
        32
    huaweii  
       5 小时 26 分钟前 via Android
    @hefish 你说的这个哥们是不是就是你自己😁
    hefish
        33
    hefish  
       5 小时 21 分钟前
    @huaweii 不是, 我那哥们还八卦到了作者的性取向。。。当然纯属八卦,没有歧视的意思。
    bigshawn
        34
    bigshawn  
       4 小时 52 分钟前
    sing-box 还行吧,虽然跨版本会有改配置格式的问题,会有些学习成本,但是对于能上 v2 的人来说应该都不难。
    daisyfloor
        35
    daisyfloor  
       3 小时 34 分钟前
    @LongLights 认同。我只用 tun+fakeip
    d1g1tal0cean
        36
    d1g1tal0cean  
       2 小时 57 分钟前 via Android
    下过试了下就卸载了,这东西太累。附议 #13
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3613 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:32 · PVG 18:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.