From 8ee15ced75b5c554c0b7f3ee70dc32f7a5f6b14a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robin=20M=C3=BCller?= Date: Sat, 29 Jan 2022 15:59:46 +0100 Subject: [PATCH] dns/ddclient Add Cloudflare (#2781) * Added Cloudflare as DynDNS provider * Fixed zone requirement --- .../controllers/OPNsense/DynDNS/forms/dialogAccount.xml | 7 +++++++ .../src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml | 5 +++++ .../service/templates/OPNsense/ddclient/ddclient.conf | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/dns/ddclient/src/opnsense/mvc/app/controllers/OPNsense/DynDNS/forms/dialogAccount.xml b/dns/ddclient/src/opnsense/mvc/app/controllers/OPNsense/DynDNS/forms/dialogAccount.xml index 2ee8e7271..9aad7678b 100644 --- a/dns/ddclient/src/opnsense/mvc/app/controllers/OPNsense/DynDNS/forms/dialogAccount.xml +++ b/dns/ddclient/src/opnsense/mvc/app/controllers/OPNsense/DynDNS/forms/dialogAccount.xml @@ -30,6 +30,13 @@ add a DNS wildcard CNAME record that points to the configured host. + + account.zone + + text + + Zone containing the host entry. + account.hostnames diff --git a/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml b/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml index e6f4ea2a2..756d13c0d 100644 --- a/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml +++ b/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml @@ -54,6 +54,7 @@ A service type is required. Changeip + Cloudflare DynDNS.com DnsPark DslReports @@ -87,6 +88,10 @@ 0 Y + + N + N + N /^([\t\n\v\f\r 0-9a-zA-Z.,_\x{00A0}-\x{FFFF}]){1,255}$/u diff --git a/dns/ddclient/src/opnsense/service/templates/OPNsense/ddclient/ddclient.conf b/dns/ddclient/src/opnsense/service/templates/OPNsense/ddclient/ddclient.conf index fc221b782..a506db3ec 100644 --- a/dns/ddclient/src/opnsense/service/templates/OPNsense/ddclient/ddclient.conf +++ b/dns/ddclient/src/opnsense/service/templates/OPNsense/ddclient/ddclient.conf @@ -46,7 +46,10 @@ use=web, web=http://dynamic.zoneedit.com/checkip.html {% if helpers.exists('OPNsense.DynDNS.accounts.account') %} {% for account in helpers.toList('OPNsense.DynDNS.accounts.account') %} {% if account.enabled|default('0') == '1' %} -{% if account.service == 'nsupdatev4' %} +{% if account.service == 'cloudflare' %} +protocol=cloudflare +zone={{account.zone}} +{% elif account.service == 'nsupdatev4' %} protocol=dyndns2 ssl=yes server=ipv4.nsupdate.info