diff --git a/README.md b/README.md
index 557542ca0..6324ece67 100644
--- a/README.md
+++ b/README.md
@@ -88,208 +88,213 @@ If your DNS provider is not supported, please open an [issue](https://github.com
| Bindman |
Bluecat |
+ Bluecat v2 |
BookMyName |
- Brandit (deprecated) |
+ | Brandit (deprecated) |
Bunny |
Checkdomain |
Civo |
- Cloud.ru |
+ | Cloud.ru |
CloudDNS |
Cloudflare |
ClouDNS |
- CloudXNS (Deprecated) |
+ | CloudXNS (Deprecated) |
ConoHa v2 |
ConoHa v3 |
Constellix |
- Core-Networks |
+ | Core-Networks |
CPanel/WHM |
DDnss (DynDNS Service) |
Derak Cloud |
- deSEC.io |
+ | deSEC.io |
Designate DNSaaS for Openstack |
Digital Ocean |
DirectAdmin |
- DNS Made Easy |
+ | DNS Made Easy |
DNSExit |
dnsHome.de |
DNSimple |
- DNSPod (deprecated) |
+ | DNSPod (deprecated) |
Domain Offensive (do.de) |
Domeneshop |
DreamHost |
- Duck DNS |
+ | Duck DNS |
Dyn |
DynDnsFree.de |
Dynu |
- EasyDNS |
+ | EasyDNS |
EdgeCenter |
Efficient IP |
Epik |
- Exoscale |
+ | Exoscale |
External program |
F5 XC |
freemyip.com |
- G-Core |
+ | G-Core |
Gandi |
Gandi Live DNS (v5) |
Gigahost.no |
- Glesys |
+ | Glesys |
Go Daddy |
Google Cloud |
Google Domains |
- Gravity |
+ | Gravity |
Hetzner |
Hosting.de |
Hosting.nl |
- Hostinger |
+ | Hostinger |
Hosttech |
HTTP request |
http.net |
- Huawei Cloud |
+ | Huawei Cloud |
Hurricane Electric DNS |
HyperOne |
IBM Cloud (SoftLayer) |
- IIJ DNS Platform Service |
+ | IIJ DNS Platform Service |
Infoblox |
Infomaniak |
Internet Initiative Japan |
- Internet.bs |
+ | Internet.bs |
INWX |
Ionos |
Ionos Cloud |
- IPv64 |
+ | IPv64 |
ISPConfig 3 |
ISPConfig 3 - Dynamic DNS (DDNS) Module |
iwantmyname (Deprecated) |
- JD Cloud |
+ | JD Cloud |
Joker |
Joohoi's ACME-DNS |
KeyHelp |
- 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 cf2da8563..600e49753 100644
--- a/cmd/zz_gen_cmd_dnshelp.go
+++ b/cmd/zz_gen_cmd_dnshelp.go
@@ -31,6 +31,7 @@ func allDNSCodes() string {
"binarylane",
"bindman",
"bluecat",
+ "bluecatv2",
"bookmyname",
"brandit",
"bunny",
@@ -623,6 +624,31 @@ func displayDNSHelp(w io.Writer, name string) error {
ew.writeln()
ew.writeln(`More information: https://go-acme.github.io/lego/dns/bluecat`)
+ case "bluecatv2":
+ // generated from: providers/dns/bluecatv2/bluecatv2.toml
+ ew.writeln(`Configuration for Bluecat v2.`)
+ ew.writeln(`Code: 'bluecatv2'`)
+ ew.writeln(`Since: 'v4.32.0'`)
+ ew.writeln()
+
+ ew.writeln(`Credentials:`)
+ ew.writeln(` - "BLUECATV2_CONFIG_NAME": Configuration name`)
+ ew.writeln(` - "BLUECATV2_PASSWORD": API password`)
+ ew.writeln(` - "BLUECATV2_USERNAME": API username`)
+ ew.writeln(` - "BLUECATV2_VIEW_NAME": DNS View Name`)
+ ew.writeln(` - "BLUECAT_SERVER_URL": The server URL: it should have a scheme, hostname, and port (if required) of the authoritative Bluecat BAM serve`)
+ ew.writeln()
+
+ ew.writeln(`Additional Configuration:`)
+ ew.writeln(` - "BLUECATV2_HTTP_TIMEOUT": API request timeout in seconds (Default: 30)`)
+ ew.writeln(` - "BLUECATV2_POLLING_INTERVAL": Time between DNS propagation check in seconds (Default: 2)`)
+ ew.writeln(` - "BLUECATV2_PROPAGATION_TIMEOUT": Maximum waiting time for DNS propagation in seconds (Default: 60)`)
+ ew.writeln(` - "BLUECATV2_SKIP_DEPLOY": Skip quick deployements`)
+ ew.writeln(` - "BLUECATV2_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/bluecatv2`)
+
case "bookmyname":
// generated from: providers/dns/bookmyname/bookmyname.toml
ew.writeln(`Configuration for BookMyName.`)
diff --git a/docs/content/dns/zz_gen_bluecatv2.md b/docs/content/dns/zz_gen_bluecatv2.md
new file mode 100644
index 000000000..7d748df99
--- /dev/null
+++ b/docs/content/dns/zz_gen_bluecatv2.md
@@ -0,0 +1,76 @@
+---
+title: "Bluecat v2"
+date: 2019-03-03T16:39:46+01:00
+draft: false
+slug: bluecatv2
+dnsprovider:
+ since: "v4.32.0"
+ code: "bluecatv2"
+ url: "https://www.bluecatnetworks.com"
+---
+
+
+
+
+
+
+Configuration for [Bluecat v2](https://www.bluecatnetworks.com).
+
+
+
+
+- Code: `bluecatv2`
+- Since: v4.32.0
+
+
+Here is an example bash command using the Bluecat v2 provider:
+
+```bash
+BLUECATV2_SERVER_URL="https://example.com" \
+BLUECATV2_USERNAME="xxx" \
+BLUECATV2_PASSWORD="yyy" \
+BLUECATV2_CONFIG_NAME="myConfiguration" \
+BLUECATV2_VIEW_NAME="myView" \
+lego --dns bluecatv2 -d '*.example.com' -d example.com run
+```
+
+
+
+
+## Credentials
+
+| Environment Variable Name | Description |
+|-----------------------|-------------|
+| `BLUECATV2_CONFIG_NAME` | Configuration name |
+| `BLUECATV2_PASSWORD` | API password |
+| `BLUECATV2_USERNAME` | API username |
+| `BLUECATV2_VIEW_NAME` | DNS View Name |
+| `BLUECAT_SERVER_URL` | The server URL: it should have a scheme, hostname, and port (if required) of the authoritative Bluecat BAM serve |
+
+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 |
+|--------------------------------|-------------|
+| `BLUECATV2_HTTP_TIMEOUT` | API request timeout in seconds (Default: 30) |
+| `BLUECATV2_POLLING_INTERVAL` | Time between DNS propagation check in seconds (Default: 2) |
+| `BLUECATV2_PROPAGATION_TIMEOUT` | Maximum waiting time for DNS propagation in seconds (Default: 60) |
+| `BLUECATV2_SKIP_DEPLOY` | Skip quick deployements |
+| `BLUECATV2_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://docs.bluecatnetworks.com/r/Address-Manager-RESTful-v2-API-Guide/Introduction/9.6.0)
+
+
+
+
diff --git a/docs/data/zz_cli_help.toml b/docs/data/zz_cli_help.toml
index 3d3043690..e31633567 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, arvancloud, auroradns, autodns, axelname, azion, azure, azuredns, baiducloud, beget, binarylane, bindman, bluecat, 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, liara, lightsail, limacity, linode, liquidweb, loopia, luadns, mailinabox, manageengine, manual, metaname, metaregistrar, mijnhost, mittwald, myaddr, mydnsjp, mythicbeasts, namecheap, namedotcom, namesilo, 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, 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, liara, lightsail, limacity, linode, liquidweb, loopia, luadns, mailinabox, manageengine, manual, metaname, metaregistrar, mijnhost, mittwald, myaddr, mydnsjp, mythicbeasts, namecheap, namedotcom, namesilo, 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 b4b98e23f..ae41f6a20 100644
--- a/providers/dns/zz_gen_dns_providers.go
+++ b/providers/dns/zz_gen_dns_providers.go
@@ -25,6 +25,7 @@ import (
"github.com/go-acme/lego/v4/providers/dns/binarylane"
"github.com/go-acme/lego/v4/providers/dns/bindman"
"github.com/go-acme/lego/v4/providers/dns/bluecat"
+ "github.com/go-acme/lego/v4/providers/dns/bluecatv2"
"github.com/go-acme/lego/v4/providers/dns/bookmyname"
"github.com/go-acme/lego/v4/providers/dns/brandit"
"github.com/go-acme/lego/v4/providers/dns/bunny"
@@ -233,6 +234,8 @@ func NewDNSChallengeProviderByName(name string) (challenge.Provider, error) {
return bindman.NewDNSProvider()
case "bluecat":
return bluecat.NewDNSProvider()
+ case "bluecatv2":
+ return bluecatv2.NewDNSProvider()
case "bookmyname":
return bookmyname.NewDNSProvider()
case "brandit":