RouterOS script for Cloudflare DDNS using API_Token as authorization.
- 你需要将
JParseFunctions
导入至RouterOS的scripts
中
导入后在RouterOS终端运行以下命令
/system script run "JParseFunctions"; global JSONLoad; global JSONLoads; global JSONUnload
- 从Cloudflare获取API_TOKENS
注意本脚本并不需要你的API_KEY与邮箱
仅需要拥有编辑区域DNS
权限的API_TOKENS
即可完成任务 - 将
ros-ddns-sample
导入至RouterOS的scripts
中
你可能想要重命名并复制这个文件,如果你需要创建多个DDNS记录
- 根据
ros-ddns-sample
文件中的提示修改对应键值
你需要输入的是uniqueID
,WANInterface
,CFdomain
,CFzone
,TTL
,CFproxied
,CFapitoken
uniqueID
必须唯一,它用于记录zoneID
与domainID
为多个DDNS脚本设置相同的uniqueID
会导致DNS记录错误更新TTL
单位为秒CFproxied
用于开关Cloudflare's DNS Proxy
功能 (橙色云朵图标)WANInterface
填入获取ip的目标接口名
(pppoe拨号则填pppoe接口名)
- RouterOS终端中运行
$JSONUnload
这将自动清除所有JParseFunctions
加载的全局变量 - RouterOS终端中运行
set $CFarray
这将删除本脚本所加载的全局变量
- 几乎所有异常均可以通过移除
CFarray
全局变量解决
在RouterOS终端中运行set $CFarray
在这之后脚本将会在下次运行时重新获取zoneID
与domainID
- 其他问题欢迎在issue中提出
https://github.com/Winand/mikrotik-json-parser
https://github.com/kiss2u/ros-cloudflare-ddns