singbox | sfm 个人感觉现在免费里性能最好的,学习一下你们的 dns 配置

2025 年 7 月 22 日
 vincentchyu

这里是我 dns 的配置(四个主策略 1111 优先、8888 兜底、国内域名走阿里,apple 走本地)

"dns": {
    "fakeip": {
      "enabled": true,
      "inet4_range": "198.18.0.0/15",
      "inet6_range": "fc00::/18"
    },
    "servers": [
      {
        "tag": "google",
        "address": "tls://8.8.8.8",
        "detour": "Proxy"
      },
      {
        "tag": "remote",
        "address": "tls://1.1.1.1",
        "detour": "Proxy"
      },
      {
        "tag": "china",
        "address": "https://223.5.5.5/dns-query",
        "detour": "direct"
      },
      {
        "tag": "system",
        "address": "local",
        "detour": "direct"
      },
      {
        "tag": "fakeip",
        "address": "fakeip"
      }
    ],
    "rules": [
      {
        "outbound": "any",
        "server": "china"
      },
      {
        "clash_mode": "direct",
        "server": "china"
      },
      {
        "clash_mode": "global",
        "server": "remote"
      },
      {
        "query_type": "HTTPS",
        "rule_set": "geosite-geolocation-!cn",
        "server": "remote"
      },
      {
        "query_type": "HTTPS",
        "rule_set": "geosite-cn",
        "action": "reject"
      },
      {
        "ip_is_private": true,
        "server": "system"
      },
      {
        "rule_set": [
          "geosite-apple",
          "geosite-microsoft"
        ],
        "server": "system"
      },
      {
        "rule_set": [
          "geosite-bilibili",
          "geosite-cn"
        ],
        "server": "china"
      },
      {
        "type": "logical",
        "mode": "and",
        "rules": [
          {
            "rule_set": "geosite-geolocation-!cn",
            "invert": true
          },
          {
            "rule_set": "geoip-cn"
          }
        ],
        "server": "china",
        "client_subnet": "114.114.114.114/24"
      },
      {
        "query_type": [
          "A",
          "AAAA"
        ],
        "rule_set": "geosite-geolocation-!cn",
        "server": "fakeip"
      }
    ],
    "final": "google",
    "independent_cache": true,
    "strategy": "prefer_ipv4"
  },
5400 次点击
所在节点    macOS
21 条回复
NG6
2025 年 7 月 22 日
这是我的,用着感觉还行,不过我的用途是给不支持 proxy 的容器做代理用
```
{
"log": {
"level": "info",
"timestamp": true
},
"experimental": {
"cache_file": {
"enabled": true,
"store_fakeip": true,
"store_rdrc": true
}
},
"dns": {
"independent_cache": true,
"disable_cache": false,
"strategy": "ipv4_only",
"servers": [
{
"tag": "ali",
"type": "https",
"server": "223.5.5.5",
"detour": "direct"
},
{
"tag": "ali-h3",
"type": "h3",
"server": "xxxxxx.alidns.com",
"detour": "direct",
"domain_resolver": "ali"
},
{
"tag": "fakeip",
"type": "fakeip",
"inet4_range": "198.18.0.0/15",
"inet6_range": "fc00::/18"
}
],
"rules": [
{
"rule_set": "geosite-cn",
"server": "ali-h3"
},
{
"query_type": [
"A",
"AAAA"
],
"server": "fakeip"
}
]
},
"route": {
"default_domain_resolver": "ali-h3",
"auto_detect_interface": true,
"rules": [
{
"action": "sniff"
},
{
"protocol": "dns",
"action": "hijack-dns"
},
{
"ip_is_private": true,
"outbound": "direct"
},
{
"rule_set": [
"geosite-cn",
"geoip-cn"
],
"outbound": "direct"
},
{
"protocol": "quic",
"port": 443,
"action": "reject",
"method": "default",
"no_drop": false
},
{
"inbound": "tun",
"outbound": "clash"
}
],
"rule_set": [
{
"tag": "geosite-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.github.com/lyc8503/sing-box-rules/rule-set-geosite/geosite-cn.srs",
"download_detour": "clash"
},
{
"tag": "geoip-cn",
"type": "remote",
"format": "binary",
"url": "https://raw.github.com/lyc8503/sing-box-rules/rule-set-geoip/geoip-cn.srs",
"download_detour": "clash"
}
]
},
"inbounds": [
{
"type": "tun",
"tag": "tun",
"address": [
"172.18.0.1/30"
],
"auto_route": true,
"strict_route": true
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct",
"connect_timeout": "5s"
},
{
"type": "socks",
"tag": "clash",
"server": "192.168.1.92",
"connect_timeout": "5s",
"server_port": 17891
}
]
}
```
chunchu
2025 年 7 月 22 日
能否提供一个完整配置文件参考一下,谢谢
liaohongxing
2025 年 7 月 22 日
请教一下 dns 的 query_type 为什么可以填 https
daisyfloor
2025 年 7 月 22 日
和你用没用 tun 有一些关系。

1 、如果你没用 tun ,其实 fakeip 没什么作用,可能还带来额外的问题。因为 mix 进来的流量会至今进入路由而不会进行 dns 解析,singbox 的路由机制和 clash 也不一样,默认不进行 dns 解析去匹配 ip 规则,所以走代理的都去了远端代理解析,走直连的,才会在域名方式进入 direct 后,调用"default_domain_resolver"指定的那个 server 直接进行解析(不走 DNS 里的规则)。

2 、如果你用了 tun ,那么所有进入 tun 的的流量,都会先进行 dns 解析,这个时候正确的做法是让 fakeip 直接接管(目的是避免本地 dns 解析的额外开销+dns 泄露和污染的风险),这样带着 fakeip 的流量进入路由后,回到步骤 1 的流程。用最快的方式进行分流和出站。


如果你路由的 ip 规则需要进行本地域名解析进行匹配,则需要在 ip 规则之前加入解析 action ,这里也是直接指定 dns server

{
"action": "resolve",
"server": "google"
},


所以,最终还是看你怎么用,我使用 mix+tun 进站,并且启用了 fakeip ,于是我只在 dns 路由规则里放了 reject 广告规则(其实也可以不放,放在后面的路由里也是可以的,只是放在这里某些情况下这会快一些)、之后是 fakeip 接管所有 dns 解析请求。

快的飞起。


我用的是 1.12 。

你应该根据自己的实际用况,结合 sing-box 的的逻辑(时尚 1.11 和 1.12 在某些地方还是有有差别的)进合理配置。
Leeeeex
2025 年 7 月 22 日
wuxkwnjjwoxk
2025 年 7 月 22 日
分流国内外 dns 没有任何意义
ylx
2025 年 7 月 22 日
vokins
2025 年 7 月 22 日
dns 还不如系统默认,试过各种 dns ,会出现各种各样的小问题
NASK
2025 年 7 月 23 日
楼主一般怎么弄 singbox 的配置的,之前喜欢用这个软件,但是这个软件每次升级配置文件就要频繁变动,有点劝退
radeon019
2025 年 7 月 23 日
@wuxkwnjjwoxk #6 怎么理解?
d0m2o08
2025 年 7 月 23 日
@NASK 不升级新版😂,每次版本变化都导致配置文件变动确实劝退
vincentchyu
2025 年 7 月 23 日
先回复一些简单的问题,复杂问题在分步回答
@NG6 牛学习中
@chunchu 可能有些敏感的配置不太适合而且文件太大了
@vokins 是的我也有这样的感觉,但是经验告诉我一般是自己专业性的的问题,学习好了就可以解决
@liaohongxing 有些 dns 请求是加密的 DoH 、tls 而很多国产的地址并不需要这个过程,毕竟开代理 dns 服务是绕开运行商的采集,走公开的会比较好。
vincentchyu
2025 年 7 月 23 日
@wuxkwnjjwoxk 怎么说呢如果你为了加速更快的境外体验、避免 dns 过程泄露(为何要 dns 解析并且防止泄露就要知道泄露的主体是谁)一定是有用的
vincentchyu
2025 年 7 月 23 日
@NASK https://github.com/vincenty1ung/sing-box-subscribe fork 过来 ,定期我会执行一次 py 脚本更新一下代理列表,希望可以帮到你
vincentchyu
2025 年 7 月 23 日
@daisyfloor
2.我是 tun 接管所以用了 fakeip ,但是不想 apple 和国内的很多 ip 走 fakeip 想减少转换开销,所以做了!cn a 、aaaa 才走 fakeip
1.我起初还以为 fakeip 在转换 domain 后到,路由规则后,选择对应的代理配置,然后走 dns 设置好的 final dns server 做 dns 解析然后转换成 ip 给到代理端 ip+port ,原来是直接交给代理服务做了 dns ?

想问一下这个 有点看不太懂,看了 singbox 官方的文档对这个也没有太多的解释。
{
"action": "resolve",
"server": "google"
},
wuxkwnjjwoxk
2025 年 7 月 23 日
@radeon019 以 lz 的配置为例,判断 dns 是否分流的规则和直接用域名规则/geoip 分流然后交给 remote server 处理并没有区别,何必多此一举。况且 remote server 也未必使用 lz 指定的 dns ,这可以用自建 vps 配和能看见解析记录的 dns 验证一下。不如直接使用一个可信的 dns 或者干脆就用公共 dns ,毕竟就解析个 dns 也不会把人抓了。
vincentchyu
2025 年 7 月 23 日
@wuxkwnjjwoxk 可是你用公共的或者 114 国外的域名会被返回错误的 ip 地址 ,错误的 ip 地址交给 remote server 并不可用啊
wuxkwnjjwoxk
2025 年 7 月 23 日
@a66243766 这就是第二点,机场会使用自己的的 dns ,你在 client 里面指定是不起效的
daisyfloor
2025 年 7 月 23 日
@a66243766

比如你的逻辑规则是这样
geosite-globle ,proxy
geosite-cn ,direct
geoip-cn ,direct
final ,proxy

如果没有
{
"action": "resolve",
"server": "google"
},

假如有一个域名,qishishichina.com 不在上述任何一个域名规则集里,那么在 singbox 的逻辑中里是不会进行域名解析得到 ip 地址去匹配那个 ip 规则的,而是直接交给 final 了。

这样做也没有问题,但 qishishichina.com 如果是一个国内域名它对应的 ip 也是国内的,那走 proxy 就绕路了,这我们希望更准确一点,在 geoip-cn 这条规则之前加入

{
"action": "resolve",
"server": "google"
},

就会在两条域名规则都不匹配之后,进行域名解析,去匹配 ip 规则,发现是一个 cn 的 ip ,走 direct 出去。

如果你用过 clash 应该就知道区别在哪里。clash 默认会进行域名解析去匹配 ip 规则,而 sing-box 不会。
Cruzz
2025 年 7 月 24 日
你整这么复杂干啥,一个国内一个国外,国内域名走国内,剩下的 final 走国外。其实 dns 无所谓,机场都会开,忘了叫啥了,他不用你的 dns 解析,他会自己解析。你自己搭建也可以开,肯定用 vps 自己的 dns 最好。

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

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

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

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

© 2021 V2EX