=== Cloudflare DDNS Configuration using config.gateway.json ===
\\
Recent firmware on the USG (tested on 4.5.3dev, but should work on recent 4.4x also) allows for native configuration of CloudFlare DDNS without a third party service (like the ever popular DNS-O-Matic).
The only catch [for now], is you have to use config.gateway.json (this file is on/needs to be created on the controller in the applicable site) to accomplish this (as of Controller 5.9.4).
**If you need further information please see [[https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-Advanced-USG-Configuration|UniFi Advanced USG Configuration]] for help about where to create the config.gateway.json.**
\\
--------------------------------------------------------------------------------------------------------------------------
__**PLEASE NOTE:**__
* Prior to creating the .json file on your gateway, create the file in a text editor, such as Atom or Notepad++, and then validate your file at a JSON validator site such as https://jsonlint.com/.
* If the syntax fails verification, and you provision it on your gateway, it could cause reboot issues.
* If your unsure, reach out to the **[[https://discord.me/ubnt|Ubiquiti Discord Chat]]** or the **[[https://community.ubnt.com/t5/custom/page/page-id/Forums|UBNT Community Forums]]** **prior** to saving/provisioning for support.
--------------------------------------------------------------------------------------------------------------------------
\\
Below is an example of the **config.gateway.json** needed to make this work:
Do not include the < > when adding the data, only add the information between the " " (quotes).
{
"service": {
"dns": {
"dynamic": {
"interface": {
"": {
"service": {
"cloudflare": {
"host-name": [
""
],
"login": "",
"options": [
"zone="
],
"password": "",
"protocol": "cloudflare",
"server": "www.cloudflare.com"
}
}
}
}
}
}
}
}
To obtain your **Cloudflare Global API Key**, visit the https://www.cloudflare.com/ site, log in, and click **Get your API key** from the Overview Tab.
--------------------------------------------------------------------------------------------------------------------------
=== If the above does not work ===
The above did not work for me, on 4.4.36.5146617. But the following does
- Upgrade ddclient to 3.9.0 (from 3.8.3)
- Install the required dependency libdata-validate-ip-perl (Requires adding remotes, so make sure do not do upgrade of any packages)
- Make sure the subdomain you want to automatically is set to any value at cloudflare.
- Do the same config as above but **skip server** (as in remove that part of the json)
- Now it should work.
If it complaints about Invalid Value for keyword 'ip' = ''"
don't worry it has nothing to do with getting the dynamic dns working.