如何给群晖添加Cloudflare DDNS
Dec172020
脚本地址:https://github.com/joshuaavalon/SynologyCloudflareDDNS
Synology Cloudflare DDNS脚本
是用于将Cloudflare作为DDNS添加到Synology NAS的脚本。该脚本使用了更新的API Cloudflare API v4。
如何使用
通过SSH访问Synology
- 登录到您的DSM
- 转到控制面板>终端和SNMP>启用SSH服务
- 使用您的客户端通过SSH访问Synology。
- 使用您的Synology管理员帐户进行连接。
在Synology中运行命令
- 将
cloudflareddns.sh从此存储库下载到/sbin/cloudflareddns.sh
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflareddns.sh
如果脚本无法下载可将,脚本放到国内服务器地址,如果SSL报错,取消https变成HTPP即可正常下载。
路径不是必须的,您可以随便放置。如果以其他名称或路径放置脚本,请确保使用正确的路径。
- 授予他人执行许可
chmod +x /sbin/cloudflareddns.sh
nano /sbin/cloudflareddns.sh #手动修改第六行的 proxy="true" 为 proxy="false" 避免被 CDN 代理.
将群晖的网络设置为全部自动获取,避免手动指定的网关无法正常连接api.cloudflare.com
群晖:控制面板-网络-网络界面-局域网1-编辑-自动获取保存。
控制面板-网络-常规-手动指定DNS,勾取消掉,关闭。
- 添加
cloudflareddns.sh到Synology
cat >> /etc.defaults/ddns_provider.conf << 'EOF'
[Cloudflare]
modulepath=/sbin/cloudflareddns.sh
queryurl=https://www.cloudflare.com
website=https://www.cloudflare.com
EOF
queryurl 没关系,因为我们将使用脚本,但这是必需的。
获取Cloudflare参数
- 转到您的域名概述页面,然后复制您的区域ID。
- 进去域名界面> 获取API令牌>创建令牌。它应该具有的权限
Zone > DNS > Edit。复制api令牌。如图所示



测试代码在SSH中运行测试一下:

设置DDNS
- 登录到您的DSM
- 转到控制面板>外部访问> DDNS>添加
- 输入以下内容:
- 服务提供者:
Cloudflare - 主机名:
www.example.com#在域名控制面板解析的域名,例如:www.example.com - 用户名/电子邮件:
<区域ID># 区域ID - 密码密钥:
<DDNSAPI Token># 最后一步创建的DDNS API 令牌。
- 服务提供者:
保存之后,发现,正常链接。
杯子寂寞,被人倒进了开水,滚烫的感觉,杯子想这就是恋爱的感觉吧。水变温了,杯子很舒服,想着就是生活的感觉吧。水变凉了,杯子害怕,也许这就是失去的感觉吧。水变得彻底的凉,杯子很难受,想把水倒出,水终于倒掉。杯子很舒服,但杯子也掉在地上摔成一片一片的。杯子发现每一片上都有水留下的痕迹,它知道心里还爱着水,它想完整地再爱一次水,却不可能了。难道只有失去后才懂得珍惜,只有等一切过去才知道幸福,它明白了要好好珍惜现在所用有的……