第一步:在 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 观察一下日志,这一次应该就能顺利拿到成功更新的绿灯了!

Last modification:May 11, 2026
If you think my article is useful to you, please feel free to appreciate