From 7ad328eea5857402a7a07d2c0035bf250249fda7 Mon Sep 17 00:00:00 2001 From: William Harrison Date: Thu, 17 Oct 2024 10:50:40 +0800 Subject: [PATCH] Update dnsconfig.js --- dnsconfig.js | 198 +++++++++++++++++++++++++++------------------------ 1 file changed, 103 insertions(+), 95 deletions(-) diff --git a/dnsconfig.js b/dnsconfig.js index 58bf90b84..ab57a4689 100644 --- a/dnsconfig.js +++ b/dnsconfig.js @@ -2,128 +2,136 @@ var regNone = NewRegistrar("none"); var providerCf = DnsProvider(NewDnsProvider("cloudflare")); var proxy = { - on: { "cloudflare_proxy": "on" }, - off: { "cloudflare_proxy": "off" } -} + on: { cloudflare_proxy: "on" }, + off: { cloudflare_proxy: "off" }, +}; function getDomainsList(filesPath) { - var result = []; - var files = glob.apply(null, [filesPath, true, '.json']); + var result = []; + var files = glob.apply(null, [filesPath, true, ".json"]); - for (var i = 0; i < files.length; i++) { - var name = files[i].split('.').slice(0, -1).join('.'); + for (var i = 0; i < files.length; i++) { + var name = files[i].split(".").slice(0, -1).join("."); - result.push({ name: name, data: require(files[i]) }); - } + result.push({ name: name, data: require(files[i]) }); + } - return result; + return result; } -var domains = getDomainsList('./domains'); +var domains = getDomainsList("./domains"); var commit = {}; for (var idx in domains) { - var domainName = "is-a.dev"; - var subdomainName = domains[idx].name; - var domainData = domains[idx].data; - var proxyState = proxy.on; // enabled by default + var domainName = "is-a.dev"; + var subdomainName = domains[idx].name; + var domainData = domains[idx].data; + var proxyState = proxy.on; // enabled by default - if (!commit[domainName]) { - commit[domainName] = []; - } - - if (domainData.proxied === false) { - proxyState = proxy.off; - } - - // Handle A records - if (domainData.record.A) { - for (var a in domainData.record.A) { - commit[domainName].push( - A(subdomainName, IP(domainData.record.A[a]), proxyState) - ); + if (!commit[domainName]) { + commit[domainName] = []; } - } - // Handle AAAA records - if (domainData.record.AAAA) { - for (var aaaa in domainData.record.AAAA) { - commit[domainName].push( - AAAA(subdomainName, domainData.record.AAAA[aaaa], proxyState) - ); + if (domainData.proxied === false) { + proxyState = proxy.off; } - } - // Handle CAA records - if (domainData.record.CAA) { - for (var caa in domainData.record.CAA) { - var caaRecord = domainData.record.CAA[caa]; - commit[domainName].push( - CAA(subdomainName, caaRecord.flags, caaRecord.tag, caaRecord.value) - ); + // Handle A records + if (domainData.record.A) { + for (var a in domainData.record.A) { + commit[domainName].push( + A(subdomainName, IP(domainData.record.A[a]), proxyState), + ); + } } - } - // Handle CNAME records - if (domainData.record.CNAME) { - commit[domainName].push( - CNAME(subdomainName, domainData.record.CNAME + ".", proxyState) - ); - } - - // Handle MX records - if (domainData.record.MX) { - for (var mx in domainData.record.MX) { - commit[domainName].push( - MX(subdomainName, 10, domainData.record.MX[mx] + ".") - ); + // Handle AAAA records + if (domainData.record.AAAA) { + for (var aaaa in domainData.record.AAAA) { + commit[domainName].push( + AAAA(subdomainName, domainData.record.AAAA[aaaa], proxyState), + ); + } } - } - // Handle NS records - if (domainData.record.NS) { - for (var ns in domainData.record.NS) { - commit[domainName].push( - NS(subdomainName, domainData.record.NS[ns] + ".") - ); + // Handle CAA records + if (domainData.record.CAA) { + for (var caa in domainData.record.CAA) { + var caaRecord = domainData.record.CAA[caa]; + commit[domainName].push( + CAA( + subdomainName, + caaRecord.flags, + caaRecord.tag, + caaRecord.value, + ), + ); + } } - } - // Handle SRV records - if (domainData.record.SRV) { - for (var srv in domainData.record.SRV) { - var srvRecord = domainData.record.SRV[srv]; - commit[domainName].push( - SRV(subdomainName, srvRecord.priority, srvRecord.weight, srvRecord.port, srvRecord.target + ".") - ); - } - } - - // Handle TXT records - if (domainData.record.TXT) { - if (Array.isArray(domainData.record.TXT)) { - for (var txt in domainData.record.TXT) { + // Handle CNAME records + if (domainData.record.CNAME) { commit[domainName].push( - TXT(subdomainName, domainData.record.TXT[txt]) + CNAME(subdomainName, domainData.record.CNAME + ".", proxyState), ); - } - } else { - commit[domainName].push( - TXT(subdomainName, domainData.record.TXT) - ); } - } - // Handle URL records - // Note: URL records are not actual DNS records, we have a server configured to support them instead. - if (domainData.record.URL) { - commit[domainName].push( - A(subdomainName, "192.0.2.1", proxy.on) - ); - } + // Handle MX records + if (domainData.record.MX) { + for (var mx in domainData.record.MX) { + commit[domainName].push( + MX(subdomainName, 10, domainData.record.MX[mx] + "."), + ); + } + } + + // Handle NS records + if (domainData.record.NS) { + for (var ns in domainData.record.NS) { + commit[domainName].push( + NS(subdomainName, domainData.record.NS[ns] + "."), + ); + } + } + + // Handle SRV records + if (domainData.record.SRV) { + for (var srv in domainData.record.SRV) { + var srvRecord = domainData.record.SRV[srv]; + commit[domainName].push( + SRV( + subdomainName, + srvRecord.priority, + srvRecord.weight, + srvRecord.port, + srvRecord.target + ".", + ), + ); + } + } + + // Handle TXT records + if (domainData.record.TXT) { + if (Array.isArray(domainData.record.TXT)) { + for (var txt in domainData.record.TXT) { + commit[domainName].push( + TXT(subdomainName, domainData.record.TXT[txt]), + ); + } + } else { + commit[domainName].push(TXT(subdomainName, domainData.record.TXT)); + } + } + + // Handle URL records + // Note: URL records are not actual DNS records, we have a server configured to support them instead. + if (domainData.record.URL) { + // Use 192.0.2.1 until server is deployed. + commit[domainName].push(A(subdomainName, "192.0.2.1", proxy.on)); + } } // Commit all DNS records for (var domainName in commit) { - D(domainName, regNone, providerCf, commit[domainName]); + D(domainName, regNone, providerCf, commit[domainName]); }