The is a script to be used to add Cloudflare as a DDNS to Synology NAS. This is a modified version script from Michael Wildman. The script used an updated API, Cloudflare API v4.
- Login to your DSM
- Go to Control Panel > Terminal & SNMP > Enable SSH service
- Use your client or commandline to access Synology. If you don't have any, I recommand you can try out MobaXterm for Windows.
- Use your Synology admin account to connect.
- Download
cloudflareddns.sh
from this repository to/sbin/cloudflaredns.sh
wget https://raw.githubusercontent.com/joshuaavalon/SynologyCloudflareDDNS/master/cloudflareddns.sh -O /sbin/cloudflaredns.sh
It is not a must, you can put I whatever you want. If you put the script in other name or path, make sure you use the right path.
- Give others execute permission
chmod +x /sbin/cloudflaredns.sh
- Add
cloudflareddns.sh
to Synology
cat >> /etc.defaults/ddns_provider.conf << 'EOF'
[Cloudflare]
modulepath=/sbin/cloudflaredns.sh
    queryurl=https://www.cloudflare.com/
E*.
queryurl
does not matter because we are going to use our script but it is needed.
- Go to your domain overview page and get the Zone ID.
- Go to your account setting page and get API Key.
- Get record id using Cloudflare API.
curl -X GET "https://api.cloudflare.com/client/v4/zones/[Zone ID]/dns_records" \
-H "X-Auth-Email: [Email]" \
-H "X-Auth-Key: [API Key]" \
-H "Content-Type: application/json"
You need to replace with [] with your parameter. Then, you get the id
in result
which is you Record ID.
- Enter the parameters to the
cloudflareddns.sh
. - Login to your DSM
- Go to Control Panel > External Access > DDNS > Add
- Select Cloudflare as service provider. Enter your domain as hostname, your Cloudflare account as Username/Email, and API key as Password/Key
These are the parameters from Synology.
DNS record type
Record ID
Zone ID
Time to live for DNS record. Value of 1 is 'automatic'
Whether the record is receiving the performance and security benefits of Cloudflare.
Log file location
You can read the Cloudflare API documentation v4 for more details.