cf2dns可以筛选出优质的Cloudflare IP(以接口方式提供15分钟更新一次),并使用域名服务商提供的API解析到不同线路以达到网站加速的效果(目前只完成DNSPod和阿里云DNS,后续如果有需求将会加入其他运营商的)
这篇文章就来利用GitHub Actions,以达到自动更换自选IP的效果。对于加速网站还是有不错效果的。学习本文的同时,你可能需要简单学习下GitHub Actions的知识。
GitHub Actions:https://www.daniao.org/12015.html
1、简介
项目:https://github.com/tmmtoo/cf2dns
2、准备
Cloudflare自选IP并已接入到DNSPod或阿里云DNS,不知道怎么自选IP可以查看:教程
Python3、pip环境(如果是GitHub Actions这一步就不要管了!)
3、获取密钥等
1)登录腾讯云后台或者阿里云后台,获取 SecretId、SecretKey,如果使用阿里云DNS,注意需要添加DNS控制权限AliyunDNSFullAccess。这里以dnspod为列,看图:
2)进入后台后,如果你之前没有密钥,需要新建一个,新建也很简单,直接点击新建密钥 会自动生成。
3、Fork项目到自己的仓库
1)注意,我们这里是利用gihub actions来部署这个,所以,如果你没有github账号,自行去申请一个。
官网:https://github.com/
2)如何fork看图:
4、GitHub Actions 运行部署
前面的准备工作都做完了,这里就进入正题了。
1)Fork完成项目后,点击Settings->Secrets-New secret,分别是DOMAINS,KEY,SECRETID,SECRETKEY。DOMAINS的填写时注意不要有换行 如下:
{"xia.wtf": {"@": ["CM","CU","CT"], "shop": ["CM", "CU", "CT"], "stock": ["CM","CU","CT"]},"4096.me": {"@": ["CM","CU","CT"], "vv":["CM","CU","CT"]}}
注意,这里只有一个根域名,如果你还有其他子域名,请根据说明填写。
2)KEY API密钥,从商店购买KEY,也可以使用这个KEY o1zrmHAF
,区别是 o1zrmHAF
是历史优选的。而购买的KEY是15分钟内获取到的对各运营商速度最优的的Cloudflare IP。
注意,需要先买试用,充值,好在价格不贵就1块钱~
3)SECRETID和SECRETKEY,就是上面从腾讯云后台或者阿里云后台,获取到的的。
4)全部环境变量设置完成如图:
5)修改项目中的 .github/workflows/run.yml
文件,修改定时执行的时长(建议15分钟执行一次),最后点击 start commit
提交即可在Actions中的build查看到执行情况,如果看到 cf2dns
执行日志中有 CHANGE DNS SUCCESS
详情输出,即表示运行成功。需要注意观察下次定时是否能正确运行,有时候GitHub Actions 挺抽风的
6)以上是需要启用Action,点击仓库菜单栏中的Actions
,启用之前还需要点击<I understand my workflows, go ahead and enable them>
7)执行效果
5、添加记录
这一步骤属于一些细节了。我们在dnspod的域名管理处如何添加IP。这里简单说下,我们可以每个线路添加2个IP,比如说,移动添加2个cf的移动IP,2个电信ip,2个联通ip,海外解析用cname默认给我们的ip即可。看图:
6、最后
我们可以用ping.chianz.com这个工具ping一下,会发现,没过15分钟或者你设定的30分钟,IP记录会改变,程序会自动删选一些优质IP,以达到加速网站的目的。
利用GitHub Actions的有点是不需要服务器,无成本运行,但是有时候也挺抽风的,如果有条件,推荐还是用一台vps来运行。下一篇文章说说如何利用自己的vps来运行这个项目。
评论前必须登录!
注册