From 5d22370d9b57bd2cbe2f28bc6f63e4c6cba3842f Mon Sep 17 00:00:00 2001 From: Kawrrq Date: Sat, 22 Feb 2025 16:09:35 -0800 Subject: [PATCH 1/8] Create doge.localplayer.dev.json --- doge.localplayer.dev.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 doge.localplayer.dev.json diff --git a/doge.localplayer.dev.json b/doge.localplayer.dev.json new file mode 100644 index 00000000..776fb921 --- /dev/null +++ b/doge.localplayer.dev.json @@ -0,0 +1,15 @@ +{ + "description": "Game unblocker", + "domain": "localplayer.dev", + "subdomain": "doge", + + "owner": { + "email": "Kawrrq@gmail.com" + }, + + "record": { + "A": ["104.243.38.142"], + }, + + "proxied": false +} From 088494354e4ec0b64e24db6422a50cb3630c7f00 Mon Sep 17 00:00:00 2001 From: Biblionest Date: Sun, 23 Feb 2025 08:35:27 +0530 Subject: [PATCH 2/8] Update biblionest.is-local.org.json --- domains/biblionest.is-local.org.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/domains/biblionest.is-local.org.json b/domains/biblionest.is-local.org.json index b4aa6d5b..2ac64a66 100644 --- a/domains/biblionest.is-local.org.json +++ b/domains/biblionest.is-local.org.json @@ -11,7 +11,11 @@ "record": { "MX": ["emx.mail.ru"], - "TXT": ["mailru-domain: xFZ8hAJWrhSr6PJx", "v=spf1 a mx include:_spf.mail.ru ~all"] + "TXT": [ + "mailru-domain: xFZ8hAJWrhSr6PJx", + "v=spf1 a mx include:_spf.mail.ru ~all", + "atlassian-domain-verification=2w8ldZwTC1/k6xjchySWvmcc7pPXMmaFND6nkFT6qhGrJ4NCr1w/9tq/nzTMzgFS" + ] }, "proxied": false From 81e2714763bda9eacbd39cd1a2b321c8e3a04a41 Mon Sep 17 00:00:00 2001 From: Kawrrq Date: Sat, 22 Feb 2025 19:41:31 -0800 Subject: [PATCH 3/8] Update doge.localplayer.dev.json --- doge.localplayer.dev.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doge.localplayer.dev.json b/doge.localplayer.dev.json index 776fb921..331564fd 100644 --- a/doge.localplayer.dev.json +++ b/doge.localplayer.dev.json @@ -8,7 +8,7 @@ }, "record": { - "A": ["104.243.38.142"], + "A": ["104.243.38.142"] }, "proxied": false From 6fd30d35a3f6e35701be5c4f8186d23a16d15a20 Mon Sep 17 00:00:00 2001 From: Kahlid Shaltu Date: Sun, 23 Feb 2025 09:46:50 -0800 Subject: [PATCH 4/8] Create doge.localplayer.dev.json It is in the correct directory I hope can't believe i made that mistake oof rip --- domains/doge.localplayer.dev.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 domains/doge.localplayer.dev.json diff --git a/domains/doge.localplayer.dev.json b/domains/doge.localplayer.dev.json new file mode 100644 index 00000000..331564fd --- /dev/null +++ b/domains/doge.localplayer.dev.json @@ -0,0 +1,15 @@ +{ + "description": "Game unblocker", + "domain": "localplayer.dev", + "subdomain": "doge", + + "owner": { + "email": "Kawrrq@gmail.com" + }, + + "record": { + "A": ["104.243.38.142"] + }, + + "proxied": false +} From e3aa50f00c62415e85911541e21c92033b14e546 Mon Sep 17 00:00:00 2001 From: Kahlid Shaltu Date: Sun, 23 Feb 2025 09:48:06 -0800 Subject: [PATCH 5/8] Delete doge.localplayer.dev.json --- doge.localplayer.dev.json | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 doge.localplayer.dev.json diff --git a/doge.localplayer.dev.json b/doge.localplayer.dev.json deleted file mode 100644 index 331564fd..00000000 --- a/doge.localplayer.dev.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "description": "Game unblocker", - "domain": "localplayer.dev", - "subdomain": "doge", - - "owner": { - "email": "Kawrrq@gmail.com" - }, - - "record": { - "A": ["104.243.38.142"] - }, - - "proxied": false -} From 38a8a255654203a51a44e1f608e5a3a4f8d40292 Mon Sep 17 00:00:00 2001 From: Cynihez Date: Wed, 26 Feb 2025 23:20:33 +0600 Subject: [PATCH 6/8] Create cyiwdio.localplayer.dev.js --- domains/cyiwdio.localplayer.dev.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 domains/cyiwdio.localplayer.dev.js diff --git a/domains/cyiwdio.localplayer.dev.js b/domains/cyiwdio.localplayer.dev.js new file mode 100644 index 00000000..95e63c42 --- /dev/null +++ b/domains/cyiwdio.localplayer.dev.js @@ -0,0 +1,16 @@ +{ + "description": "Radio streaming and blog platform", + "domain": "localplayer.dev", + "subdomain": "cyiwdio", + + "owner": { + "repo": "https://github.com/Cyniez/Cyiwdio", + "email": "syed.sakibul.islam2008@gmail.com" + }, + + "record": { + "CNAME": "cyiwdio.vercel.app" + }, + + "proxied": false +} From 7713f140ceb1e15785b13d6071399849c4871178 Mon Sep 17 00:00:00 2001 From: Cynihez Date: Wed, 26 Feb 2025 23:28:23 +0600 Subject: [PATCH 7/8] Rename cyiwdio.localplayer.dev.js to cyiwdio.localplayer.dev.json --- .../{cyiwdio.localplayer.dev.js => cyiwdio.localplayer.dev.json} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename domains/{cyiwdio.localplayer.dev.js => cyiwdio.localplayer.dev.json} (100%) diff --git a/domains/cyiwdio.localplayer.dev.js b/domains/cyiwdio.localplayer.dev.json similarity index 100% rename from domains/cyiwdio.localplayer.dev.js rename to domains/cyiwdio.localplayer.dev.json From 17eced7080ed5339d87212079b0d35af603b4260 Mon Sep 17 00:00:00 2001 From: andrewstech Date: Sat, 1 Mar 2025 18:38:58 +0000 Subject: [PATCH 8/8] Update dnsconfig.js --- dnsconfig.js | 129 ++++++++++++++++++++++++++------------------------- 1 file changed, 65 insertions(+), 64 deletions(-) diff --git a/dnsconfig.js b/dnsconfig.js index ead89642..91edf7fe 100644 --- a/dnsconfig.js +++ b/dnsconfig.js @@ -1,123 +1,124 @@ +// Setup registrar and DNS provider var regNone = NewRegistrar("none"); var providerCf = DnsProvider(NewDnsProvider("cloudflare")); var proxy = { on: { "cloudflare_proxy": "on" }, off: { "cloudflare_proxy": "off" } -} +}; +// Load all domain configurations from JSON files function getDomainsList(filesPath) { var result = []; var files = glob.apply(null, [filesPath, true, '.json']); - for (var i = 0; i < files.length; i++) { - var basename = files[i].split('/').reverse()[0]; - var name = basename.split('.')[0]; - - result.push({ name: name, data: require(files[i]) }); - } + files.forEach(file => { + try { + const basename = file.split('/').pop(); + const name = basename.split('.')[0]; + const data = require(file); + + // Validate required fields + if (!data.domain || !data.record) { + console.error(`Missing required fields in ${file}`); + return; + } + + result.push({ name, data }); + } catch (error) { + console.error(`Error loading ${file}:`, error); + } + }); return result; } var domains = getDomainsList('./domains'); -var commit = {}; +var recordsByDomain = {}; -for (var idx in domains) { - var domainData = domains[idx].data; - var proxyState = proxy.on; // enabled by default - - if (!commit[domainData.domain]) { - commit[domainData.domain] = []; +// Helper to add records to a domain entry +function addRecord(domain, record) { + if (!recordsByDomain[domain]) { + recordsByDomain[domain] = []; } + recordsByDomain[domain].push(record); +} + +// Process each domain +domains.forEach(domainEntry => { + const domainData = domainEntry.data; + let proxyState = proxy.on; // Default to enabled if (domainData.proxied === false) { proxyState = proxy.off; } + // Initialize records array for this domain + recordsByDomain[domainData.domain] = recordsByDomain[domainData.domain] || []; + // Handle A records if (domainData.record.A) { - for (var a in domainData.record.A) { - commit[domainData.domain].push( - A(domainData.subdomain, IP(domainData.record.A[a]), proxyState) - ); - } + domainData.record.A.forEach(ipAddress => { + addRecord(domainData.domain, A(domainData.subdomain, IP(ipAddress), proxyState)); + }); } // Handle AAAA records if (domainData.record.AAAA) { - for (var aaaa in domainData.record.AAAA) { - commit[domainData.domain].push( - AAAA(domainData.subdomain, domainData.record.AAAA[aaaa], proxyState) - ); - } + domainData.record.AAAA.forEach(ipv6 => { + addRecord(domainData.domain, AAAA(domainData.subdomain, ipv6, proxyState)); + }); } // Handle CNAME records if (domainData.record.CNAME) { - commit[domainData.domain].push( - CNAME(domainData.subdomain, domainData.record.CNAME + ".", proxyState) - ); + addRecord(domainData.domain, CNAME(domainData.subdomain, domainData.record.CNAME + ".", proxyState)); } // Handle MX records if (domainData.record.MX) { - for (var mx in domainData.record.MX) { - commit[domainData.domain].push( - MX(domainData.subdomain, 10, domainData.record.MX[mx] + ".") - ); - } + domainData.record.MX.forEach(mx => { + addRecord(domainData.domain, MX(domainData.subdomain, 10, mx + ".")); + }); } // Handle NS records if (domainData.record.NS) { - for (var ns in domainData.record.NS) { - commit[domainData.domain].push( - NS(domainData.subdomain, domainData.record.NS[ns] + ".") - ); - } + domainData.record.NS.forEach(ns => { + addRecord(domainData.domain, NS(domainData.subdomain, ns + ".")); + }); } // Handle TXT records if (domainData.record.TXT) { - for (var txt in domainData.record.TXT) { - commit[domainData.domain].push( - TXT(domainData.subdomain, domainData.record.TXT[txt]) - ); - } + domainData.record.TXT.forEach(txt => { + addRecord(domainData.domain, TXT(domainData.subdomain, txt)); + }); } // Handle CAA records if (domainData.record.CAA) { - for (var caa in domainData.record.CAA) { - var caaRecord = domainData.record.CAA[caa]; - commit[domainData.domain].push( - CAA(domainData.subdomain, caaRecord.flags, caaRecord.tag, caaRecord.value) - ); - } + domainData.record.CAA.forEach(caaRecord => { + addRecord(domainData.domain, CAA(domainData.subdomain, 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[domainData.domain].push( - SRV(domainData.subdomain, srvRecord.priority, srvRecord.weight, srvRecord.port, srvRecord.target + ".") - ); - } + domainData.record.SRV.forEach(srvRecord => { + addRecord(domainData.domain, SRV(domainData.subdomain, srvRecord.priority, srvRecord.weight, srvRecord.port, srvRecord.target + ".")); + }); } // Handle PTR records if (domainData.record.PTR) { - for (var ptr in domainData.record.PTR) { - commit[domainData.domain].push( - PTR(domainData.subdomain, domainData.record.PTR[ptr] + ".") - ); - } + domainData.record.PTR.forEach(ptr => { + addRecord(domainData.domain, PTR(domainData.subdomain, ptr + ".")); + }); } -} +}); -// Commit all DNS records -for (var domainName in commit) { - D(domainName, regNone, providerCf, commit[domainName]); -} +// Commit all DNS records for each domain +Object.keys(recordsByDomain).forEach(domainName => { + D(domainName, regNone, providerCf, recordsByDomain[domainName]); +});