- 基于 CloudflareSpeedTest 项目中脚本修改
- 需要配合 openwrt-cdnspeedtest 项目使用
供 OpenWrt 路由器使用的 Cloudflare IP 优选脚本
可以测试 Cloudflare CDN 延迟和速度,获取最快 IP (IPv4 及 IPv6),自动替换 hosts 中域名对应的 IP 地址,并重启路由器 dnsmasq 服务
- 预编译软件包
-
下载 openwrt-cdnspeedtest 预编译 .ipk 软件包,上传至 OpenWrt 路由器
/tmp
目录 -
ssh 连接至路由器并安装软件包
cd /tmp opkg install cdnspeedtest_2.2.4-1_x86_64.ipk
-
自行编译
# 进入 OpenWrt 编译根目录 cd ${OpenWrt-Build-Dir} # 添加 cdnspeedtest 源码 echo 'src-git cdnspeedtest https://github.com/immortalwrt-collections/openwrt-cdnspeedtest.git' >> feeds.conf.default ./scripts/feeds update -a ./scripts/feeds install -a # 进入 menuconfig 配置界面 make menuconfig # 选中 Network -> cdnspeedtest # 继续进行后续编译操作
-
/etc
目录下创建myhosts
文件并在 OpenWrt 路由器 额外的 HOSTS 文件 配置项填入/etc/myhosts
-
myhosts
文件中添加需要进行 Cloudflare IP 优选的域名,首次运行时需要将所有域名对应的 IP 配置为相同值,IPv4 与 IPv6 需要分别配置# IPv4 1.1.1.1 example-domain1.com 1.1.1.1 example-domain2.com # IPv6 2.2.2.2 example-domain1.com 2.2.2.2 example-domain2.com
-
下载优选脚本及 Cloudflare IP 列表,上传至 OpenWrt 路由器
/etc/CloudflareST
目录 -
ssh 连接至路由器并手动运行
cd /etc/CloudflareST bash cfst_hosts.sh # 分别输入 IPv4 地址 (1.1.1.1) 及 IPv6 地址 (2.2.2.2)
-
配置任务计划
# 每天 2:00 运行 0 2 * * * cd /etc/CloudflareST/ && bash cfst_hosts.sh
-
可在
/etc/sysupgrade.conf
文件中增加条目,避免升级时相关脚本及配置被清除# CloudflareSTHosts /etc/myhosts /etc/CloudflareST