diff --git a/dnsconfig.js b/dnsconfig.js index 833d3d6a58..faf5db4900 100644 --- a/dnsconfig.js +++ b/dnsconfig.js @@ -172,6 +172,32 @@ for (var subdomain in domains) { } } +var existingSubdomains = new Set(); +var eligibleDomains = []; + +for (var i = 0; i < domains.length; i++) { + var subdomainName = domains[i].name; + var data = domains[i].data; + + existingSubdomains.add(subdomainName); + + if ( + !subdomainName.startsWith("www.") && + (data.records.A || data.records.AAAA || data.records.CNAME || data.records.URL) + ) { + eligibleDomains.push(subdomainName); + } +} + +for (var i = 0; i < eligibleDomains.length; i++) { + var sub = eligibleDomains[i]; + var wwwSub = "www." + sub; + + if (!existingSubdomains.has(wwwSub)) { + records.push(A(wwwSub, IP("192.0.2.1"), CF_PROXY_ON)); + } +} + var reserved = require("./util/reserved.json"); // Handle reserved domains