首先获取API密钥

登录cloudflare

https://dash.cloudflare.com/profile/api-tokens

获取:Global API Key

获取域名区域ID

选择其中一个域名进入

域名的右侧,找到区域ID,复制ID

前提:要把域名提前解析好,

准备好域名正在使用的IP(原始ip) 备用IP(切换后的ip)

下载脚本

脚本地址:https://github.com/woniu336/open_shell/tree/main/dns_update

https://www.123pan.com/s/cjqrVv-qZq9d.html

或者直接复制以下命令到终端运行

1
wget https://raw.githubusercontent.com/woniu336/open_shell/main/dns_update/dns_update.sh && wget https://raw.githubusercontent.com/woniu336/open_shell/main/dns_update/dns_update.py && chmod +x dns_update.sh dns_update.py

安装依赖

1
2
3
pip install requests

sudo apt-get install jq

运行dns_update.sh

先运行dns_update.sh 提示输入API密钥,登录邮箱,区域ID,原始IP,备用ip,检测的端口号

注意:原始ip就是正在使用的IP,检测到宕机后切换ip就是备用ip,要检测哪个端口号看你的需求,

1
./dns_update.sh

完成后,会将信息录入dns_update.py脚本

运行dns_update.py

终端输入:

1
chmod +x dns_update.py
1
python3 dns_update.py

测试脚本

比如安装了宝塔面板,端口是5577,port = 5577 然后停止面板,

或者你安装了nginx,停止ngnix, port = 80 。。。

以上都会触发脚本自动更换ip

会看到终端显示更新DNS记录,切换备用ip提示,也可以到cloudflare去看DNS解析情况

如果要关掉小云朵cdn,修改:

1
proxied=True 改成 proxied=False

后台运行

1
nohup python3 dns_update.py >> nohup.out 2>&1 &

查看所有Python3进程

1
ps -ef | grep python3

禁止运行

1
pkill -f dns_update.py