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) | ❔ | ❔ | ❔ |