diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
index 3b2f618ef..25d472bfb 100644
--- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
+++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml
@@ -1008,6 +1008,26 @@
text
Specify the custom ACME DNS Update URL, i.e. https://auth.acme-dns.io/update (optional)
+
+
+ header
+
+
+
+ validation.dns_acmeproxy_endpoint
+
+ text
+ Specify the acmeproxy endpoint URL, i.e. https://acmeproxy.examp
+
+ validation.dns_acmeproxy_username
+
+ text
+
+
+ validation.dns_acmeproxy_password
+
+ password
+
header
diff --git a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
index 4bf12717f..3b4228b3a 100644
--- a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
+++ b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml
@@ -358,6 +358,7 @@
dns_nsupdate
ACME DNS API
+ Acmeproxy API
Alwaysdata.com API
aliyun.com API
AutoDNS (InterNetX) API
@@ -847,7 +848,16 @@
N
-
+
+ N
+
+
+ N
+
+
+ N
+
+
N
diff --git a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
index 9abdd32e8..d297b4ade 100755
--- a/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
+++ b/security/acme-client/src/opnsense/scripts/OPNsense/AcmeClient/certhelper.php
@@ -653,7 +653,12 @@ function run_acme_validation($certObj, $valObj, $acctObj)
$proc_env['ACMEDNS_SUBDOMAIN'] = (string)$valObj->dns_acmedns_subdomain;
$proc_env['ACMEDNS_UPDATE_URL'] = (string)$valObj->dns_acmedns_updateurl;
break;
- case 'dns_ad':
+ case 'dns_acmeproxy':
+ $proc_env['ACMEPROXY_ENDPOINT'] = (string)$valObj->dns_acmeproxy_endpoint;
+ $proc_env['ACMEPROXY_USERNAME'] = (string)$valObj->dns_acmeproxy_username;
+ $proc_env['ACMEPROXY_PASSWORD'] = (string)$valObj->dns_acmeproxy_password;
+ break;
+ case 'dns_ad':
$proc_env['AD_API_KEY'] = (string)$valObj->dns_ad_key;
break;
case 'dns_ali':