第一步:在 Cloudflare 申请一个纯粹的 API Token
登录 Cloudflare 控制台,点击右上角人头像 -> 我的个人资料 (My Profile)。
左侧菜单选择 API 令牌 (API Tokens) -> 点击 创建令牌 (Create Token)。
找到 编辑区域 DNS (Edit zone DNS) 模板,点击 使用模板。
区域资源 (Zone Resources) 配置:
选择:包括 (Include) -> 单区 (Single zone) -> 选择你的域名 akkdiy.cn。
点击 继续以显示摘要 -> 点击 创建令牌。
复制这串生成的 Token(通常是一长串以 Ed... 或类似字符开头的乱码,确保前后没有任何空格)。
登录 OpenWrt 终端执行命令
请 SSH 连接到你的 OpenWrt,然后依次执行以下 4 行命令:
# 1. 彻底清空用户名(关键!用户名为空,脚本才会切换到 Token 鉴权模式,从而不发送 X-Auth-Email 和 X-Auth-Key)
uci set ddns.cloudflarev4.username=''
# 2. 将密码设置为你刚才在第一步复制的 API Token(把单引号里的内容替换成你真实的 Token)
uci set ddns.cloudflarev4.password='这里填入你刚才复制的一长串API_Token'
# 3. 提交并保存配置
uci commit ddns
# 4. 重启 DDNS 脚本服务
/etc/init.d/ddns restart
如果继续报错
root@RabbitAkk:~# 045105 WARN : Service section not configured
correctly! Missing key as 'username' - TERMINATE
请在 SSH 终端里,依次复制并执行以下命令:
# 1. 既然它强行要 username,我们就给它填一个固定的占位符 "Bearer"
# 老版本脚本看到 username 不为空就不会报错;同时它看到是 "Bearer",会自动把 password 当作 Token 发送!
uci set ddns.cloudflarev4.username='Bearer'
# 2. 确保你的密码填入的是你申请的那个长 Token(以 "Ed..." 开头的那串)
uci set ddns.cloudflarev4.password='这里填入你申请的API_Token'
# 3. 提交保存
uci commit ddns
# 4. 重启 DDNS 服务
/etc/init.d/ddns restart
现在执行完这 4 行命令,再用 tail -f /var/log/ddns/*.log 观察一下日志,这一次应该就能顺利拿到成功更新的绿灯了!
版权属于:小杨的生活
本文链接:https://web.akkdiy.cn/archives/939/
转载时须注明出处及本声明