强烈推荐搭配:ZsanUptime([本站原创工具]隆重推出ZsanUptime–监控网页状态并更新异常网页的DNS)
设计目的:
本工具名为EditCFDNS,更够快速更新dns设置,配合一些自动化软件,如配套本站另一个原创工具--ZsanUptime([本站原创工具]隆重推出ZsanUptime–监控网页状态并更新异常网页的DNS),能够识别网页状态并自动更改dns,并发邮件通知。EditCFDNS的功能就是读取预设的dns设置,然后通过cloudflare的api,快速地更新dns设置,并发邮件通知。对于小企业或者个人来说是比较简单直接实现分布式部署的方法。
下载地址:
https://wwz.lanzout.com/b02u2446je
密码:sanjin
使用前提:
在cloudflare上托管域名、多个网页服务通道如frp、cdn、cloudflared等各种内网穿透工具或者其他托管服务。
适用平台:
windows、linux
使用方法:
1、配置预设txt文件
首先将预设好的dns内容按以下格式放在.txt文件中,可以使用配套工具快速预设dns配置文本([本站原创工具]SetDNS–配套EditCFDNS的工具–快速配置dns文本)注意用半角逗号“,”隔开:
类型,网址,内容,ttl(可选),是否使用cloudflare代理(可选,默认代理)
一般情况下这样写即可,如:
A,www.zsanjin.de,6.6.6.6
如果你需要设置ttl生效时间为15分钟,这样配置:
CNAME,www.zsanjin.de,cname.zsanjin.de,15
如果你不需要cloudflare的代理,即橙色小云朵为灰色,则:
A,www.zsanjin.de,9.9.9.9,15,n
如果你需要配置多个dns,一行一个即可,如:
A,www.zsanjin.de,6.6.6.6
CNAME,oneapi.zsanjin.de,cname.zsanjin.de,15
A,pay.zsanjin.de,9.9.9.9,15,n
2、获取cloudflare的API_TOKEN与ZONE_ID
环境变量需要cloudflare的api(API_TOKEN),以及cloudflare的网址区域id(ZONE_ID)首先登录:https://dash.cloudflare.com
如何获取api(API_TOKEN)?
按下图指引创建一个有读取和更改dns权限的api,并保存好api_key。
如何获取区域id(ZONE_ID)?
按下图指引,在顶级域名的概述中获取。
3、编辑环境变量.env
编辑环境变量文件.env,他的文件名就叫“.env”。.env文件必须与editcfdns.exe放在同一个文件夹下,若没有则创建一个。
将第二步获取到的API_TOKEN、ZONE_ID添加&编辑以下内容:
API_TOKEN=abxxxx #必须,cloudflare的api密钥
ZONE_ID=16xxxxx #必须,cloudflare的域名id
HTTP_PROXY=127.0.0.1:10809 #不用代理就删除或注释本条,使用了代理就必填正确信息,否则无法连接
HTTPS_PROXY=127.0.0.1:10809 #不用代理就删除或注释本条,使用了代理就必填正确信息,否则无法连接
SOCKS_PROXY=127.0.0.1:10808 #不用代理就删除或注释本条,使用了代理就必填正确信息,否则无法连接
EDITDNSLOG_RETENTION_DAYS=1 #可选,日志保留天数
DNSLOG_RETENTION_DAYS=1 #可选,日志保留天数
#以下可选,用于邮件通知dns更改情况,以qq邮箱为例
SMTP_SERVER=smtp.exmail.qq.com #邮件服务器
SMTP_PORT=465 #端口
SMTP_USE_TLS=False #默认不启用tls
[email protected] #发件邮箱账号
SMTP_PASSWORD=114514 #发件邮箱密码
[email protected] #发件人
[email protected] #收件人
4、运行程序
程序有3中运作方式,可直接运行,可直接调用,可带json格式反馈的调用。
运行前提,你已经按上面步骤配置好预设包含dns信息的txt文件、填好了环境变量.env文件。
4.1直接运行:
输入刚才预设好的txt文件名(如果与editcfdns.exe在同一目录下直接输入文件名即可),如果不与程序同一个目录的话可以输入之前预设的txt文件路径(windows可以用鼠标直接将文件拖入程序窗口),注意linux环境下需给可执行权限:
chmod +x editcfdns
然后运行:
./editcfdns
windows环境则直接双击运行
下图为实际使用截图;
4.2 以直接调用的方式执行
在终端中,用可执行文件名(+空格)txt文件路径即可,如下图红色粗的横线所示,这将直接执行更改dns任务,不会在终端返回任何信息。,直接输入:
editcfdns /root/editcfdns/ts/1.txt #linux命令
editcfdns.exe C:\Users\xmchem_071a\Downloads\TS #windows命令
4.3 以带json形式反馈的调用方式执行
添加参数“--json-response”,如下图细细的红线所标注,这将执行更新dns任务,并且将执行情况以json格式返回:
editcfdns /root/editcfdns/ts/1.txt --json-response #linux命令
editcfdns.exe C:\Users\xmchem_071a\Downloads\TS --json-response #windows命令
5、邮件通知
如果你设置了邮件通知,那么就可以收到具体的通知,我已经尽量把各项可能遇到的错误或者提示都设计在里面了。关于如何在自己的服务器上搭建邮局可参考:用自家电脑搭建邮箱服务器–poste.io邮局并进行内网穿透
如果碰到bug可以直接在下方评论区提交
Comments 2 条评论
大佬,链接打开显示没有文件
@lyron 被蓝奏云坑了,确实是链接有问题,已经更新
https://wwz.lanzout.com/b02u2446je
密码:sanjin