@@ -75,22 +89,29 @@ POSSIBILITY OF SUCH DAMAGE.
-
-
- {{ lang._('After changing settings, please remember to apply them with the button below') }}
-
-
-
-
+
+ {{ partial("layout_partials/base_form",['fields':formSettings,'id':'frm_settings'])}}
+
+
+
+
+
+ {{ lang._('After changing settings, please remember to apply them with the button below') }}
+
+
+
+
+
+
{# include dialogs #}
{{ partial("layout_partials/base_dialog",['fields':formDialogAccount,'id':'DialogAccount','label':lang._('Edit Account')])}}
diff --git a/dns/ddclient/src/opnsense/service/templates/OPNsense/Syslog/local/ddclient.conf b/dns/ddclient/src/opnsense/service/templates/OPNsense/Syslog/local/ddclient.conf
new file mode 100644
index 000000000..7dc55b077
--- /dev/null
+++ b/dns/ddclient/src/opnsense/service/templates/OPNsense/Syslog/local/ddclient.conf
@@ -0,0 +1,6 @@
+###################################################################
+# Local syslog-ng configuration filter definition [ddclient].
+###################################################################
+filter f_local_ddclient {
+ program("ddclient");
+};
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 d6ee57eff..3e5b2baaf 100644
--- a/dns/ddclient/src/opnsense/service/templates/OPNsense/ddclient/ddclient.conf
+++ b/dns/ddclient/src/opnsense/service/templates/OPNsense/ddclient/ddclient.conf
@@ -2,44 +2,63 @@ daemon=300 # check every 300 seconds
syslog=yes # log update msgs to syslog
pid=/var/run/ddclient.pid # record PID in file.
-{% set websettings = {
- 'noip': 'use=web,',
- 'nsupdate': 'use=web, web=http://ipv4.nsupdate.info/myip,'
-} %}
-
+#
+# setup how we expect to retrieve an IP address
+#
+{% if not helpers.empty('OPNsense.DynDNS.general.checkip') and OPNsense.DynDNS.general.checkip.startswith('web_') %}
+{% set checkip = OPNsense.DynDNS.general.checkip.lstrip('web_') %}
+{% if checkip == 'dyndns' %}
+use=web, web=http://checkip.dyndns.org/, web-skip="Current IP Address:"
+{% elif checkip == 'freedns' %}
+use=web, web=https://freedns.afraid.org/dynamic/check.php
+{% elif checkip == 'googledomains' %}
+use=web, web=https://domains.google.com/checkip
+{% elif checkip == 'he' %}
+use=web, web=http://checkip.dns.he.net/
+{% elif checkip == 'ip4only.me' %}
+use=web, web=http://ip4only.me/api/
+{% elif checkip == 'ip6only.me' %}
+use=web, web=http://ip6only.me/api/
+{% elif checkip == 'ipify-ipv4' %}
+use=web, web=https://api.ipify.org/
+{% elif checkip == 'ipify-ipv6' %}
+use=web, web=https://api6.ipify.org/
+{% elif checkip == 'loopia' %}
+use=web, web=http://dns.loopia.se/checkip/checkip.php, web-skip="Current IP Address:"
+{% elif checkip == 'myonlineportal' %}
+use=web, web=https://myonlineportal.net/checkip
+{% elif checkip == 'noip-ipv4' %}
+use=web, web=http://ip1.dynupdate.no-ip.com/
+{% elif checkip == 'noip-ipv6' %}
+use=web, web=http://ip1.dynupdate6.no-ip.com/
+{% elif checkip == 'nsupdate.info-ipv4' %}
+use=web, web=https://ipv4.nsupdate.info/myip
+{% elif checkip == 'nsupdate.info-ipv6' %}
+use=web, web=https://ipv6.nsupdate.info/myip
+{% elif checkip == 'zoneedit' %}
+use=web, web=http://dynamic.zoneedit.com/checkip.html
+{% endif %}
+{% endif %}
{% 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 == 'noip' %}
-
-protocol=noip, \
-use=web, \
-ssl=yes, \
-login={{account.username}}, \
-password={{account.password}} \
-{{account.hostnames}}
-
+protocol=noip
+ssl=yes
{% elif account.service == 'nsupdatev4' %}
-
-protocol=dyndns2, \
-use=web, web=https://ipv4.nsupdate.info/myip, \
-ssl=yes, \
-server=ipv4.nsupdate.info, \
-login={{account.username}}, \
-password='{{account.password}}' \
-{{account.hostnames}}
-
+protocol=dyndns2
+ssl=yes
+server=ipv4.nsupdate.info
{% elif account.service == 'nsupdatev6' %}
-protocol=dyndns2, \
-use=web, web=https://ipv6.nsupdate.info/myip, \
-ssl=yes, \
-server=ipv6.nsupdate.info, \
-login={{account.username}}, \
-password='{{account.password}}' \
+protocol=dyndns2
+ssl=yes
+server=ipv6.nsupdate.info
+{% endif %}
+login={{account.username}}
+password={{account.password}}
{{account.hostnames}}
-{% endif %}
{% endif %}
{% endfor %}
{% endif %}