- 脚本默认优先获取ipv4地址,要ipv6可以自己改下
Debian/Ubuntu:
apt update
apt install jqCentOS/RHEL:
yum install -y epel-release
yum install -y jq以下为创建单个域名DNS修改权限的api教程,不要使全局api
- 登录Cloudflare仪表盘。
- 进入我的个人资料 -> API令牌。
- API令牌模板 -> 编辑区域DNS。
- 权限:区域 -> DNS-> 编辑。
- 区域资源:包括 -> 特定区域 -> 选择你的域名。
- 创建 Token。
下载脚本:
wget https://raw.githubusercontent.com/meslcloud/ddns/main/ddns.sh编辑ddns.sh:
#!/bin/bash
API_TOKEN="API令牌"
ZONE_NAME="example.com" # 域名
RECORD_NAME="sub.example.com" # 子域名
TTL=120 # TTL 值
PROXIED=false # 是否开启 Cloudflare 代理chmod +x ddns.sh测试:
./ddns.sh如果成功,终端会输出:
[日期 时间] DNS 记录更新成功:sub.example.com -> 公网IPcrontab -e每分钟运行一次脚本:
* * * * * /root/ddns.sh