【RouterOS(ROS)】Cloudflare DDNS 脚本
本文基于 ROS 7.18.2 编写
前言
因为最近忽悠了个同事玩NAS,暂时用的我的域名,给他整完反代之后,看着 cloudflare 一大串的域名记录,看着很蛋疼,索性把没必要更新的地址全都换成了 CNAME 记录,看起来清爽多了
然后还是感觉原本的脚本不太好用,就重新写了一个脚本自用
和网上流传的脚本,主要有以下改进:
- ✅ 支持多个域名和记录类型(A / AAAA)同时更新
- 🔐 使用 Cloudflare API Token,设置更简单
- ➕ 自动新建域名记录,无需手动创建
- 🧠 使用缓存机制,避免高频 API 请求,支持强制更新时间间隔
- 📤 支持提交本机或内网设备的 IPv6 地址(如 ::1、手动后缀拼接、MAC 地址获取)
- 📡 使用 Cloudflare DNS API 读取域名记录,而非 DNS 解析
其实本来应该加上可以同步多个设备 IPv6 地址的,不过考虑到设置反代之后其实根本不需要这个功能,就懒得做了
配置说明
设置方面比较简单,只需要在脚本顶部设置以下变量:
1 | :local CFiface "pppoe-out1" # 获取IPv4地址的接口 |