如何通过API修改cloudflare DNS解析
CloudFlare官方之前已经宣告了CloudFlare Partner项目将于去年底彻底停止服务,Partner/Plesk接入的用户担心DNS管理的问题。
一、引言
实际上,Partner接入后对DNS记录的管理并不是必须通过Partner的面板,他们最终都是通过CloudFlare API实现的记录管理,因此我们也可以直接用账户的GlobalAPI KEY和API KEY对记录进行管理。实现直接通过API密钥的管理并不困难,大家常用的TlOxygen面板就能够支持,只需要安装时在设置中将Host KEY所在行注释掉,然后就可以通过邮箱+账号GlobalAPI KEY登陆。这样操作的缺点显而易见,GlobalAPI KEY每次查看必须要登陆账号并输入hCaptcha验证码,并且这个密钥拥有账号最高权限,不管是易用性还是安全性都不是很好。
一次偶然的机会,看到有人讨论的时候提到了Dnsflare这个项目,可能是作者在Github对项目简介写的过于简单了(部署到Vercel的具体步骤都没有描述),这个项目Star并不多。
Dnsflare 项目地址:https://github.com/5aaee9/Dnsflare
二、面板部署
Vercel
作者@5aaee9设计就是部署到Vercel的,部署到Vercel的话直接一站式解决了反代+静态站点托管的问题。如果要自己的搭建的话,可以fork以下原作者的GitHub项目,然后直接在Vercel选择你fork的项目进行部署。配置上只需要把FRAMEWORK PRESET改成Vue.js、把OUTPUT DIRECTORY改成build即可(作者近期更新后变为输出到dist目录,请注意源码版本)。
Dnsflare是本地浏览器发起请求去API,如果觉得麻烦直接使用博主的就可以:
演示:http://cdn.vps6.cn
三、密钥认证
获取GlobalAPI KEY的方式就不在文中赘述了,简便快捷的子API密钥可以通过【我的个人资料】-【API令牌】中进行生成(点击前往)。点击【创建令牌】,选择【编辑区域DNS】的模板
在此处选择你允许该子API(令牌)访问的账户和域名,按照你的需要进行配置即可
不需要邮箱,直接将子API密钥(令牌)填到Dnsflare中,点击提交就可以进行管理了。
ps:可以将自己的密钥保存下来,或者可以直接在API页面点击【投放】重置密钥,只需要几秒钟就能得到一个新的密钥。
Dnsflare在使用上不止安全、方便,基于API的管理方式还可以连同NS接入的域名一同修改。通过简单的方式自己搭建一个或者使用现有免费托管平台上的都能保证其长期可用性,也不必再担心Partner跑路或者关停影响自己的使用了。