自选cloudflare cdn节点
经过一段时间使用找到了一个CloudFlare自选节点更好的方法
对比现有网上提供的方法,相对而言更加的简单也不用频繁更新脚本
fork了原项目来进行修改满足了自选节点对dnspod的设置
可对现有的v2ray cdn节点进行加速或emby等流媒体进行播放速度优化
前置条件
一个非免费的域名(.tk等免费域名cf不支持解析)
一个内网测速的机器此设备不能具备翻墙等功能
域名的解析服务在dnspod上(不支持其他域名解析商)
域名接入与dns设置
- 使用cloudFlare 服务商接入域名
目前很多服务商已经不能添加域名了, 目前存活的挖站否还能使用

- 进入对应的管理界面,添加一条新记录

这里添加一条test子域名,记录内容为原服务器ip
- 返回到管理界面会看到下方cname接入已经多了一条test.999779.xyz的记录

记录对应的test.999779.xyz的cname值
- 登录到dnspod上进入到dns解析设置页面添加一条cname的记录

- 接着我们再一条A记录线路选择境内记录值可以随便填写(这条记录是我们后续自选ip时会用到的)

这样我们前期的设置工作已经完成了
接下来我们需要在内网的设备跑脚本进行自选ip然后进行cdn节点设
脚本设置使用
获取dnspod的token和id
编写配置文件config.yaml
1 | dnspod: |
第一次使用的情况下,我们需要获取dnspod的配置信息(使用-dlist参数)
CloudflareSpeedTest -dlist
输出内容如下
1 | "records": [ |
接着修改config.yaml配置文件,添加record字段内容对应我们上面添加的那条境内的A记录
1 | dnspod: |
这样我们就已经设置完成了
然后执行./CloudflareSpeedTest 就能自选节点并设置了
这里推荐写一个定时任务每天早上4-5之间选个时间来定时跑一次自选IP的任务(移动的宽带好像cf cdn有buff,不需要每天选择不能使用的时候重选一次即可,联通和电信宽带失效时间就比较快了)
5 4 * * * /data/CloudflareSpeedTest >> /data/cronlog 2>&1
运行时间大概会在10分钟左右,生效时间也会在10分钟左右
当然可以进行参数优化
家里的宽带>=100M 时可加参数-sl 8(满足8m/s下载速度的ip地址)
默认会选择10条满足的ip地址出来添加-dn 1参数(只要有一条满足就设置dnspod cdn ip)
完整的参数如下
5 4 * * * /data/CloudflareSpeedTest -sl 8 -dn 1>> /data/cronlog 2>&1
扩展内容
上面的内容满足了所有境内ip访问域名的时候都用自选的ip
但是有时候会想进行3网优化(移动,电信,联通)
这个时候就需要修改下定时任务(v1.5.6版本才支持),添加-re参数对应线路的值
1 | 7=0 境内 |
5 4 * * * /data/CloudflareSpeedTest -sl 10 -re 7=0 >> /data/cronlog 2>&1
config.yaml内的record参数也记得做出对应记录id做出修改