AI 摘要

尔曹身手几何? OP: 这其实是“如何使用这个工具”这么一段来着2333。再来一段文言文摘要呗~

强烈推荐搭配: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可以直接在下方评论区提交

如果该工具对你有帮助也希望可以在下发链接或者下发评论区上的猪猪罐打赏~

感谢请我吃辣条
感谢请我吃泡面
感谢请我喝奶茶