由于项目的需要,有些朋友需要周期的将大量的域名、网站使用Cloudflare进行域名和站点的管理DNS。今天就有网友找到老左,问有没有更为简便和批量的办法将域名批量的添加进来,比如他自己每月需要一百多个域名需要添加和删除,如果能自动化和批量化操作会节省较大的时间。
在Cloudflare中其实是有提供API的,可以利用其功能进行批量添加域名,在这篇文章中,老左将尝试看看如何解决这个问题。
第一、准备工作
1、拥有一个Cloudflare账户
2、需要执行脚本的Linux或者本机MacOS
3、申请到 Cloudflare API key(My Profile-Global API Key)
4、用.txt文档每行一条的记录域名列表,比如domain.txt
第二、利用API批量添加域名
1、执行API
export CF_API_EMAIL=我们的CF账户邮箱
export CF_API_KEY=API申请的密钥
2、编辑循环
for domain in $(cat domain.txt); do \
curl -X POST -H "X-Auth-Key: $CF_API_KEY" -H "X-Auth-Email: $CF_API_EMAIL" \
-H "Content-Type: application/json" \
"https://api.cloudflare.com/client/v4/zones" \
--data '{"name":"'$domain'","jump_start":true}'; done
3、反馈信息
然后我们看到老左随便添加进domain.txt几个域名都执行添加过程。上面老左进行了一个投机行为,随便找了几个未注册的域名,这样是无法添加的,看来还是比较严格的。
这里我找了几个常见且正常注册过的域名进来,当然我是没有权限添加的,我只是举个例子说明需要是注册过的域名才可以添加进来,要不会报错。
第三、修改DNS
修改域名DNS我们无法批量操作,如果我们域名在一个注册商也是可以批量修改DNS的,直接修改成Cloudflare的DNS就可以了。
总结,通过Cloudflare API我们可以快速批量的添加域名到CF账户中,因为手工添加,每个域名需要等待一段时间检测,批量可以提高效率,尤其是需要大量域名的人。