diff --git a/README.md b/README.md
index 9925979bd..7878e9d32 100644
--- a/README.md
+++ b/README.md
@@ -103,198 +103,203 @@ If your DNS provider is not supported, please open an [issue](https://github.com
| ClouDNS |
CloudXNS (Deprecated) |
+ Com Laude |
ConoHa v2 |
- ConoHa v3 |
+ | ConoHa v3 |
Constellix |
Core-Networks |
CPanel/WHM |
- DDnss (DynDNS Service) |
+ | DDnss (DynDNS Service) |
Derak Cloud |
deSEC.io |
Designate DNSaaS for Openstack |
- Digital Ocean |
+ | Digital Ocean |
DirectAdmin |
DNS Made Easy |
DNSExit |
- dnsHome.de |
+ | dnsHome.de |
DNSimple |
DNSPod (deprecated) |
Domain Offensive (do.de) |
- Domeneshop |
+ | Domeneshop |
DreamHost |
Duck DNS |
Dyn |
- DynDnsFree.de |
+ | DynDnsFree.de |
Dynu |
EasyDNS |
EdgeCenter |
- Efficient IP |
+ | Efficient IP |
Epik |
Exoscale |
External program |
- F5 XC |
+ | F5 XC |
freemyip.com |
FusionLayer NameSurfer |
G-Core |
- Gandi |
+ | Gandi |
Gandi Live DNS (v5) |
Gigahost.no |
Glesys |
- Go Daddy |
+ | Go Daddy |
Google Cloud |
Google Domains |
Gravity |
- Hetzner |
+ | Hetzner |
Hosting.de |
Hosting.nl |
Hostinger |
- Hosttech |
+ | Hosttech |
HTTP request |
http.net |
Huawei Cloud |
- Hurricane Electric DNS |
+ | Hurricane Electric DNS |
HyperOne |
IBM Cloud (SoftLayer) |
IIJ DNS Platform Service |
- Infoblox |
+ | Infoblox |
Infomaniak |
Internet Initiative Japan |
Internet.bs |
- INWX |
+ | INWX |
Ionos |
Ionos Cloud |
IPv64 |
- ISPConfig 3 |
+ | ISPConfig 3 |
ISPConfig 3 - Dynamic DNS (DDNS) Module |
iwantmyname (Deprecated) |
JD Cloud |
- Joker |
+ | Joker |
Joohoi's ACME-DNS |
KeyHelp |
Leaseweb |
- Liara |
+ | Liara |
Lima-City |
Linode (v4) |
Liquid Web |
- Loopia |
+ | Loopia |
LuaDNS |
Mail-in-a-Box |
ManageEngine CloudDNS |
- Manual |
+ | Manual |
Metaname |
Metaregistrar |
mijn.host |
- Mittwald |
+ | Mittwald |
myaddr.{tools,dev,io} |
MyDNS.jp |
MythicBeasts |
- Name.com |
+ | Name.com |
Namecheap |
Namesilo |
NearlyFreeSpeech.NET |
- Neodigit |
+ | Neodigit |
Netcup |
Netlify |
Nicmanager |
- NIFCloud |
+ | NIFCloud |
Njalla |
Nodion |
NS1 |
- Octenium |
+ | Octenium |
Open Telekom Cloud |
Oracle Cloud |
OVH |
- plesk.com |
+ | plesk.com |
Porkbun |
PowerDNS |
Rackspace |
- Rain Yun/雨云 |
+ | Rain Yun/雨云 |
RcodeZero |
reg.ru |
Regfish |
- RFC2136 |
+ | RFC2136 |
RimuHosting |
RU CENTER |
Sakura Cloud |
- Scaleway |
+ | Scaleway |
Selectel |
Selectel v2 |
SelfHost.(de|eu) |
- Servercow |
+ | Servercow |
Shellrent |
Simply.com |
Sonic |
- Spaceship |
+ | Spaceship |
Stackpath |
Syse |
Technitium |
- Tencent Cloud DNS |
+ | Tencent Cloud DNS |
Tencent EdgeOne |
Timeweb Cloud |
TodayNIC/时代互联 |
- TransIP |
+ | TransIP |
UKFast SafeDNS |
Ultradns |
United-Domains |
- Variomedia |
+ | Variomedia |
VegaDNS |
Vercel |
Versio.[nl|eu|uk] |
- VinylDNS |
+ | VinylDNS |
Virtualname |
VK Cloud |
Volcano Engine/火山引擎 |
- Vscale |
+ | Vscale |
Vultr |
webnames.ca |
webnames.ru |
- Websupport |
+ | Websupport |
WEDOS |
West.cn/西部数码 |
Yandex 360 |
- Yandex Cloud |
+ | Yandex Cloud |
Yandex PDD |
Zone.ee |
ZoneEdit |
+
| Zonomi |
+ |
+ |
+ |
diff --git a/cmd/zz_gen_cmd_dnshelp.go b/cmd/zz_gen_cmd_dnshelp.go
index 8e3b4ebce..921263f7d 100644
--- a/cmd/zz_gen_cmd_dnshelp.go
+++ b/cmd/zz_gen_cmd_dnshelp.go
@@ -44,6 +44,7 @@ func allDNSCodes() string {
"cloudru",
"cloudxns",
"com35",
+ "comlaude",
"conoha",
"conohav3",
"constellix",
@@ -914,6 +915,29 @@ func displayDNSHelp(w io.Writer, name string) error {
ew.writeln()
ew.writeln(`More information: https://go-acme.github.io/lego/dns/com35`)
+ case "comlaude":
+ // generated from: providers/dns/comlaude/comlaude.toml
+ ew.writeln(`Configuration for Com Laude.`)
+ ew.writeln(`Code: 'comlaude'`)
+ ew.writeln(`Since: 'v4.33.0'`)
+ ew.writeln()
+
+ ew.writeln(`Credentials:`)
+ ew.writeln(` - "COMLAUDE_API_KEY": API ley`)
+ ew.writeln(` - "COMLAUDE_GROUP_ID": Group ID`)
+ ew.writeln(` - "COMLAUDE_PASSWORD": password`)
+ ew.writeln(` - "COMLAUDE_USERNAME": username`)
+ ew.writeln()
+
+ ew.writeln(`Additional Configuration:`)
+ ew.writeln(` - "COMLAUDE_HTTP_TIMEOUT": API request timeout in seconds (Default: 30)`)
+ ew.writeln(` - "COMLAUDE_POLLING_INTERVAL": Time between DNS propagation check in seconds (Default: 2)`)
+ ew.writeln(` - "COMLAUDE_PROPAGATION_TIMEOUT": Maximum waiting time for DNS propagation in seconds (Default: 60)`)
+ ew.writeln(` - "COMLAUDE_TTL": The TTL of the TXT record used for the DNS challenge in seconds (Default: 120)`)
+
+ ew.writeln()
+ ew.writeln(`More information: https://go-acme.github.io/lego/dns/comlaude`)
+
case "conoha":
// generated from: providers/dns/conoha/conoha.toml
ew.writeln(`Configuration for ConoHa v2.`)
diff --git a/docs/content/dns/zz_gen_comlaude.md b/docs/content/dns/zz_gen_comlaude.md
new file mode 100644
index 000000000..b974364bf
--- /dev/null
+++ b/docs/content/dns/zz_gen_comlaude.md
@@ -0,0 +1,73 @@
+---
+title: "Com Laude"
+date: 2019-03-03T16:39:46+01:00
+draft: false
+slug: comlaude
+dnsprovider:
+ since: "v4.33.0"
+ code: "comlaude"
+ url: "https://comlaude.com/"
+---
+
+
+
+
+
+
+Configuration for [Com Laude](https://comlaude.com/).
+
+
+
+
+- Code: `comlaude`
+- Since: v4.33.0
+
+
+Here is an example bash command using the Com Laude provider:
+
+```bash
+COMLAUDE_USERNAME="xxx" \
+COMLAUDE_PASSWORD="yyy" \
+COMLAUDE_API_KEY="zzz" \
+COMLAUDE_GROUP_ID="abc" \
+lego --dns comlaude -d '*.example.com' -d example.com run
+```
+
+
+
+
+## Credentials
+
+| Environment Variable Name | Description |
+|-----------------------|-------------|
+| `COMLAUDE_API_KEY` | API ley |
+| `COMLAUDE_GROUP_ID` | Group ID |
+| `COMLAUDE_PASSWORD` | password |
+| `COMLAUDE_USERNAME` | username |
+
+The environment variable names can be suffixed by `_FILE` to reference a file instead of a value.
+More information [here]({{% ref "dns#configuration-and-credentials" %}}).
+
+
+## Additional Configuration
+
+| Environment Variable Name | Description |
+|--------------------------------|-------------|
+| `COMLAUDE_HTTP_TIMEOUT` | API request timeout in seconds (Default: 30) |
+| `COMLAUDE_POLLING_INTERVAL` | Time between DNS propagation check in seconds (Default: 2) |
+| `COMLAUDE_PROPAGATION_TIMEOUT` | Maximum waiting time for DNS propagation in seconds (Default: 60) |
+| `COMLAUDE_TTL` | The TTL of the TXT record used for the DNS challenge in seconds (Default: 120) |
+
+The environment variable names can be suffixed by `_FILE` to reference a file instead of a value.
+More information [here]({{% ref "dns#configuration-and-credentials" %}}).
+
+
+
+
+## More information
+
+- [API documentation](https://api.comlaude.com/docs#/)
+
+
+
+
diff --git a/docs/data/zz_cli_help.toml b/docs/data/zz_cli_help.toml
index 925ef0b21..c08929e6c 100644
--- a/docs/data/zz_cli_help.toml
+++ b/docs/data/zz_cli_help.toml
@@ -152,7 +152,7 @@ To display the documentation for a specific DNS provider, run:
$ lego dnshelp -c code
Supported DNS providers:
- acme-dns, active24, alidns, aliesa, allinkl, alwaysdata, anexia, artfiles, arvancloud, auroradns, autodns, axelname, azion, azure, azuredns, baiducloud, beget, binarylane, bindman, bluecat, bluecatv2, bookmyname, brandit, bunny, checkdomain, civo, clouddns, cloudflare, cloudns, cloudru, cloudxns, com35, conoha, conohav3, constellix, corenetworks, cpanel, ddnss, derak, desec, designate, digitalocean, directadmin, dnsexit, dnshomede, dnsimple, dnsmadeeasy, dnspod, dode, domeneshop, dreamhost, duckdns, dyn, dyndnsfree, dynu, easydns, edgecenter, edgedns, edgeone, efficientip, epik, exec, exoscale, f5xc, freemyip, gandi, gandiv5, gcloud, gcore, gigahostno, glesys, godaddy, googledomains, gravity, hetzner, hostingde, hostinger, hostingnl, hosttech, httpnet, httpreq, huaweicloud, hurricane, hyperone, ibmcloud, iij, iijdpf, infoblox, infomaniak, internetbs, inwx, ionos, ionoscloud, ipv64, ispconfig, ispconfigddns, iwantmyname, jdcloud, joker, keyhelp, leaseweb, liara, lightsail, limacity, linode, liquidweb, loopia, luadns, mailinabox, manageengine, manual, metaname, metaregistrar, mijnhost, mittwald, myaddr, mydnsjp, mythicbeasts, namecheap, namedotcom, namesilo, namesurfer, nearlyfreespeech, neodigit, netcup, netlify, nicmanager, nicru, nifcloud, njalla, nodion, ns1, octenium, oraclecloud, otc, ovh, pdns, plesk, porkbun, rackspace, rainyun, rcodezero, regfish, regru, rfc2136, rimuhosting, route53, safedns, sakuracloud, scaleway, selectel, selectelv2, selfhostde, servercow, shellrent, simply, sonic, spaceship, stackpath, syse, technitium, tencentcloud, timewebcloud, todaynic, transip, ultradns, uniteddomains, variomedia, vegadns, vercel, versio, vinyldns, virtualname, vkcloud, volcengine, vscale, vultr, webnames, webnamesca, websupport, wedos, westcn, yandex, yandex360, yandexcloud, zoneedit, zoneee, zonomi
+ acme-dns, active24, alidns, aliesa, allinkl, alwaysdata, anexia, artfiles, arvancloud, auroradns, autodns, axelname, azion, azure, azuredns, baiducloud, beget, binarylane, bindman, bluecat, bluecatv2, bookmyname, brandit, bunny, checkdomain, civo, clouddns, cloudflare, cloudns, cloudru, cloudxns, com35, comlaude, conoha, conohav3, constellix, corenetworks, cpanel, ddnss, derak, desec, designate, digitalocean, directadmin, dnsexit, dnshomede, dnsimple, dnsmadeeasy, dnspod, dode, domeneshop, dreamhost, duckdns, dyn, dyndnsfree, dynu, easydns, edgecenter, edgedns, edgeone, efficientip, epik, exec, exoscale, f5xc, freemyip, gandi, gandiv5, gcloud, gcore, gigahostno, glesys, godaddy, googledomains, gravity, hetzner, hostingde, hostinger, hostingnl, hosttech, httpnet, httpreq, huaweicloud, hurricane, hyperone, ibmcloud, iij, iijdpf, infoblox, infomaniak, internetbs, inwx, ionos, ionoscloud, ipv64, ispconfig, ispconfigddns, iwantmyname, jdcloud, joker, keyhelp, leaseweb, liara, lightsail, limacity, linode, liquidweb, loopia, luadns, mailinabox, manageengine, manual, metaname, metaregistrar, mijnhost, mittwald, myaddr, mydnsjp, mythicbeasts, namecheap, namedotcom, namesilo, namesurfer, nearlyfreespeech, neodigit, netcup, netlify, nicmanager, nicru, nifcloud, njalla, nodion, ns1, octenium, oraclecloud, otc, ovh, pdns, plesk, porkbun, rackspace, rainyun, rcodezero, regfish, regru, rfc2136, rimuhosting, route53, safedns, sakuracloud, scaleway, selectel, selectelv2, selfhostde, servercow, shellrent, simply, sonic, spaceship, stackpath, syse, technitium, tencentcloud, timewebcloud, todaynic, transip, ultradns, uniteddomains, variomedia, vegadns, vercel, versio, vinyldns, virtualname, vkcloud, volcengine, vscale, vultr, webnames, webnamesca, websupport, wedos, westcn, yandex, yandex360, yandexcloud, zoneedit, zoneee, zonomi
More information: https://go-acme.github.io/lego/dns
"""
diff --git a/providers/dns/zz_gen_dns_providers.go b/providers/dns/zz_gen_dns_providers.go
index e1b2cc989..cfd3f1466 100644
--- a/providers/dns/zz_gen_dns_providers.go
+++ b/providers/dns/zz_gen_dns_providers.go
@@ -38,6 +38,7 @@ import (
"github.com/go-acme/lego/v4/providers/dns/cloudru"
"github.com/go-acme/lego/v4/providers/dns/cloudxns"
"github.com/go-acme/lego/v4/providers/dns/com35"
+ "github.com/go-acme/lego/v4/providers/dns/comlaude"
"github.com/go-acme/lego/v4/providers/dns/conoha"
"github.com/go-acme/lego/v4/providers/dns/conohav3"
"github.com/go-acme/lego/v4/providers/dns/constellix"
@@ -263,6 +264,8 @@ func NewDNSChallengeProviderByName(name string) (challenge.Provider, error) {
return cloudxns.NewDNSProvider()
case "com35":
return com35.NewDNSProvider()
+ case "comlaude":
+ return comlaude.NewDNSProvider()
case "conoha":
return conoha.NewDNSProvider()
case "conohav3":