diff --git a/www/caddy/pkg-descr b/www/caddy/pkg-descr
index b29f9461b..e0b12623d 100644
--- a/www/caddy/pkg-descr
+++ b/www/caddy/pkg-descr
@@ -34,6 +34,8 @@ Plugin Changelog
* 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
* 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
1.5.6
diff --git a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dnsprovider.xml b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dnsprovider.xml
index 7f469d4e9..39d36919c 100644
--- a/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dnsprovider.xml
+++ b/www/caddy/src/opnsense/mvc/app/controllers/OPNsense/Caddy/forms/dnsprovider.xml
@@ -9,7 +9,7 @@
caddy.general.TlsDnsApiKey
text
-
+
header
@@ -20,19 +20,19 @@
caddy.general.TlsDnsSecretApiKey
text
-
+
caddy.general.TlsDnsOptionalField1
text
-
+
caddy.general.TlsDnsOptionalField2
text
-
+
caddy.general.TlsDnsOptionalField3
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 a65ba0e4b..d65186476 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.0
+ 1.2.1
@@ -26,7 +26,6 @@
Cloudflare
Duck DNS
DigitalOcean
- GoDaddy
Gandi
IONOS
Desec
@@ -48,6 +47,19 @@
Mail-in-a-Box
Netcup
RFC2136
+ DNS Made Easy
+ Bunny
+ Civo
+ Scaleway
+ ACME Proxy
+ INWX
+ Netcup
+ Name.com
+ EasyDNS
+ Infomaniak
+ DirectAdmin
+ Hosttech
+ Vultr
diff --git a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile
index db183733c..63598f962 100644
--- a/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile
+++ b/www/caddy/src/opnsense/service/templates/OPNsense/Caddy/Caddyfile
@@ -143,7 +143,7 @@
{% if dnsProvider and dnsProvider != "acmedns" and dynDnsDomains|length > 0 %}
dynamic_dns {
- {% if dnsProvider in ['porkbun', 'desec', 'route53', 'googleclouddns', 'azure', 'ovh', 'namecheap', 'powerdns', 'ddnss', 'linode', 'tencentcloud', 'dinahosting', 'hexonet', 'mailinabox', 'netcup', 'rfc2136'] %}
+ {% if dnsProvider in ['porkbun', 'desec', 'route53', 'googleclouddns', 'azure', 'ovh', 'namecheap', 'powerdns', 'ddnss', 'linode', 'tencentcloud', 'dinahosting', 'hexonet', 'mailinabox', 'netcup', 'rfc2136', 'dnsmadeeasy', 'civo', 'scaleway', 'acmeproxy', 'inwx', 'netcup', 'namedotcom', 'easydns', 'directadmin'] %}
provider {{ dnsProvider }} {
{% if dnsProvider == 'porkbun' %}
{% if dnsApiKey %}api_key {{ dnsApiKey }}
@@ -254,9 +254,64 @@
{% endif %}
{% if dnsOptionalField2 %}server {{ dnsOptionalField2 }}
{% endif %}
+ {% elif dnsProvider == 'dnsmadeeasy' %}
+ {% if dnsApiKey %}api_key {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}secret_key {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}api_endpoint {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'civo' %}
+ {% if dnsApiKey %}api_token {{ dnsApiKey }}
+ {% endif %}
+ {% elif dnsProvider == 'scaleway' %}
+ {% if dnsApiKey %}secret_key {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}organization_id {{ dnsSecretApiKey }}
+ {% endif %}
+ {% elif dnsProvider == 'acmeproxy' %}
+ {% if dnsApiKey %}username {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}endpoint {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'inwx' %}
+ {% if dnsApiKey %}username {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}shared_secret {{ dnsOptionalField1 }}
+ {% endif %}
+ {% if dnsOptionalField2 %}endpoint_url {{ dnsOptionalField2 }}
+ {% endif %}
+ {% elif dnsProvider == 'namedotcom' %}
+ {% if dnsApiKey %}token {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}server {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}user {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'easydns' %}
+ {% if dnsApiKey %}api_token {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}api_url {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'directadmin' %}
+ {% if dnsApiKey %}host {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}user {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}login_key {{ dnsOptionalField1 }}
+ {% endif %}
+ {% if dnsOptionalField2 %}insecure_requests {{ dnsOptionalField2 }}
+ {% endif %}
{% endif %}
}
{% else %}
+ {# Other DNS Providers fall under this default #}
provider {{ dnsProvider }} {{ dnsApiKey }}
{% endif %}
domains {
@@ -358,7 +413,7 @@
#}
{% macro tls_configuration(dnsProvider, dnsApiKey, customCert, dnsChallenge, dnsSecretApiKey, TlsDnsOptionalField1, TlsDnsOptionalField2, TlsDnsOptionalField3, TlsDnsOptionalField4) %}
{% if dnsChallenge == "1" and dnsProvider %}
- {% if dnsProvider in ['duckdns', 'porkbun', 'desec', 'route53', 'acmedns', 'googleclouddns', 'azure', 'ovh', 'namecheap', 'powerdns', 'ddnss', 'linode', 'tencentcloud', 'dinahosting', 'hexonet', 'mailinabox', 'netcup', 'rfc2136'] %}
+ {% if dnsProvider in ['duckdns', 'porkbun', 'desec', 'route53', 'acmedns', 'googleclouddns', 'azure', 'ovh', 'namecheap', 'powerdns', 'ddnss', 'linode', 'tencentcloud', 'dinahosting', 'hexonet', 'mailinabox', 'netcup', 'rfc2136', 'dnsmadeeasy', 'civo', 'scaleway', 'acmeproxy', 'inwx', 'netcup', 'namedotcom', 'easydns', 'directadmin'] %}
tls {
dns {{ dnsProvider }} {
{% if dnsProvider == 'duckdns' %}
@@ -484,11 +539,66 @@
{% endif %}
{% if dnsOptionalField2 %}server {{ dnsOptionalField2 }}
{% endif %}
+ {% elif dnsProvider == 'dnsmadeeasy' %}
+ {% if dnsApiKey %}api_key {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}secret_key {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}api_endpoint {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'civo' %}
+ {% if dnsApiKey %}api_token {{ dnsApiKey }}
+ {% endif %}
+ {% elif dnsProvider == 'scaleway' %}
+ {% if dnsApiKey %}secret_key {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}organization_id {{ dnsSecretApiKey }}
+ {% endif %}
+ {% elif dnsProvider == 'acmeproxy' %}
+ {% if dnsApiKey %}username {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}endpoint {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'inwx' %}
+ {% if dnsApiKey %}username {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}password {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}shared_secret {{ dnsOptionalField1 }}
+ {% endif %}
+ {% if dnsOptionalField2 %}endpoint_url {{ dnsOptionalField2 }}
+ {% endif %}
+ {% elif dnsProvider == 'namedotcom' %}
+ {% if dnsApiKey %}token {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}server {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}user {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'easydns' %}
+ {% if dnsApiKey %}api_token {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}api_key {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}api_url {{ dnsOptionalField1 }}
+ {% endif %}
+ {% elif dnsProvider == 'directadmin' %}
+ {% if dnsApiKey %}host {{ dnsApiKey }}
+ {% endif %}
+ {% if dnsSecretApiKey %}user {{ dnsSecretApiKey }}
+ {% endif %}
+ {% if dnsOptionalField1 %}login_key {{ dnsOptionalField1 }}
+ {% endif %}
+ {% if dnsOptionalField2 %}insecure_requests {{ dnsOptionalField2 }}
+ {% endif %}
{% endif %}
}
}
{% else %}
tls {
+ {# Other DNS Providers fall under this default #}
dns {{ dnsProvider }} {{ dnsApiKey }}
}
{% endif %}