diff --git a/build/generate/featureMatrix.go b/build/generate/featureMatrix.go index deec90459..49d290407 100644 --- a/build/generate/featureMatrix.go +++ b/build/generate/featureMatrix.go @@ -2,6 +2,7 @@ package main import ( "fmt" + "html" "os" "sort" "strings" @@ -85,16 +86,30 @@ func featureEmoji( featureMap FeatureMap, featureName string, ) string { + var emoji string + var tooltip string + if featureMap[featureName] == nil { - return "❔" + emoji = "❔" + tooltip = "Unknown" + } else if featureMap[featureName].HasFeature { + emoji = "✅" + tooltip = "Supported" + } else if featureMap[featureName].Unimplemented { + emoji = "❓" + tooltip = "Not implemented" + } else { + emoji = "❌" + tooltip = "Not supported" } - if featureMap[featureName].HasFeature { - return "✅" - } else if featureMap[featureName].Unimplemented { - return "❔" + if featureMap[featureName] != nil && featureMap[featureName].Comment != "" { + emoji += " ⁱ" + tooltip += ": " + featureMap[featureName].Comment } - return "❌" + + escapedTooltip := strings.ReplaceAll(html.EscapeString(tooltip), "|", "|") + return fmt.Sprintf("%s", escapedTooltip, emoji) } func matrixData() *FeatureMatrix { diff --git a/documentation/provider/index.md b/documentation/provider/index.md index 58c1d2ee7..d7653cb6f 100644 --- a/documentation/provider/index.md +++ b/documentation/provider/index.md @@ -5,12 +5,18 @@ The table below shows various features supported, or not supported by DNSControl providers. This table is automatically generated from metadata supplied by the provider when they register themselves inside dnscontrol. -An empty space may indicate the feature is not supported by a provider, or it may simply mean +A question mark may indicate the feature is not supported by a provider, or it may simply mean the feature has not been investigated and implemented yet. If a feature you need is missing from a provider that supports it, we'd love your contribution to ensure it works correctly and add it to this matrix. If a feature is definitively not supported for whatever reason, we would also like a PR to clarify why it is not supported, and fill in this entire matrix. +Legend: +- ✅ Supported +- ❌ Not supported +- ❓ Not implemented, needs investigation or development +- ❔ Unknown + Jump to a table: @@ -25,314 +31,366 @@ Jump to a table: | Provider name | Official Support | DNS Provider | Registrar | | ------------- | ---------------- | ------------ | --------- | -| [`ADGUARDHOME`](adguardhome.md) | ❌ | ✅ | ❌ | -| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | ❌ | ✅ | ❌ | -| [`AUTODNS`](autodns.md) | ❌ | ✅ | ✅ | -| [`AXFRDDNS`](axfrddns.md) | ❌ | ✅ | ❌ | -| [`AZURE_DNS`](azure_dns.md) | ✅ | ✅ | ❌ | -| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ✅ | ✅ | ❌ | -| [`BIND`](bind.md) | ✅ | ✅ | ❌ | -| [`BUNNY_DNS`](bunny_dns.md) | ❌ | ✅ | ❌ | -| [`CLOUDFLAREAPI`](cloudflareapi.md) | ✅ | ✅ | ❌ | -| [`CLOUDNS`](cloudns.md) | ❌ | ✅ | ❌ | -| [`CNR`](cnr.md) | ❌ | ✅ | ✅ | -| [`CSCGLOBAL`](cscglobal.md) | ✅ | ✅ | ✅ | -| [`DESEC`](desec.md) | ❌ | ✅ | ❌ | -| [`DIGITALOCEAN`](digitalocean.md) | ❌ | ✅ | ❌ | -| [`DNSIMPLE`](dnsimple.md) | ❌ | ✅ | ✅ | -| [`DNSMADEEASY`](dnsmadeeasy.md) | ❌ | ✅ | ❌ | -| [`DNSOVERHTTPS`](dnsoverhttps.md) | ❌ | ❌ | ✅ | -| [`DOMAINNAMESHOP`](domainnameshop.md) | ❌ | ✅ | ❌ | -| [`DYNADOT`](dynadot.md) | ❌ | ❌ | ✅ | -| [`EASYNAME`](easyname.md) | ❌ | ❌ | ✅ | -| [`EXOSCALE`](exoscale.md) | ❌ | ✅ | ❌ | -| [`FORTIGATE`](fortigate.md) | ❌ | ✅ | ❌ | -| [`GANDI_V5`](gandi_v5.md) | ❌ | ✅ | ✅ | -| [`GCLOUD`](gcloud.md) | ✅ | ✅ | ❌ | -| [`GCORE`](gcore.md) | ❌ | ✅ | ❌ | -| [`HEDNS`](hedns.md) | ❌ | ✅ | ❌ | -| [`HETZNER`](hetzner.md) | ❌ | ✅ | ❌ | -| [`HEXONET`](hexonet.md) | ❌ | ✅ | ✅ | -| [`HOSTINGDE`](hostingde.md) | ❌ | ✅ | ✅ | -| [`HUAWEICLOUD`](huaweicloud.md) | ❌ | ✅ | ❌ | -| [`INTERNETBS`](internetbs.md) | ❌ | ❌ | ✅ | -| [`INWX`](inwx.md) | ❌ | ✅ | ✅ | -| [`JOKER`](joker.md) | ❌ | ✅ | ❌ | -| [`LINODE`](linode.md) | ❌ | ✅ | ❌ | -| [`LOOPIA`](loopia.md) | ❌ | ✅ | ✅ | -| [`LUADNS`](luadns.md) | ❌ | ✅ | ❌ | -| [`MYTHICBEASTS`](mythicbeasts.md) | ❌ | ✅ | ❌ | -| [`NAMECHEAP`](namecheap.md) | ❌ | ✅ | ✅ | -| [`NAMEDOTCOM`](namedotcom.md) | ❌ | ✅ | ✅ | -| [`NETCUP`](netcup.md) | ❌ | ✅ | ❌ | -| [`NETLIFY`](netlify.md) | ❌ | ✅ | ❌ | -| [`NS1`](ns1.md) | ❌ | ✅ | ❌ | -| [`OPENSRS`](opensrs.md) | ❌ | ❌ | ✅ | -| [`ORACLE`](oracle.md) | ❌ | ✅ | ❌ | -| [`OVH`](ovh.md) | ❌ | ✅ | ✅ | -| [`PACKETFRAME`](packetframe.md) | ❌ | ✅ | ❌ | -| [`PORKBUN`](porkbun.md) | ❌ | ✅ | ✅ | -| [`POWERDNS`](powerdns.md) | ❌ | ✅ | ❌ | -| [`REALTIMEREGISTER`](realtimeregister.md) | ❌ | ✅ | ✅ | -| [`ROUTE53`](route53.md) | ✅ | ✅ | ✅ | -| [`RWTH`](rwth.md) | ❌ | ✅ | ❌ | -| [`SAKURACLOUD`](sakuracloud.md) | ❌ | ✅ | ❌ | -| [`SOFTLAYER`](softlayer.md) | ❌ | ✅ | ❌ | -| [`TRANSIP`](transip.md) | ❌ | ✅ | ❌ | -| [`VULTR`](vultr.md) | ❌ | ✅ | ❌ | +| [`ADGUARDHOME`](adguardhome.md) | | | | +| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | | | | +| [`AUTODNS`](autodns.md) | | | | +| [`AXFRDDNS`](axfrddns.md) | | | | +| [`AZURE_DNS`](azure_dns.md) | | | | +| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | | | | +| [`BIND`](bind.md) | | | | +| [`BUNNY_DNS`](bunny_dns.md) | | | | +| [`CLOUDFLAREAPI`](cloudflareapi.md) | | | | +| [`CLOUDNS`](cloudns.md) | | | | +| [`CNR`](cnr.md) | ❌ ⁱ | | | +| [`CSCGLOBAL`](cscglobal.md) | | | | +| [`DESEC`](desec.md) | | | | +| [`DIGITALOCEAN`](digitalocean.md) | | | | +| [`DNSIMPLE`](dnsimple.md) | | | | +| [`DNSMADEEASY`](dnsmadeeasy.md) | | | | +| [`DNSOVERHTTPS`](dnsoverhttps.md) | | | | +| [`DOMAINNAMESHOP`](domainnameshop.md) | | | | +| [`DYNADOT`](dynadot.md) | | | | +| [`EASYNAME`](easyname.md) | | | | +| [`EXOSCALE`](exoscale.md) | | | | +| [`FORTIGATE`](fortigate.md) | | | | +| [`GANDI_V5`](gandi_v5.md) | | | | +| [`GCLOUD`](gcloud.md) | | | | +| [`GCORE`](gcore.md) | | | | +| [`HEDNS`](hedns.md) | | | | +| [`HETZNER`](hetzner.md) | | | | +| [`HEXONET`](hexonet.md) | ❌ ⁱ | | | +| [`HOSTINGDE`](hostingde.md) | | | | +| [`HUAWEICLOUD`](huaweicloud.md) | | | | +| [`INTERNETBS`](internetbs.md) | | | | +| [`INWX`](inwx.md) | | | | +| [`JOKER`](joker.md) | | | | +| [`LINODE`](linode.md) | | | | +| [`LOOPIA`](loopia.md) | | | | +| [`LUADNS`](luadns.md) | | | | +| [`MYTHICBEASTS`](mythicbeasts.md) | | | | +| [`NAMECHEAP`](namecheap.md) | | | | +| [`NAMEDOTCOM`](namedotcom.md) | | | | +| [`NETCUP`](netcup.md) | | | | +| [`NETLIFY`](netlify.md) | | | | +| [`NS1`](ns1.md) | | | | +| [`OPENSRS`](opensrs.md) | | | | +| [`ORACLE`](oracle.md) | | | | +| [`OVH`](ovh.md) | | | | +| [`PACKETFRAME`](packetframe.md) | | | | +| [`PORKBUN`](porkbun.md) | | | | +| [`POWERDNS`](powerdns.md) | | | | +| [`REALTIMEREGISTER`](realtimeregister.md) | | | | +| [`ROUTE53`](route53.md) | | | | +| [`RWTH`](rwth.md) | | | | +| [`SAKURACLOUD`](sakuracloud.md) | | | | +| [`SOFTLAYER`](softlayer.md) | | | | +| [`TRANSIP`](transip.md) | | | | +| [`VULTR`](vultr.md) | | | | ### Provider API | Provider name | [Concurrency Verified](../advanced-features/concurrency-verified.md) | [dual host](../advanced-features/dual-host.md) | create-domains | get-zones | | ------------- | -------------------------------------------------------------------- | ---------------------------------------------- | -------------- | --------- | -| [`ADGUARDHOME`](adguardhome.md) | ❔ | ❔ | ❌ | ❌ | -| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | ❔ | ✅ | ✅ | ✅ | -| [`AUTODNS`](autodns.md) | ✅ | ❌ | ❌ | ✅ | -| [`AXFRDDNS`](axfrddns.md) | ✅ | ❌ | ❌ | ❌ | -| [`AZURE_DNS`](azure_dns.md) | ✅ | ✅ | ✅ | ✅ | -| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ❔ | ✅ | ✅ | ✅ | -| [`BIND`](bind.md) | ✅ | ✅ | ✅ | ✅ | -| [`BUNNY_DNS`](bunny_dns.md) | ❔ | ❌ | ✅ | ✅ | -| [`CLOUDFLAREAPI`](cloudflareapi.md) | ✅ | ❌ | ✅ | ✅ | -| [`CLOUDNS`](cloudns.md) | ✅ | ❔ | ✅ | ✅ | -| [`CNR`](cnr.md) | ✅ | ✅ | ✅ | ✅ | -| [`CSCGLOBAL`](cscglobal.md) | ✅ | ❔ | ❌ | ✅ | -| [`DESEC`](desec.md) | ✅ | ❔ | ✅ | ✅ | -| [`DIGITALOCEAN`](digitalocean.md) | ✅ | ✅ | ✅ | ✅ | -| [`DNSIMPLE`](dnsimple.md) | ✅ | ❌ | ❌ | ✅ | -| [`DNSMADEEASY`](dnsmadeeasy.md) | ❔ | ✅ | ✅ | ✅ | -| [`DNSOVERHTTPS`](dnsoverhttps.md) | ❔ | ❔ | ❌ | ❔ | -| [`DYNADOT`](dynadot.md) | ❔ | ❔ | ❌ | ❔ | -| [`EASYNAME`](easyname.md) | ❔ | ❔ | ❌ | ❔ | -| [`EXOSCALE`](exoscale.md) | ❔ | ❌ | ❌ | ❔ | -| [`FORTIGATE`](fortigate.md) | ❔ | ❔ | ✅ | ✅ | -| [`GANDI_V5`](gandi_v5.md) | ✅ | ❔ | ❌ | ✅ | -| [`GCLOUD`](gcloud.md) | ✅ | ✅ | ✅ | ✅ | -| [`GCORE`](gcore.md) | ✅ | ✅ | ✅ | ✅ | -| [`HEDNS`](hedns.md) | ❔ | ✅ | ✅ | ✅ | -| [`HETZNER`](hetzner.md) | ✅ | ✅ | ✅ | ✅ | -| [`HEXONET`](hexonet.md) | ❔ | ✅ | ✅ | ❔ | -| [`HOSTINGDE`](hostingde.md) | ❔ | ✅ | ✅ | ✅ | -| [`HUAWEICLOUD`](huaweicloud.md) | ❔ | ✅ | ✅ | ✅ | -| [`INTERNETBS`](internetbs.md) | ❔ | ❔ | ❌ | ❔ | -| [`INWX`](inwx.md) | ❔ | ✅ | ✅ | ✅ | -| [`JOKER`](joker.md) | ❌ | ❌ | ✅ | ✅ | -| [`LINODE`](linode.md) | ❔ | ❌ | ❌ | ✅ | -| [`LOOPIA`](loopia.md) | ❔ | ✅ | ❌ | ✅ | -| [`LUADNS`](luadns.md) | ✅ | ✅ | ✅ | ✅ | -| [`MYTHICBEASTS`](mythicbeasts.md) | ✅ | ✅ | ❌ | ✅ | -| [`NAMECHEAP`](namecheap.md) | ✅ | ❌ | ❌ | ✅ | -| [`NAMEDOTCOM`](namedotcom.md) | ❔ | ✅ | ❌ | ✅ | -| [`NETCUP`](netcup.md) | ❔ | ❌ | ❌ | ❌ | -| [`NETLIFY`](netlify.md) | ✅ | ❌ | ❌ | ✅ | -| [`NS1`](ns1.md) | ✅ | ✅ | ✅ | ✅ | -| [`OPENSRS`](opensrs.md) | ❔ | ❔ | ❌ | ❔ | -| [`ORACLE`](oracle.md) | ❔ | ✅ | ✅ | ✅ | -| [`OVH`](ovh.md) | ❔ | ✅ | ❌ | ✅ | -| [`PACKETFRAME`](packetframe.md) | ❔ | ❌ | ❌ | ❔ | -| [`PORKBUN`](porkbun.md) | ✅ | ❌ | ❌ | ✅ | -| [`POWERDNS`](powerdns.md) | ❔ | ✅ | ✅ | ✅ | -| [`REALTIMEREGISTER`](realtimeregister.md) | ❔ | ❌ | ✅ | ✅ | -| [`ROUTE53`](route53.md) | ✅ | ✅ | ✅ | ✅ | -| [`RWTH`](rwth.md) | ❔ | ❌ | ❌ | ✅ | -| [`SAKURACLOUD`](sakuracloud.md) | ❔ | ❌ | ✅ | ✅ | -| [`SOFTLAYER`](softlayer.md) | ❔ | ❔ | ❌ | ❔ | -| [`TRANSIP`](transip.md) | ✅ | ❌ | ❌ | ✅ | -| [`VULTR`](vultr.md) | ❔ | ❔ | ✅ | ✅ | +| [`ADGUARDHOME`](adguardhome.md) | | | | | +| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | | | | | +| [`AUTODNS`](autodns.md) | | | | | +| [`AXFRDDNS`](axfrddns.md) | | | | | +| [`AZURE_DNS`](azure_dns.md) | | ✅ ⁱ | | | +| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | | ✅ ⁱ | | | +| [`BIND`](bind.md) | | | ✅ ⁱ | | +| [`BUNNY_DNS`](bunny_dns.md) | | | | | +| [`CLOUDFLAREAPI`](cloudflareapi.md) | | ❌ ⁱ | | | +| [`CLOUDNS`](cloudns.md) | | | | | +| [`CNR`](cnr.md) | | | | | +| [`CSCGLOBAL`](cscglobal.md) | | | | | +| [`DESEC`](desec.md) | | | | | +| [`DIGITALOCEAN`](digitalocean.md) | | | | | +| [`DNSIMPLE`](dnsimple.md) | | ❌ ⁱ | | | +| [`DNSMADEEASY`](dnsmadeeasy.md) | | ✅ ⁱ | | | +| [`DNSOVERHTTPS`](dnsoverhttps.md) | | | | | +| [`DOMAINNAMESHOP`](domainnameshop.md) | | | | | +| [`DYNADOT`](dynadot.md) | | | | | +| [`EASYNAME`](easyname.md) | | | | | +| [`EXOSCALE`](exoscale.md) | | ❌ ⁱ | | | +| [`FORTIGATE`](fortigate.md) | | | | | +| [`GANDI_V5`](gandi_v5.md) | | | ❌ ⁱ | | +| [`GCLOUD`](gcloud.md) | | | | | +| [`GCORE`](gcore.md) | | | | | +| [`HEDNS`](hedns.md) | | | | | +| [`HETZNER`](hetzner.md) | | | | | +| [`HEXONET`](hexonet.md) | | | | | +| [`HOSTINGDE`](hostingde.md) | | | | | +| [`HUAWEICLOUD`](huaweicloud.md) | | | | | +| [`INTERNETBS`](internetbs.md) | | | | | +| [`INWX`](inwx.md) | | | | | +| [`JOKER`](joker.md) | ❌ ⁱ | | | | +| [`LINODE`](linode.md) | | | | | +| [`LOOPIA`](loopia.md) | | | ❌ ⁱ | | +| [`LUADNS`](luadns.md) | | | | | +| [`MYTHICBEASTS`](mythicbeasts.md) | | | ❌ ⁱ | | +| [`NAMECHEAP`](namecheap.md) | | ❌ ⁱ | ❌ ⁱ | | +| [`NAMEDOTCOM`](namedotcom.md) | | | ❌ ⁱ | | +| [`NETCUP`](netcup.md) | | | | | +| [`NETLIFY`](netlify.md) | | ❌ ⁱ | | | +| [`NS1`](ns1.md) | | | | | +| [`OPENSRS`](opensrs.md) | | | | | +| [`ORACLE`](oracle.md) | | | | | +| [`OVH`](ovh.md) | | | ❌ ⁱ | | +| [`PACKETFRAME`](packetframe.md) | | | | | +| [`PORKBUN`](porkbun.md) | | | | | +| [`POWERDNS`](powerdns.md) | | | | | +| [`REALTIMEREGISTER`](realtimeregister.md) | | | | | +| [`ROUTE53`](route53.md) | | | | | +| [`RWTH`](rwth.md) | | | | | +| [`SAKURACLOUD`](sakuracloud.md) | | | | | +| [`SOFTLAYER`](softlayer.md) | | | | | +| [`TRANSIP`](transip.md) | | | | | +| [`VULTR`](vultr.md) | | | | | ### DNS extensions | Provider name | [`ALIAS`](../language-reference/domain-modifiers/ALIAS.md) | [`DNAME`](../language-reference/domain-modifiers/DNAME.md) | [`LOC`](../language-reference/domain-modifiers/LOC.md) | [`PTR`](../language-reference/domain-modifiers/PTR.md) | [`SOA`](../language-reference/domain-modifiers/SOA.md) | | ------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ | -| [`ADGUARDHOME`](adguardhome.md) | ✅ | ❔ | ❔ | ❔ | ❔ | -| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | ❌ | ❔ | ✅ | ✅ | ❌ | -| [`AUTODNS`](autodns.md) | ✅ | ❔ | ❔ | ✅ | ❔ | -| [`AXFRDDNS`](axfrddns.md) | ❌ | ✅ | ✅ | ✅ | ❌ | -| [`AZURE_DNS`](azure_dns.md) | ❌ | ❔ | ❌ | ✅ | ❔ | -| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ❌ | ❔ | ❌ | ✅ | ❔ | -| [`BIND`](bind.md) | ❔ | ✅ | ✅ | ✅ | ✅ | -| [`BUNNY_DNS`](bunny_dns.md) | ✅ | ❔ | ❌ | ✅ | ❌ | -| [`CLOUDFLAREAPI`](cloudflareapi.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`CLOUDNS`](cloudns.md) | ✅ | ✅ | ✅ | ✅ | ❔ | -| [`CNR`](cnr.md) | ✅ | ❌ | ❌ | ✅ | ❌ | -| [`DESEC`](desec.md) | ❔ | ❔ | ❔ | ✅ | ❔ | -| [`DIGITALOCEAN`](digitalocean.md) | ❔ | ❔ | ❌ | ❔ | ❔ | -| [`DNSIMPLE`](dnsimple.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`DNSMADEEASY`](dnsmadeeasy.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`DOMAINNAMESHOP`](domainnameshop.md) | ❔ | ❔ | ❌ | ❌ | ❌ | -| [`EXOSCALE`](exoscale.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`FORTIGATE`](fortigate.md) | ❔ | ❔ | ❌ | ❌ | ❔ | -| [`GANDI_V5`](gandi_v5.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`GCLOUD`](gcloud.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`GCORE`](gcore.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`HEDNS`](hedns.md) | ✅ | ❔ | ✅ | ✅ | ❌ | -| [`HETZNER`](hetzner.md) | ❌ | ❔ | ❌ | ❌ | ❌ | -| [`HEXONET`](hexonet.md) | ❌ | ❔ | ❔ | ✅ | ❔ | -| [`HOSTINGDE`](hostingde.md) | ✅ | ❔ | ❌ | ✅ | ✅ | -| [`HUAWEICLOUD`](huaweicloud.md) | ❌ | ❔ | ❌ | ❌ | ❌ | -| [`INWX`](inwx.md) | ✅ | ❔ | ❔ | ✅ | ❔ | -| [`JOKER`](joker.md) | ❌ | ❔ | ❌ | ❌ | ❌ | -| [`LINODE`](linode.md) | ❔ | ❔ | ❌ | ❔ | ❔ | -| [`LOOPIA`](loopia.md) | ❌ | ❔ | ✅ | ❌ | ❌ | -| [`LUADNS`](luadns.md) | ✅ | ❔ | ❌ | ✅ | ❔ | -| [`MYTHICBEASTS`](mythicbeasts.md) | ❌ | ❔ | ❌ | ✅ | ❔ | -| [`NAMECHEAP`](namecheap.md) | ✅ | ❔ | ❌ | ❌ | ❔ | -| [`NAMEDOTCOM`](namedotcom.md) | ✅ | ❔ | ❌ | ❌ | ❔ | -| [`NETCUP`](netcup.md) | ❔ | ❔ | ❌ | ❌ | ❔ | -| [`NETLIFY`](netlify.md) | ✅ | ❔ | ❌ | ❌ | ❔ | -| [`NS1`](ns1.md) | ✅ | ✅ | ❌ | ✅ | ❔ | -| [`ORACLE`](oracle.md) | ✅ | ❔ | ❔ | ✅ | ❔ | -| [`OVH`](ovh.md) | ❌ | ❔ | ❔ | ❌ | ❔ | -| [`PACKETFRAME`](packetframe.md) | ❔ | ❔ | ❔ | ✅ | ❔ | -| [`PORKBUN`](porkbun.md) | ✅ | ❔ | ❌ | ❌ | ❌ | -| [`POWERDNS`](powerdns.md) | ✅ | ✅ | ❔ | ✅ | ✅ | -| [`REALTIMEREGISTER`](realtimeregister.md) | ✅ | ❔ | ✅ | ❌ | ❌ | -| [`ROUTE53`](route53.md) | ❌ | ❔ | ❌ | ✅ | ❔ | -| [`RWTH`](rwth.md) | ❌ | ❔ | ❌ | ✅ | ❔ | -| [`SAKURACLOUD`](sakuracloud.md) | ✅ | ❌ | ❌ | ✅ | ❌ | -| [`SOFTLAYER`](softlayer.md) | ❔ | ❔ | ❌ | ❔ | ❔ | -| [`TRANSIP`](transip.md) | ✅ | ❌ | ❌ | ❌ | ❌ | -| [`VULTR`](vultr.md) | ❌ | ❔ | ❌ | ❌ | ❔ | +| [`ADGUARDHOME`](adguardhome.md) | | | | | | +| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | | | | | | +| [`AUTODNS`](autodns.md) | | | | | | +| [`AXFRDDNS`](axfrddns.md) | | | | | | +| [`AZURE_DNS`](azure_dns.md) | ❌ ⁱ | | | | | +| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ❌ ⁱ | | | | | +| [`BIND`](bind.md) | | | | | | +| [`BUNNY_DNS`](bunny_dns.md) | ✅ ⁱ | | | | | +| [`CLOUDFLAREAPI`](cloudflareapi.md) | ✅ ⁱ | | | | | +| [`CLOUDNS`](cloudns.md) | | | | | | +| [`CNR`](cnr.md) | | ❌ ⁱ | ❌ ⁱ | | ❌ ⁱ | +| [`CSCGLOBAL`](cscglobal.md) | | | | | | +| [`DESEC`](desec.md) | ❓ ⁱ | | | | | +| [`DIGITALOCEAN`](digitalocean.md) | | | | | | +| [`DNSIMPLE`](dnsimple.md) | | | | | | +| [`DNSMADEEASY`](dnsmadeeasy.md) | | | | | | +| [`DNSOVERHTTPS`](dnsoverhttps.md) | | | | | | +| [`DOMAINNAMESHOP`](domainnameshop.md) | ❓ ⁱ | | | ❌ ⁱ | | +| [`DYNADOT`](dynadot.md) | | | | | | +| [`EASYNAME`](easyname.md) | | | | | | +| [`EXOSCALE`](exoscale.md) | | | | | | +| [`FORTIGATE`](fortigate.md) | | | | | | +| [`GANDI_V5`](gandi_v5.md) | ✅ ⁱ | | | | | +| [`GCLOUD`](gcloud.md) | | | | | | +| [`GCORE`](gcore.md) | | | | ✅ ⁱ | | +| [`HEDNS`](hedns.md) | | | | | | +| [`HETZNER`](hetzner.md) | | | | | | +| [`HEXONET`](hexonet.md) | ❌ ⁱ | | | | | +| [`HOSTINGDE`](hostingde.md) | | | | | | +| [`HUAWEICLOUD`](huaweicloud.md) | | | | | | +| [`INTERNETBS`](internetbs.md) | | | | | | +| [`INWX`](inwx.md) | | | | ✅ ⁱ | | +| [`JOKER`](joker.md) | | | | | | +| [`LINODE`](linode.md) | | | | | | +| [`LOOPIA`](loopia.md) | | | | | ❌ ⁱ | +| [`LUADNS`](luadns.md) | | | | | | +| [`MYTHICBEASTS`](mythicbeasts.md) | | | | | | +| [`NAMECHEAP`](namecheap.md) | | | | | | +| [`NAMEDOTCOM`](namedotcom.md) | | | | ❌ ⁱ | | +| [`NETCUP`](netcup.md) | | | | | | +| [`NETLIFY`](netlify.md) | | | | | | +| [`NS1`](ns1.md) | | | | | | +| [`OPENSRS`](opensrs.md) | | | | | | +| [`ORACLE`](oracle.md) | | | | | | +| [`OVH`](ovh.md) | | | | | | +| [`PACKETFRAME`](packetframe.md) | | | | | | +| [`PORKBUN`](porkbun.md) | | | | | | +| [`POWERDNS`](powerdns.md) | ✅ ⁱ | ✅ ⁱ | ❓ ⁱ | | | +| [`REALTIMEREGISTER`](realtimeregister.md) | | | | | | +| [`ROUTE53`](route53.md) | ❌ ⁱ | | | | | +| [`RWTH`](rwth.md) | | | | ✅ ⁱ | | +| [`SAKURACLOUD`](sakuracloud.md) | | | | | | +| [`SOFTLAYER`](softlayer.md) | | | | | | +| [`TRANSIP`](transip.md) | | | | | | +| [`VULTR`](vultr.md) | | | | | | ### Service discovery | Provider name | [`DHCID`](../language-reference/domain-modifiers/DHCID.md) | [`NAPTR`](../language-reference/domain-modifiers/NAPTR.md) | [`SRV`](../language-reference/domain-modifiers/SRV.md) | [`SVCB`](../language-reference/domain-modifiers/SVCB.md) | | ------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------- | -| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | ❔ | ✅ | ✅ | ❔ | -| [`AUTODNS`](autodns.md) | ❔ | ❔ | ✅ | ❔ | -| [`AXFRDDNS`](axfrddns.md) | ✅ | ✅ | ✅ | ✅ | -| [`AZURE_DNS`](azure_dns.md) | ❔ | ❌ | ✅ | ❔ | -| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ❔ | ❌ | ✅ | ❔ | -| [`BIND`](bind.md) | ✅ | ✅ | ✅ | ✅ | -| [`BUNNY_DNS`](bunny_dns.md) | ❌ | ❌ | ✅ | ❔ | -| [`CLOUDFLAREAPI`](cloudflareapi.md) | ❔ | ✅ | ✅ | ✅ | -| [`CLOUDNS`](cloudns.md) | ❔ | ❔ | ✅ | ❔ | -| [`CNR`](cnr.md) | ❌ | ✅ | ✅ | ❌ | -| [`CSCGLOBAL`](cscglobal.md) | ❔ | ❔ | ✅ | ❔ | -| [`DESEC`](desec.md) | ❔ | ✅ | ✅ | ✅ | -| [`DIGITALOCEAN`](digitalocean.md) | ❔ | ❔ | ✅ | ❔ | -| [`DNSIMPLE`](dnsimple.md) | ❔ | ✅ | ✅ | ❔ | -| [`DNSMADEEASY`](dnsmadeeasy.md) | ❔ | ❔ | ✅ | ❔ | -| [`DOMAINNAMESHOP`](domainnameshop.md) | ❔ | ❌ | ✅ | ❔ | -| [`EXOSCALE`](exoscale.md) | ❔ | ❔ | ✅ | ❔ | -| [`GANDI_V5`](gandi_v5.md) | ❔ | ❔ | ✅ | ❔ | -| [`GCLOUD`](gcloud.md) | ❔ | ❔ | ✅ | ✅ | -| [`GCORE`](gcore.md) | ❔ | ❌ | ✅ | ✅ | -| [`HEDNS`](hedns.md) | ❔ | ✅ | ✅ | ✅ | -| [`HETZNER`](hetzner.md) | ❔ | ❌ | ✅ | ❔ | -| [`HEXONET`](hexonet.md) | ❔ | ❔ | ✅ | ❔ | -| [`HOSTINGDE`](hostingde.md) | ❔ | ❌ | ✅ | ❔ | -| [`HUAWEICLOUD`](huaweicloud.md) | ❔ | ❌ | ✅ | ❌ | -| [`INWX`](inwx.md) | ❔ | ✅ | ✅ | ✅ | -| [`JOKER`](joker.md) | ❔ | ✅ | ✅ | ❌ | -| [`LOOPIA`](loopia.md) | ❌ | ✅ | ✅ | ❌ | -| [`LUADNS`](luadns.md) | ❔ | ❔ | ✅ | ❔ | -| [`MYTHICBEASTS`](mythicbeasts.md) | ❔ | ❔ | ✅ | ❔ | -| [`NAMECHEAP`](namecheap.md) | ❔ | ❔ | ❌ | ❔ | -| [`NAMEDOTCOM`](namedotcom.md) | ❔ | ❔ | ✅ | ❔ | -| [`NETCUP`](netcup.md) | ❔ | ❔ | ✅ | ❔ | -| [`NETLIFY`](netlify.md) | ❔ | ❌ | ✅ | ❔ | -| [`NS1`](ns1.md) | ✅ | ✅ | ✅ | ✅ | -| [`ORACLE`](oracle.md) | ❔ | ✅ | ✅ | ❔ | -| [`OVH`](ovh.md) | ❔ | ❔ | ✅ | ❔ | -| [`PACKETFRAME`](packetframe.md) | ❔ | ❔ | ✅ | ❔ | -| [`PORKBUN`](porkbun.md) | ❔ | ❌ | ✅ | ✅ | -| [`POWERDNS`](powerdns.md) | ✅ | ✅ | ✅ | ✅ | -| [`REALTIMEREGISTER`](realtimeregister.md) | ❌ | ✅ | ✅ | ❔ | -| [`ROUTE53`](route53.md) | ❔ | ❔ | ✅ | ✅ | -| [`RWTH`](rwth.md) | ❔ | ❌ | ✅ | ❔ | -| [`SAKURACLOUD`](sakuracloud.md) | ❌ | ❌ | ✅ | ✅ | -| [`SOFTLAYER`](softlayer.md) | ❔ | ❔ | ✅ | ❔ | -| [`TRANSIP`](transip.md) | ❌ | ✅ | ✅ | ❌ | -| [`VULTR`](vultr.md) | ❔ | ❔ | ✅ | ❔ | +| [`ADGUARDHOME`](adguardhome.md) | | | | | +| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | | | | | +| [`AUTODNS`](autodns.md) | | | | | +| [`AXFRDDNS`](axfrddns.md) | | | | | +| [`AZURE_DNS`](azure_dns.md) | | | | | +| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | | | | | +| [`BIND`](bind.md) | | | | | +| [`BUNNY_DNS`](bunny_dns.md) | | | | | +| [`CLOUDFLAREAPI`](cloudflareapi.md) | | | | | +| [`CLOUDNS`](cloudns.md) | | | | | +| [`CNR`](cnr.md) | ❌ ⁱ | | ✅ ⁱ | ❌ ⁱ | +| [`CSCGLOBAL`](cscglobal.md) | | | | | +| [`DESEC`](desec.md) | | | | | +| [`DIGITALOCEAN`](digitalocean.md) | | | | | +| [`DNSIMPLE`](dnsimple.md) | | | | | +| [`DNSMADEEASY`](dnsmadeeasy.md) | | | | | +| [`DNSOVERHTTPS`](dnsoverhttps.md) | | | | | +| [`DOMAINNAMESHOP`](domainnameshop.md) | | ❌ ⁱ | | | +| [`DYNADOT`](dynadot.md) | | | | | +| [`EASYNAME`](easyname.md) | | | | | +| [`EXOSCALE`](exoscale.md) | | | ✅ ⁱ | | +| [`FORTIGATE`](fortigate.md) | | | | | +| [`GANDI_V5`](gandi_v5.md) | | | | | +| [`GCLOUD`](gcloud.md) | | | | | +| [`GCORE`](gcore.md) | | | ✅ ⁱ | | +| [`HEDNS`](hedns.md) | | | | | +| [`HETZNER`](hetzner.md) | | | | | +| [`HEXONET`](hexonet.md) | | | ✅ ⁱ | | +| [`HOSTINGDE`](hostingde.md) | | | | | +| [`HUAWEICLOUD`](huaweicloud.md) | | | | | +| [`INTERNETBS`](internetbs.md) | | | | | +| [`INWX`](inwx.md) | | | | | +| [`JOKER`](joker.md) | | | | | +| [`LINODE`](linode.md) | | | | | +| [`LOOPIA`](loopia.md) | | | | | +| [`LUADNS`](luadns.md) | | | | | +| [`MYTHICBEASTS`](mythicbeasts.md) | | | | | +| [`NAMECHEAP`](namecheap.md) | | | ❌ ⁱ | | +| [`NAMEDOTCOM`](namedotcom.md) | | | ✅ ⁱ | | +| [`NETCUP`](netcup.md) | | | | | +| [`NETLIFY`](netlify.md) | | | | | +| [`NS1`](ns1.md) | | | | | +| [`OPENSRS`](opensrs.md) | | | | | +| [`ORACLE`](oracle.md) | | | | | +| [`OVH`](ovh.md) | | | | | +| [`PACKETFRAME`](packetframe.md) | | | | | +| [`PORKBUN`](porkbun.md) | | | | | +| [`POWERDNS`](powerdns.md) | | | | | +| [`REALTIMEREGISTER`](realtimeregister.md) | | | | | +| [`ROUTE53`](route53.md) | | | | | +| [`RWTH`](rwth.md) | | | ✅ ⁱ | | +| [`SAKURACLOUD`](sakuracloud.md) | | | | | +| [`SOFTLAYER`](softlayer.md) | | | | | +| [`TRANSIP`](transip.md) | | | | | +| [`VULTR`](vultr.md) | | | | | ### Security | Provider name | [`CAA`](../language-reference/domain-modifiers/CAA.md) | [`HTTPS`](../language-reference/domain-modifiers/HTTPS.md) | [`SSHFP`](../language-reference/domain-modifiers/SSHFP.md) | [`TLSA`](../language-reference/domain-modifiers/TLSA.md) | | ------------- | ------------------------------------------------------ | ---------------------------------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------- | -| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | ✅ | ❔ | ✅ | ✅ | -| [`AUTODNS`](autodns.md) | ✅ | ❔ | ❌ | ❌ | -| [`AXFRDDNS`](axfrddns.md) | ✅ | ✅ | ✅ | ✅ | -| [`AZURE_DNS`](azure_dns.md) | ✅ | ❔ | ❌ | ❌ | -| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ❌ | ❔ | ❌ | ❌ | -| [`BIND`](bind.md) | ✅ | ✅ | ✅ | ✅ | -| [`BUNNY_DNS`](bunny_dns.md) | ✅ | ❔ | ❌ | ❌ | -| [`CLOUDFLAREAPI`](cloudflareapi.md) | ✅ | ✅ | ✅ | ✅ | -| [`CLOUDNS`](cloudns.md) | ✅ | ❔ | ✅ | ✅ | -| [`CNR`](cnr.md) | ✅ | ❌ | ✅ | ✅ | -| [`CSCGLOBAL`](cscglobal.md) | ✅ | ❔ | ❔ | ❔ | -| [`DESEC`](desec.md) | ✅ | ✅ | ✅ | ✅ | -| [`DIGITALOCEAN`](digitalocean.md) | ✅ | ❔ | ❔ | ❔ | -| [`DNSIMPLE`](dnsimple.md) | ✅ | ❔ | ✅ | ❌ | -| [`DNSMADEEASY`](dnsmadeeasy.md) | ✅ | ❔ | ❌ | ❌ | -| [`DOMAINNAMESHOP`](domainnameshop.md) | ✅ | ❔ | ❌ | ❔ | -| [`EXOSCALE`](exoscale.md) | ✅ | ❔ | ❔ | ❌ | -| [`GANDI_V5`](gandi_v5.md) | ✅ | ❔ | ✅ | ✅ | -| [`GCLOUD`](gcloud.md) | ✅ | ✅ | ✅ | ✅ | -| [`GCORE`](gcore.md) | ✅ | ✅ | ❌ | ❌ | -| [`HEDNS`](hedns.md) | ✅ | ✅ | ✅ | ❌ | -| [`HETZNER`](hetzner.md) | ✅ | ❔ | ❌ | ✅ | -| [`HEXONET`](hexonet.md) | ✅ | ❔ | ❔ | ✅ | -| [`HOSTINGDE`](hostingde.md) | ✅ | ❔ | ✅ | ✅ | -| [`HUAWEICLOUD`](huaweicloud.md) | ✅ | ❌ | ❌ | ❌ | -| [`INWX`](inwx.md) | ✅ | ✅ | ✅ | ✅ | -| [`JOKER`](joker.md) | ✅ | ❌ | ❌ | ❌ | -| [`LINODE`](linode.md) | ✅ | ❔ | ❔ | ❔ | -| [`LOOPIA`](loopia.md) | ✅ | ❌ | ✅ | ✅ | -| [`LUADNS`](luadns.md) | ✅ | ✅ | ✅ | ✅ | -| [`MYTHICBEASTS`](mythicbeasts.md) | ✅ | ❔ | ✅ | ✅ | -| [`NAMECHEAP`](namecheap.md) | ✅ | ❔ | ❔ | ❌ | -| [`NETCUP`](netcup.md) | ✅ | ❔ | ❔ | ❔ | -| [`NETLIFY`](netlify.md) | ✅ | ❔ | ❌ | ❌ | -| [`NS1`](ns1.md) | ✅ | ✅ | ❔ | ✅ | -| [`ORACLE`](oracle.md) | ✅ | ❔ | ✅ | ✅ | -| [`OVH`](ovh.md) | ✅ | ❔ | ✅ | ✅ | -| [`PORKBUN`](porkbun.md) | ✅ | ✅ | ❌ | ✅ | -| [`POWERDNS`](powerdns.md) | ✅ | ✅ | ✅ | ✅ | -| [`REALTIMEREGISTER`](realtimeregister.md) | ✅ | ❔ | ✅ | ✅ | -| [`ROUTE53`](route53.md) | ✅ | ✅ | ✅ | ✅ | -| [`RWTH`](rwth.md) | ✅ | ❔ | ✅ | ❌ | -| [`SAKURACLOUD`](sakuracloud.md) | ✅ | ✅ | ❌ | ❌ | -| [`TRANSIP`](transip.md) | ✅ | ❌ | ✅ | ✅ | -| [`VULTR`](vultr.md) | ✅ | ❔ | ✅ | ❌ | +| [`ADGUARDHOME`](adguardhome.md) | | | | | +| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | | | | | +| [`AUTODNS`](autodns.md) | | | | | +| [`AXFRDDNS`](axfrddns.md) | | | | | +| [`AZURE_DNS`](azure_dns.md) | | | | | +| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | ❌ ⁱ | | | | +| [`BIND`](bind.md) | | | | | +| [`BUNNY_DNS`](bunny_dns.md) | | | | | +| [`CLOUDFLAREAPI`](cloudflareapi.md) | | | | | +| [`CLOUDNS`](cloudns.md) | | | | | +| [`CNR`](cnr.md) | | ❌ ⁱ | | | +| [`CSCGLOBAL`](cscglobal.md) | | | | | +| [`DESEC`](desec.md) | | | | | +| [`DIGITALOCEAN`](digitalocean.md) | | | | | +| [`DNSIMPLE`](dnsimple.md) | | | | | +| [`DNSMADEEASY`](dnsmadeeasy.md) | | | | | +| [`DNSOVERHTTPS`](dnsoverhttps.md) | | | | | +| [`DOMAINNAMESHOP`](domainnameshop.md) | | | ❌ ⁱ | ❓ ⁱ | +| [`DYNADOT`](dynadot.md) | | | | | +| [`EASYNAME`](easyname.md) | | | | | +| [`EXOSCALE`](exoscale.md) | | | | | +| [`FORTIGATE`](fortigate.md) | | | | | +| [`GANDI_V5`](gandi_v5.md) | | | | | +| [`GCLOUD`](gcloud.md) | | | | | +| [`GCORE`](gcore.md) | | | | | +| [`HEDNS`](hedns.md) | | | | | +| [`HETZNER`](hetzner.md) | | | | | +| [`HEXONET`](hexonet.md) | | | | | +| [`HOSTINGDE`](hostingde.md) | | | | | +| [`HUAWEICLOUD`](huaweicloud.md) | | | | | +| [`INTERNETBS`](internetbs.md) | | | | | +| [`INWX`](inwx.md) | | | | | +| [`JOKER`](joker.md) | | | | | +| [`LINODE`](linode.md) | ✅ ⁱ | | | | +| [`LOOPIA`](loopia.md) | | | | | +| [`LUADNS`](luadns.md) | | | | | +| [`MYTHICBEASTS`](mythicbeasts.md) | | | | | +| [`NAMECHEAP`](namecheap.md) | | | | | +| [`NAMEDOTCOM`](namedotcom.md) | | | | | +| [`NETCUP`](netcup.md) | | | | | +| [`NETLIFY`](netlify.md) | | | | | +| [`NS1`](ns1.md) | | | | | +| [`OPENSRS`](opensrs.md) | | | | | +| [`ORACLE`](oracle.md) | | | | | +| [`OVH`](ovh.md) | | | | | +| [`PACKETFRAME`](packetframe.md) | | | | | +| [`PORKBUN`](porkbun.md) | | | | | +| [`POWERDNS`](powerdns.md) | | | | | +| [`REALTIMEREGISTER`](realtimeregister.md) | | | | | +| [`ROUTE53`](route53.md) | | | | | +| [`RWTH`](rwth.md) | | | | | +| [`SAKURACLOUD`](sakuracloud.md) | | | | | +| [`SOFTLAYER`](softlayer.md) | | | | | +| [`TRANSIP`](transip.md) | | | | | +| [`VULTR`](vultr.md) | | | | | ### DNSSEC | Provider name | [`AUTODNSSEC`](../language-reference/domain-modifiers/AUTODNSSEC_ON.md) | [`DNSKEY`](../language-reference/domain-modifiers/DNSKEY.md) | [`DS`](../language-reference/domain-modifiers/DS.md) | | ------------- | ----------------------------------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------- | -| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | ✅ | ❔ | ❌ | -| [`AUTODNS`](autodns.md) | ❔ | ❔ | ❌ | -| [`AXFRDDNS`](axfrddns.md) | ✅ | ❌ | ✅ | -| [`BIND`](bind.md) | ✅ | ✅ | ✅ | -| [`BUNNY_DNS`](bunny_dns.md) | ✅ | ❔ | ❌ | -| [`CLOUDFLAREAPI`](cloudflareapi.md) | ❔ | ❌ | ✅ | -| [`CLOUDNS`](cloudns.md) | ✅ | ❔ | ❔ | -| [`DESEC`](desec.md) | ✅ | ✅ | ✅ | -| [`DNSIMPLE`](dnsimple.md) | ✅ | ❔ | ❌ | -| [`DNSMADEEASY`](dnsmadeeasy.md) | ❔ | ❔ | ❌ | -| [`DOMAINNAMESHOP`](domainnameshop.md) | ❌ | ❔ | ❔ | -| [`GANDI_V5`](gandi_v5.md) | ❔ | ❔ | ❌ | -| [`GCORE`](gcore.md) | ✅ | ❔ | ❌ | -| [`HEDNS`](hedns.md) | ❌ | ❔ | ❌ | -| [`HETZNER`](hetzner.md) | ❌ | ❔ | ✅ | -| [`HOSTINGDE`](hostingde.md) | ✅ | ❔ | ✅ | -| [`HUAWEICLOUD`](huaweicloud.md) | ❔ | ❔ | ❌ | -| [`INWX`](inwx.md) | ✅ | ❔ | ❔ | -| [`JOKER`](joker.md) | ❔ | ❌ | ❌ | -| [`LOOPIA`](loopia.md) | ❌ | ❌ | ❌ | -| [`NETLIFY`](netlify.md) | ❌ | ❔ | ❌ | -| [`NS1`](ns1.md) | ✅ | ❔ | ✅ | -| [`ORACLE`](oracle.md) | ❔ | ❔ | ❌ | -| [`PORKBUN`](porkbun.md) | ❌ | ❔ | ❌ | -| [`POWERDNS`](powerdns.md) | ✅ | ✅ | ✅ | -| [`REALTIMEREGISTER`](realtimeregister.md) | ✅ | ❔ | ❌ | -| [`SAKURACLOUD`](sakuracloud.md) | ❌ | ❌ | ❌ | -| [`TRANSIP`](transip.md) | ❌ | ❌ | ❌ | +| [`ADGUARDHOME`](adguardhome.md) | | | | +| [`AKAMAIEDGEDNS`](akamaiedgedns.md) | | | | +| [`AUTODNS`](autodns.md) | | | | +| [`AXFRDDNS`](axfrddns.md) | ✅ ⁱ | | | +| [`AZURE_DNS`](azure_dns.md) | | | | +| [`AZURE_PRIVATE_DNS`](azure_private_dns.md) | | | | +| [`BIND`](bind.md) | ✅ ⁱ | | | +| [`BUNNY_DNS`](bunny_dns.md) | | | | +| [`CLOUDFLAREAPI`](cloudflareapi.md) | | | | +| [`CLOUDNS`](cloudns.md) | | | | +| [`CNR`](cnr.md) | ❓ ⁱ | ❓ ⁱ | ❓ ⁱ | +| [`CSCGLOBAL`](cscglobal.md) | | | | +| [`DESEC`](desec.md) | ✅ ⁱ | | | +| [`DIGITALOCEAN`](digitalocean.md) | | | | +| [`DNSIMPLE`](dnsimple.md) | | | | +| [`DNSMADEEASY`](dnsmadeeasy.md) | | | | +| [`DNSOVERHTTPS`](dnsoverhttps.md) | | | | +| [`DOMAINNAMESHOP`](domainnameshop.md) | | | | +| [`DYNADOT`](dynadot.md) | | | | +| [`EASYNAME`](easyname.md) | | | | +| [`EXOSCALE`](exoscale.md) | | | | +| [`FORTIGATE`](fortigate.md) | | | | +| [`GANDI_V5`](gandi_v5.md) | | | ❌ ⁱ | +| [`GCLOUD`](gcloud.md) | | | | +| [`GCORE`](gcore.md) | | | | +| [`HEDNS`](hedns.md) | | | | +| [`HETZNER`](hetzner.md) | | | | +| [`HEXONET`](hexonet.md) | | | | +| [`HOSTINGDE`](hostingde.md) | | | | +| [`HUAWEICLOUD`](huaweicloud.md) | ❓ ⁱ | | | +| [`INTERNETBS`](internetbs.md) | | | | +| [`INWX`](inwx.md) | | | ❓ ⁱ | +| [`JOKER`](joker.md) | | | | +| [`LINODE`](linode.md) | | | | +| [`LOOPIA`](loopia.md) | | | ❌ ⁱ | +| [`LUADNS`](luadns.md) | | | | +| [`MYTHICBEASTS`](mythicbeasts.md) | | | | +| [`NAMECHEAP`](namecheap.md) | | | | +| [`NAMEDOTCOM`](namedotcom.md) | | | | +| [`NETCUP`](netcup.md) | | | | +| [`NETLIFY`](netlify.md) | | | | +| [`NS1`](ns1.md) | | | | +| [`OPENSRS`](opensrs.md) | | | | +| [`ORACLE`](oracle.md) | | | | +| [`OVH`](ovh.md) | | | | +| [`PACKETFRAME`](packetframe.md) | | | | +| [`PORKBUN`](porkbun.md) | | | | +| [`POWERDNS`](powerdns.md) | | | | +| [`REALTIMEREGISTER`](realtimeregister.md) | | | ❌ ⁱ | +| [`ROUTE53`](route53.md) | | | | +| [`RWTH`](rwth.md) | ❓ ⁱ | | ❓ ⁱ | +| [`SAKURACLOUD`](sakuracloud.md) | | | | +| [`SOFTLAYER`](softlayer.md) | | | | +| [`TRANSIP`](transip.md) | | | | +| [`VULTR`](vultr.md) | | | |