diff --git a/www/caddy/pkg-descr b/www/caddy/pkg-descr index e0b12623d..85d66a474 100644 --- a/www/caddy/pkg-descr +++ b/www/caddy/pkg-descr @@ -33,6 +33,8 @@ Plugin Changelog * Add: Error message when Auto HTTPS is enabled, and ACME email field is empty, for caddy v2.8.4 * Cleanup: Fix crash of searchAction when reverseUuids is null * Cleanup: basicauth directive is now basic_auth in the Caddyfile template, for caddy v2.8.4 +* Change: Dynamic DNS "TTL" and "Check Interval" have been changed to seconds. Existing values have been reset to use the defaults of the implementation. +* Add: Dynamic DNS now supports "Update Only", only updating existing records without creating new ones. * Fix: The subdomain port field has been removed, since it is unsupported. Subdomains track their ports from their parent wildcard domain. * Add: DNS Providers: dnsmadeeasy, bunny, civo, scaleway, acmeproxy, inwx, namedotcom, easydns, infomaniak, directadmin, hosttech, vultr * Remove: DNS Providers: godaddy diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dynamicdns.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dynamicdns.xml index 3304ac080..e465103ba 100644 --- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dynamicdns.xml +++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dynamicdns.xml @@ -6,16 +6,23 @@ - caddy.general.DynDnsCheckInterval - - text - + caddy.general.DynDnsUpdateOnly + + checkbox + - caddy.general.DynDnsTTL + caddy.general.DynDnsInterval + + text + 1800 + + + + caddy.general.DynDnsTtl text - + header diff --git a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml index d65186476..eab9054cd 100644 --- a/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml +++ b/www/caddy/src/opnsense/mvc/app/models/OPNsense/Caddy/Caddy.xml @@ -1,7 +1,7 @@ //Pischem/caddy A GUI model for configuring a reverse proxy in the Caddy web server. - 1.2.1 + 1.2.2 @@ -108,13 +108,11 @@ Please enter a valid URL, starting with http or https. - - 5 + 1 - 1440 - Please enter a valid number from 1 to 1440 minutes. - Y - + 2147483647 + Please enter a valid number from 1 to 2147483647 seconds or leave empty for default. + IPv4+IPv6 @@ -122,13 +120,12 @@ IPv6 only - - 1 - 1 - 24 - Please enter a valid number from 1 to 24 hours. - Y - + + 0 + 2147483647 + Please enter a valid number from 0 to 2147483647 seconds or leave empty for default. + + diff --git a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile index 63598f962..6640f0c4e 100644 --- a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile +++ b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile @@ -101,10 +101,11 @@ # - @param dnsOptionalField1 to 4 (string): Optional configuration field for the DNS provider. # - @param dynDnsSimpleHttp (string): URL for a simple HTTP-based service to discover the server's public IP. # - @param dynDnsInterface (string): Network interface(s) to use for IP discovery. - # - @param dynDnsCheckInterval (integer): Interval in minutes to check for IP changes. + # - @param dynDnsCheckInterval (integer): Interval in seconds to check for IP changes. Can be empty for defaults. # - @param dynDnsIpVersions (string): The IP version(s) (IPv4, IPv6) for the DDNS update. - # - @param dynDnsTTL (integer): Time-To-Live for the DNS records, in hours. + # - @param dynDnsTtl (integer): Time-To-Live for the DNS records, in seconds. Can be empty for defaults. # - @param dynDnsDomains (list): Domains and subdomains list for which DDNS updates are enabled. + # - @param dynDnsUpdateOnly (boolean): If set, only updates DNS records, not creating new ones. #} {% set dnsProvider = helpers.toList('Pischem.caddy.general.TlsDnsProvider') | first %} {% set dnsApiKey = generalSettings.TlsDnsApiKey %} @@ -115,9 +116,10 @@ {% set dnsOptionalField4 = generalSettings.TlsDnsOptionalField4 %} {% set dynDnsSimpleHttp = generalSettings.DynDnsSimpleHttp %} {% set dynDnsInterface = generalSettings.DynDnsInterface %} - {% set dynDnsCheckInterval = generalSettings.DynDnsCheckInterval %} + {% set dynDnsUpdateOnly = generalSettings.DynDnsUpdateOnly %} + {% set dynDnsCheckInterval = generalSettings.DynDnsInterval %} {% set dynDnsIpVersions = generalSettings.DynDnsIpVersions %} - {% set dynDnsTTL = generalSettings.DynDnsTTL %} + {% set dynDnsTtl = generalSettings.DynDnsTtl %} {% set dynDnsDomains = [] %} {% for reverse in helpers.toList('Pischem.caddy.reverseproxy.reverse') %} @@ -330,13 +332,16 @@ ip_source interface {{ physicalInterfaceNames | join(',') }} {% endif %} {% if dynDnsCheckInterval %} - check_interval {{ dynDnsCheckInterval }}m + check_interval {{ dynDnsCheckInterval }}s {% endif %} {% if dynDnsIpVersions %} versions {{ dynDnsIpVersions }} {% endif %} - {% if dynDnsTTL %} - ttl {{ dynDnsTTL }}h + {% if dynDnsTtl %} + ttl {{ dynDnsTtl }}s + {% endif %} + {% if dynDnsUpdateOnly|default("0") == "1" %} + update_only {% endif %} } {% endif %}