因为github actions的不确定性,如果有条件的话话是自己准备一台vps来部署自选IP的脚本。
这篇文章还是利用cf2dns筛选出优质的Cloudflare IP(以接口方式提供15分钟更新一次),并使用域名服务商提供的API解析到不同线路以达到网站加速的效果(目前只完成DNSPod和阿里云DNS,后续如果有需求将会加入其他运营商的)
当然我们还是利用宝塔面板来实现这个功能,宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=
1、简介
1)项目:https://github.com/tmmtoo/cf2dns
2)之前讲过如何利用github actions来优选IP的教程:https://www.daniao.org/13406.html
2、准备
1)为了降低教程的难度,这里我们利用centos8来安装宝塔
2)宝塔面板实验版本,代码如下:
curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh
3、宝塔的环境设置
1)安装宝塔就不多讲了。
2)与其他Linux发行版不同,CentOS 8默认不安装Python,所以这里我们自己安装一个py3版本即可,如下:
dnf install python3
3)安装好后,设置软连接,如下:
ln -s /usr/bin/python3 /usr/bin/python
4)使用python -V检查,发现py3.6.8已经搞定
[root@daniao ~]# python -VPython 3.6.8
5)安装pip,具体命令如下:
wget https://bootstrap.pypa.io/get-pip.pypython get-pip.pypip -V
4、部署
1)宝塔的环境设置好后,现在开始部署,下载程序
git clone https://github.com/tmmtoo/cf2dns.git
2)这里默认是下载在root目录,进入到cf2dns目录后修改cf2dns.py中的SecretId、SecretKey、key,以及域名修改。修改好后是这样的。
#可以从https://shop.hostmonit.com获取KEY = "McOoaeeeeeE" #这里修改为自己的,需要买一个#CM:移动 CU:联通 CT:电信#修改需要更改的dnspod域名核子域名DOMAINS = { "vps.com": {"@": ["CM","CU","CT"]}}#解析生效条数 免费的DNSPod相同线路最多支持2条解析AFFECT_NUM = 2#DNS服务商 如果使用DNSPod改为1 如果使用阿里云解析改成2DNS_SERVER = 1#解析生效时间,默认为600秒 如果不是DNS付费版用户 不要修改!!!TTL = 600#API 密钥#腾讯云后台获取 https://console.cloud.tencent.com/cam/capi#阿里云后台获取 https://help.aliyun.com/document_detail/53045.html?spm=a2c4g.11186623.2.11.2c6a2fbdh13O53 注意需要添加DNS控制权限 AliyunDNSFullAccessSECRETID = 'AKID1te5JP444444444444444444444444444X' #注意,这需要修改为自己的SECRETKEY = 'zvfrrrrrrbIB55555555555555555555555I' #注意,这需要修改为自己的
注意,
- 需要登录腾讯云后台或者阿里云后台,获取 SecretId、SecretKey,如果使用阿里云DNS,注意需要添加DNS控制权限AliyunDNSFullAccess
- 修改脚本中域名配置信息,可配置多个域名和多个子域名,注意选择DNS服务商
- (可选)从商店购买KEY,当然也可以用脚本中自带的,区别是脚本中自带的KEY是历史优选的Cloudflare IP(也可以从这个网站查到IP的信息),而购买的KEY是15分钟内获取到的最新的Cloudflare IP。
3)安装运行脚本所需依赖
pip install -r requirements.txt
4)运行程序,如果能够正常运行可以选择cron定时执行(建议15分钟执行一次)
python cf2dns.py
5、宝塔计划任务执行程序
1)因为用宝塔来部署,所以还需要利用宝塔的计划任务来按时执行程序,推荐15分钟执行一次。打开宝塔的计划任务开始执行任务,具体执行脚本如下:
注意,脚本内容填写:python /root/cf2dns/cf2dns.py
注意,修改为自己的路径。
2)测试效果,看图:
dnspod看效果,看红框的时间即可,15分钟轮换一次。
6、最后
因为github actions的不确定性,建议有条件的童鞋还是用vps来部署,更为稳妥。以上教程,为了简化难度,用了centos8安装的宝塔来折腾,这里要注意下。
最后提醒下,15分钟更新一次IP,太奢侈了,建议2小时更新一次,用起来也很丝滑。
评论前必须登录!
注册