代码:
https://github.com/pagxir/dns-resolfer-ng/

如果是在运行于国内使用(比如软路由上),则推荐配置如下:
const NameSerfers = {
  nearby: { address: "::ffff:223.5.5.5", port: 53},
  nearby6: { address: "2001:4860:4860::8888", port: 53},
  global: { address: "64:ff9b::1.1.1.1", port: 53},
  global6: { address: "64:ff9b::8.8.8.8", port: 53},
  oiling: { address: "::ffff:202.12.30.131", port: 53},
};

const Config = {};
Config.oilingMode = "China";
Config.preferNat64 = true;
这里 nearby 推荐使用 ISP 的作为国内的上游 DNS ,用于解释国内 A 记录
这里 nearby6 推荐使用 dns.google ,用于解释国内 AAAA 记录
global ,global6 用于解释国外的 A 记录跟国外的 AAA 记录,最好通过隧道走远端的 VPS 。

如果是运行于国外,例如搭建 DOH ,则推荐配置:
const NameSerfers = {
  nearby: { address: "::ffff:180.76.76.76", port: 53},
  nearby6: { address: "2001:4860:4860::8888", port: 53},
  global: { address: "::ffff:1.1.1.1", port: 53},
  global6: { address: "::ffff:8.8.8.8", port: 53},
  oiling: { address: "::ffff:202.12.30.131", port: 53},
};

const Config = {};
Config.oilingMode = "Global";
Config.preferNat64 = true; // 如果希望 IPv6,而不是 DNS64/NAT64 ,则修改为 false

最后的效果就是,国内域名会选择 ISP 的的结果,国外域名回选择 global 的解释结果。

不关注什么 DNS 泄漏,只关注正确的分流域名。

然后如果 Config.preferNat64 = ture ,需要正确配置一下 NAT64, 不过因为国外走 NAT64 ,这样完全不干扰本地 IPv4 网络,硬件加速也不会受到影响,本地 ipv4 能不能跑满跟你没有配置前一样。

即使本地网络没有 IPv6 也可以使用的,就是需要配置.
举报· 73 次点击
登录 注册 站外分享
5 条回复  
ddczl 小成 2024-9-6 22:35:39
AdGuardHome 就是 node 的 DNS 方案
hefish 小成 2024-9-6 22:37:48
只考虑 dot, doh 的方案,不然警察叔叔电话会打来的。
yangg 初学 2024-9-6 22:51:46
给个 star,求 lz 加个 README
spartacussoft 初学 2024-9-6 23:02:00
1 、协议要从 udp/tcp 改为 Doh ;
2 、需要增加 edns client subnet ;

另外,没看到如何确认域名归属地的。。
mjikop1231 小成 2024-9-10 15:53:46
@ddczl #1 人 59.6%比重的 go 代码兄弟。。。那点 typescript 全是给 webui 用的
返回顶部