mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2025-12-09 13:46:07 +08:00
# Issue Fixes https://github.com/StackExchange/dnscontrol/issues/3842 CC @das7pad # Resolution Convert domain.Name to IDN earlier in the pipeline. Hack the --domains processing to convert everything to IDN. * Domain names are now stored 3 ways: The original input from dnsconfig.js, canonical IDN format (`xn--...`), and Unicode format. All are downcased. Providers that haven't been updated will receive the IDN format instead of the original input format. This might break some providers but only for users with unicode in their D("domain.tld"). PLEASE TEST YOUR PROVIDER. * BIND filename formatting options have been added to access the new formats. # Breaking changes * BIND zonefiles may change. The default used the name input in the D() statement. It now defaults to the IDN name + "!tag" if there is a tag. * Providers that are not IDN-aware may break (hopefully only if they weren't processing IDN already) --------- Co-authored-by: Jakob Ackermann <das7pad@outlook.com>
532 lines
12 KiB
JSON
532 lines
12 KiB
JSON
{
|
|
"dns_providers": [
|
|
{
|
|
"name": "Cloudflare",
|
|
"type": "CLOUDFLAREAPI"
|
|
}
|
|
],
|
|
"domains": [
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "foo.net"
|
|
},
|
|
"name": "foo.net",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:7:5]",
|
|
"name": "@",
|
|
"target": "10.1.1.1",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:11:5]",
|
|
"name": "bar",
|
|
"subdomain": "bar",
|
|
"target": "10.3.3.3",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:12:5]",
|
|
"name": "www.bar",
|
|
"subdomain": "bar",
|
|
"target": "10.4.4.4",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:70:5]",
|
|
"name": "a.long.path.of.sub.domains",
|
|
"subdomain": "a.long.path.of.sub.domains",
|
|
"target": "10.25.25.25",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:71:5]",
|
|
"name": "www.a.long.path.of.sub.domains",
|
|
"subdomain": "a.long.path.of.sub.domains",
|
|
"target": "10.26.26.26",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:8:5]",
|
|
"name": "www",
|
|
"target": "10.2.2.2",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "foo.tld"
|
|
},
|
|
"name": "foo.tld",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:18:5]",
|
|
"name": "@",
|
|
"target": "20.5.5.5",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:30:5]",
|
|
"name": "a",
|
|
"target": "20.10.10.10",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:19:5]",
|
|
"name": "www",
|
|
"target": "20.6.6.6",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "bar.foo.tld"
|
|
},
|
|
"name": "bar.foo.tld",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:23:5]",
|
|
"name": "@",
|
|
"target": "30.7.7.7",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:27:5]",
|
|
"name": "a",
|
|
"target": "30.9.9.9",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:24:5]",
|
|
"name": "www",
|
|
"target": "30.8.8.8",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "foo.help"
|
|
},
|
|
"name": "foo.help",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:36:5]",
|
|
"name": "@",
|
|
"target": "40.12.12.12",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:49:5]",
|
|
"name": "morty",
|
|
"subdomain": "morty",
|
|
"target": "40.17.17.17",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:50:5]",
|
|
"name": "www.morty",
|
|
"subdomain": "morty",
|
|
"target": "40.18.18.18",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:37:5]",
|
|
"name": "www",
|
|
"target": "40.12.12.12",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "bar.foo.help"
|
|
},
|
|
"name": "bar.foo.help",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:41:5]",
|
|
"name": "@",
|
|
"target": "50.13.13.13",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:42:5]",
|
|
"name": "www",
|
|
"target": "50.14.14.14",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:45:5]",
|
|
"name": "zip",
|
|
"subdomain": "zip",
|
|
"target": "50.15.15.15",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:46:5]",
|
|
"name": "www.zip",
|
|
"subdomain": "zip",
|
|
"target": "50.16.16.16",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "foo.here"
|
|
},
|
|
"name": "foo.here",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:56:5]",
|
|
"name": "@",
|
|
"target": "60.19.19.19",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:60:5]",
|
|
"name": "bar",
|
|
"subdomain": "bar",
|
|
"target": "60.21.21.21",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:64:5]",
|
|
"name": "baz.bar",
|
|
"subdomain": "baz.bar",
|
|
"target": "60.23.23.23",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:65:5]",
|
|
"name": "www.baz.bar",
|
|
"subdomain": "baz.bar",
|
|
"target": "60.24.24.24",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:61:5]",
|
|
"name": "www.bar",
|
|
"subdomain": "bar",
|
|
"target": "60.22.22.22",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:57:5]",
|
|
"name": "www",
|
|
"target": "60.20.20.20",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "example.com"
|
|
},
|
|
"name": "example.com",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:77:5]",
|
|
"name": "@",
|
|
"target": "10.0.0.1",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:82:5]",
|
|
"name": "d\u00fcsseldorf",
|
|
"subdomain": "d\u00fcsseldorf",
|
|
"target": "10.0.0.3",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:83:5]",
|
|
"name": "www.d\u00fcsseldorf",
|
|
"subdomain": "d\u00fcsseldorf",
|
|
"target": "10.0.0.4",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:78:5]",
|
|
"name": "www",
|
|
"target": "10.0.0.2",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:87:5]",
|
|
"name": "\u00fc",
|
|
"subdomain": "\u00fc",
|
|
"target": "10.0.0.5",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:88:5]",
|
|
"name": "www.\u00fc",
|
|
"subdomain": "\u00fc",
|
|
"target": "10.0.0.6",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "xn--dsseldorf-q9a.example.net"
|
|
},
|
|
"name": "xn--dsseldorf-q9a.example.net",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:94:5]",
|
|
"name": "@",
|
|
"target": "10.0.0.7",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:104:5]",
|
|
"name": "d\u00fcsseltal",
|
|
"subdomain": "d\u00fcsseltal",
|
|
"target": "10.0.0.11",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:105:5]",
|
|
"name": "www.d\u00fcsseltal",
|
|
"subdomain": "d\u00fcsseltal",
|
|
"target": "10.0.0.12",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:99:5]",
|
|
"name": "subdomain",
|
|
"subdomain": "subdomain",
|
|
"target": "10.0.0.9",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:100:5]",
|
|
"name": "www.subdomain",
|
|
"subdomain": "subdomain",
|
|
"target": "10.0.0.10",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:95:5]",
|
|
"name": "www",
|
|
"target": "10.0.0.8",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:109:5]",
|
|
"name": "\u00fc",
|
|
"subdomain": "\u00fc",
|
|
"target": "10.0.0.13",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:110:5]",
|
|
"name": "www.\u00fc",
|
|
"subdomain": "\u00fc",
|
|
"target": "10.0.0.14",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "xn--tda.example.net"
|
|
},
|
|
"name": "xn--tda.example.net",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:116:5]",
|
|
"name": "@",
|
|
"target": "10.0.0.15",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:126:5]",
|
|
"name": "d\u00fcsseldorf",
|
|
"subdomain": "d\u00fcsseldorf",
|
|
"target": "10.0.0.19",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:127:5]",
|
|
"name": "www.d\u00fcsseldorf",
|
|
"subdomain": "d\u00fcsseldorf",
|
|
"target": "10.0.0.20",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:121:5]",
|
|
"name": "subdomain",
|
|
"subdomain": "subdomain",
|
|
"target": "10.0.0.17",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:122:5]",
|
|
"name": "www.subdomain",
|
|
"subdomain": "subdomain",
|
|
"target": "10.0.0.18",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:117:5]",
|
|
"name": "www",
|
|
"target": "10.0.0.16",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:131:5]",
|
|
"name": "\u00fc",
|
|
"subdomain": "\u00fc",
|
|
"target": "10.0.0.21",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
},
|
|
{
|
|
"filepos": "[line:132:5]",
|
|
"name": "www.\u00fc",
|
|
"subdomain": "\u00fc",
|
|
"target": "10.0.0.22",
|
|
"ttl": 300,
|
|
"type": "A"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
},
|
|
{
|
|
"dnsProviders": {
|
|
"Cloudflare": -1
|
|
},
|
|
"meta": {
|
|
"dnscontrol_uniquename": "example.tld"
|
|
},
|
|
"name": "example.tld",
|
|
"records": [
|
|
{
|
|
"filepos": "[line:138:5]",
|
|
"name": "a.sub",
|
|
"subdomain": "sub",
|
|
"target": "b.sub.example.tld.",
|
|
"ttl": 300,
|
|
"type": "CNAME"
|
|
},
|
|
{
|
|
"filepos": "[line:139:5]",
|
|
"name": "b.sub",
|
|
"subdomain": "sub",
|
|
"target": "sub.example.tld.",
|
|
"ttl": 300,
|
|
"type": "CNAME"
|
|
},
|
|
{
|
|
"filepos": "[line:140:5]",
|
|
"name": "c.sub",
|
|
"subdomain": "sub",
|
|
"target": "sub.example.tld.",
|
|
"ttl": 300,
|
|
"type": "CNAME"
|
|
},
|
|
{
|
|
"filepos": "[line:142:5]",
|
|
"name": "e.sub",
|
|
"subdomain": "sub",
|
|
"target": "otherdomain.tld.",
|
|
"ttl": 300,
|
|
"type": "CNAME"
|
|
}
|
|
],
|
|
"registrar": "Third-Party"
|
|
}
|
|
],
|
|
"registrars": [
|
|
{
|
|
"name": "Third-Party",
|
|
"type": "NONE"
|
|
}
|
|
]
|
|
}
|