国外很多网站都在使用 Cloudflare CDN ,但分配给中国内地访客的 IP 并不友好(延迟高、丢包多、速度慢)。
虽然有人写过测速的脚本,但是需要手动改 hosts ,或者有自动改 hosts 的脚本(但是需要 root 权限,不安全)。
于是写了个 DNS 解析器, 配置文件指定使用了 Cloudflare CDN 的域名, 即可返回最快的 IP 地址,如果不在配置文件中的域名则转发到上游的 DNS 服务器,上游服务器可配置为 smartdns/dnsmasq/其他公共 DNS 服务器地址。
github 仓库地址: cfdns, 欢迎 star/fork/提建议 /提 issue 。
1
zenghy0529 2022-10-31 11:44:11 +08:00
水一个
|
2
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 确实需要管理员权限,至于脚本内容都是明文的,不存在安全不安全的问题~ |
3
unknown666 OP @XIU2 填域名确实不方便。突然想到可以先发到上游拿到返回的 ip 地址,判断在不在 Cloudflare CDN 的地址范围内。在的话后续直接返回最快的 ip 。
|
4
molezznet 2022-10-31 13:10:15 +08:00
有可能有 v6 的吗, 有时感觉 v6 的更低,能到 30ms
|
6
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 ··· |
7
XIU2 2022-10-31 14:17:10 +08:00 1
@molezz765 IPv6 因为 IP 太多,目前我写的 CloudflareSpeedTest 采取的方案是全段随机,即使这样我还嫌多,每次延迟测速都最少几万个 IP 。。。
@Chinr 只有移动才能这么低延迟,因为是直连的香港节点,而电信联通连香港节点都是绕道的,一般扫出的 IP 大都是美西的,一百多延迟。 现在主要是很多人反馈 Cloudflare CDN 的 IPv4 阻断(包括我也出现了,还专门发了 Issues ),因此我很早改用 IPv6 了,虽然延迟比以往 IPv4 多大概 20~30ms ,但起码不会时不时阻断恶心人了。。。 https://github.com/XIU2/CloudflareSpeedTest/issues/217 |
8
nzhl 2022-10-31 15:34:20 +08:00
支持下, 看看代码学学 rust
|
9
unknown666 OP 更新了一版, 支持自动识别 Cloudflare 域名了。
|
10
FightPig 2022-11-01 01:38:52 +08:00
这个看下,说不定用的到
|
11
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 |
12
tofuliang 2022-11-03 19:57:12 +08:00
不支持 ipv6 啊
|