用 Rust 写了个能返回 Cloudflare CDN 最快的 IP 的本地 DNS 解析器。

2022-10-31 11:36:59 +08:00
 unknown666
3850 次点击
所在节点    分享创造
13 条回复
zenghy0529
2022-10-31 11:44:11 +08:00
水一个
XIU2
2022-10-31 12:08:04 +08:00
看了下,你这还需要一行一行把域名加到 domain.txt 来指定这些域名返回最快 IP 呀。。。

其实用我写的 CloudflareST 搭配 mosdns 也能实现一样的效果,而且一劳永逸。

上游解析结果是 Cloudflare CDN IP 的话,mosdns 就给改为最快 IP 返回给你。
https://github.com/XIU2/CloudflareSpeedTest/issues/115

上面这篇教程是网友写的,我自己以前也研究过,写了一个依靠本地代理来 IP 重定向的方案。
https://github.com/XIU2/CloudflareSpeedTest/discussions/71


很多人也想让我把 XX 功能内置到软件中,但是这样就锁死软件用途了,还是现在这样更灵活一些,可以根据不同需求与各种软件、脚本搭配使用,我自己也写了几个简单脚本、教程。

至于改 Hosts 确实需要管理员权限,至于脚本内容都是明文的,不存在安全不安全的问题~
unknown666
2022-10-31 12:21:21 +08:00
@XIU2 填域名确实不方便。突然想到可以先发到上游拿到返回的 ip 地址,判断在不在 Cloudflare CDN 的地址范围内。在的话后续直接返回最快的 ip 。
molezznet
2022-10-31 13:10:15 +08:00
有可能有 v6 的吗, 有时感觉 v6 的更低,能到 30ms
Chinr
2022-10-31 13:35:19 +08:00
@molezz765 你什么地区呀,我这边分配到的节点都是 170-200ms 左右
molezznet
2022-10-31 13:38:38 +08:00
@Chinr 移动,35ms 有的 我发你几个看看吧
···
2606:4700:90c3::580b:fbf9:a05b
2606:4700:83b0:950c:910:c1b2:5a2a:9e0d
2606:4700:90ce:606f:b094:ef05:e863:df26
2606:4700:83b4:26:b9cb:bb71:882e:f13d
2606:4700:90c0:0:fd3d:824f:151b:60c2
···
XIU2
2022-10-31 14:17:10 +08:00
@molezz765 IPv6 因为 IP 太多,目前我写的 CloudflareSpeedTest 采取的方案是全段随机,即使这样我还嫌多,每次延迟测速都最少几万个 IP 。。。

@Chinr 只有移动才能这么低延迟,因为是直连的香港节点,而电信联通连香港节点都是绕道的,一般扫出的 IP 大都是美西的,一百多延迟。

现在主要是很多人反馈 Cloudflare CDN 的 IPv4 阻断(包括我也出现了,还专门发了 Issues ),因此我很早改用 IPv6 了,虽然延迟比以往 IPv4 多大概 20~30ms ,但起码不会时不时阻断恶心人了。。。
https://github.com/XIU2/CloudflareSpeedTest/issues/217
nzhl
2022-10-31 15:34:20 +08:00
支持下, 看看代码学学 rust
unknown666
2022-10-31 17:50:19 +08:00
更新了一版, 支持自动识别 Cloudflare 域名了。
FightPig
2022-11-01 01:38:52 +08:00
这个看下,说不定用的到
molezznet
2022-11-01 09:20:44 +08:00
@XIU2 测试了下,果然如此, 以前一直用 6 ,没发现 4 已经被盯上了,haproxy 测试了下,列表里 4 一会全红了,6 还是绿的。 一会 4 恢复,真 3min

https://s1.ax1x.com/2022/11/01/xTc9eO.png
tofuliang
2022-11-03 19:57:12 +08:00
不支持 ipv6 啊
molezznet
2022-12-01 16:38:53 +08:00
@XIU2 最近移动 v4 的阻断没了,延迟 30+,反而 v6 的延迟普遍 180+了

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

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

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

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

© 2021 V2EX