From 407be08c8036be11ba698ffe46eee69f62aba933 Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:07:14 +0300 Subject: [PATCH 01/21] Chage NS records from cloudflare to own hosted --- domains/lungustefan.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 63394de20..6f735ec27 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -8,6 +8,6 @@ "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" }, "record": { - "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] + "NS": ["ns.lungustefan.ro", "ns2.lungustefan.ro", "ns3.lungustefan.ro", "ns4.lungustefan.ro"] } } From ebfeb02e5d689053807621f24015ed295610e88d Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:14:41 +0300 Subject: [PATCH 02/21] Update lungustefan.json --- domains/lungustefan.json | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 6f735ec27..a682eb05d 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -8,6 +8,33 @@ "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" }, "record": { - "NS": ["ns.lungustefan.ro", "ns2.lungustefan.ro", "ns3.lungustefan.ro", "ns4.lungustefan.ro"] + "NS": ["ns.lungustefan.ro", "ns2.lungustefan.ro", "ns3.lungustefan.ro", "ns4.lungustefan.ro"], + "DS": [ + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 1, + "digest": "A9933E9513FDD9F4999ED3DC10F1DF1319C34875" + }, + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 2, + "digest": "2857597715A85AD42B38D3468235022891809B5701763E6EE4792A3A010A3806" + }, + { + "key_tag": 8282, + "algorithm": 13, + "digest_type": 1, + "digest": "19AA7AE3C1857CE964E98E59244D7ABEE07ED490" + }, + { + "key_tag": 8282, + "algorithm": 13, + "digest_type": 2, + "digest": "9A1A6E8F54F85A40009C0C3A31C8815CDB294244FD0E1EB4DBBAF3695D000800" + } +] + } } From 1934c19d267ca601374b846a2a1ce0e4497ea33c Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:16:04 +0300 Subject: [PATCH 03/21] Update lungustefan.json --- domains/lungustefan.json | 59 ++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 27 deletions(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index a682eb05d..46fd96425 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -7,34 +7,39 @@ "mobile": "+40756450998", "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" }, +{ "record": { - "NS": ["ns.lungustefan.ro", "ns2.lungustefan.ro", "ns3.lungustefan.ro", "ns4.lungustefan.ro"], + "NS": [ + "ns.lungustefan.ro", + "ns2.lungustefan.ro", + "ns3.lungustefan.ro", + "ns4.lungustefan.ro" + ], "DS": [ - { - "key_tag": 10684, - "algorithm": 13, - "digest_type": 1, - "digest": "A9933E9513FDD9F4999ED3DC10F1DF1319C34875" - }, - { - "key_tag": 10684, - "algorithm": 13, - "digest_type": 2, - "digest": "2857597715A85AD42B38D3468235022891809B5701763E6EE4792A3A010A3806" - }, - { - "key_tag": 8282, - "algorithm": 13, - "digest_type": 1, - "digest": "19AA7AE3C1857CE964E98E59244D7ABEE07ED490" - }, - { - "key_tag": 8282, - "algorithm": 13, - "digest_type": 2, - "digest": "9A1A6E8F54F85A40009C0C3A31C8815CDB294244FD0E1EB4DBBAF3695D000800" - } -] - + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 1, + "digest": "A9933E9513FDD9F4999ED3DC10F1DF1319C34875" + }, + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 2, + "digest": "2857597715A85AD42B38D3468235022891809B5701763E6EE4792A3A010A3806" + }, + { + "key_tag": 8282, + "algorithm": 13, + "digest_type": 1, + "digest": "19AA7AE3C1857CE964E98E59244D7ABEE07ED490" + }, + { + "key_tag": 8282, + "algorithm": 13, + "digest_type": 2, + "digest": "9A1A6E8F54F85A40009C0C3A31C8815CDB294244FD0E1EB4DBBAF3695D000800" + } + ] } } From bbef97634aba70f600fe14931a127550c07c2284 Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:18:11 +0300 Subject: [PATCH 04/21] Update lungustefan.json --- domains/lungustefan.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 46fd96425..61bea9847 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -7,6 +7,8 @@ "mobile": "+40756450998", "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" }, +{ +{ { "record": { "NS": [ From bd09640ddbc7150391b80861f3b8e23157603c4d Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:20:00 +0300 Subject: [PATCH 05/21] Update lungustefan.json --- domains/lungustefan.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 61bea9847..72f1624cc 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -7,9 +7,6 @@ "mobile": "+40756450998", "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" }, -{ -{ -{ "record": { "NS": [ "ns.lungustefan.ro", From 823e1bfa60365d55097459dca59d4a5178e84b38 Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:22:34 +0300 Subject: [PATCH 06/21] Update lungustefan.json --- domains/lungustefan.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 72f1624cc..5c969a2b8 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -5,7 +5,7 @@ "discord": "753179409682399332", "phone": "+40770618625", "mobile": "+40756450998", - "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" + "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1..." }, "record": { "NS": [ From a866d9fc19d38d2df34adf07c9774802af07df6c Mon Sep 17 00:00:00 2001 From: Lungu Stefan-Gabriel Date: Tue, 8 Apr 2025 21:31:56 +0300 Subject: [PATCH 07/21] Update lungustefan.json --- domains/lungustefan.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 5c969a2b8..8fda1da1c 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -5,7 +5,7 @@ "discord": "753179409682399332", "phone": "+40770618625", "mobile": "+40756450998", - "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1..." + "email": "hi@lungustefan.ro" }, "record": { "NS": [ From 7a52af929c3b190cd2fcea46226b29f1043fa2f5 Mon Sep 17 00:00:00 2001 From: DIBSTER <76603072+DEV-DIBSTER@users.noreply.github.com> Date: Tue, 8 Apr 2025 21:34:58 -0400 Subject: [PATCH 08/21] fix: remove duplicate email in owner property --- domains/lungustefan.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 8fda1da1c..7d2552a45 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -4,8 +4,7 @@ "email": "hi@lungustefan.ro", "discord": "753179409682399332", "phone": "+40770618625", - "mobile": "+40756450998", - "email": "hi@lungustefan.ro" + "mobile": "+40756450998" }, "record": { "NS": [ From d68515ed8bcbcdd149960eaa1558754b438cf95b Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:00:26 +0800 Subject: [PATCH 09/21] Delete domains/register-bot.json --- domains/register-bot.json | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 domains/register-bot.json diff --git a/domains/register-bot.json b/domains/register-bot.json deleted file mode 100644 index c1ee8caa7..000000000 --- a/domains/register-bot.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "owner": { - "username": "is-a-dev", - "email": "admin@is-a.dev" - }, - "record": { - "CNAME": "wdh.app" - }, - "proxied": true -} From bdc42a95a8e070baddc3f5543e8369f25b581d8b Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:23:10 +0800 Subject: [PATCH 10/21] chore(ci): fix duplicate keys test --- tests/json.test.js | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/tests/json.test.js b/tests/json.test.js index 1b40b75d5..2ebd3bace 100644 --- a/tests/json.test.js +++ b/tests/json.test.js @@ -36,20 +36,30 @@ const domainsPath = path.resolve("domains"); const files = fs.readdirSync(domainsPath); function findDuplicateKeys(jsonString) { - const keyPattern = /"([^"]+)"(?=\s*:)/g; - const keys = []; - let match; + const duplicateKeys = []; - while ((match = keyPattern.exec(jsonString)) !== null) { - keys.push(match[1]); - } + const stack = []; - const keyCount = {}; - keys.forEach((key) => { - keyCount[key] = (keyCount[key] || 0) + 1; + const obj = JSON.parse(jsonString, (key, value) => { + if (typeof key === "string") { + const current = stack[stack.length - 1]; + if (current) { + if (current[key]) { + duplicateKeys.push(key); + } else { + current[key] = true; + } + } + } + + if (typeof value === "object" && value !== null) { + stack.push({}); + } + + return value; }); - return Object.keys(keyCount).filter((key) => keyCount[key] > 1); + return [...new Set(duplicateKeys)]; } async function validateFields(t, obj, fields, file, prefix = "") { From 7600774bdda7f52a5dce9bb573a88617973bdd66 Mon Sep 17 00:00:00 2001 From: DIBSTER <76603072+DEV-DIBSTER@users.noreply.github.com> Date: Thu, 10 Apr 2025 23:29:58 -0400 Subject: [PATCH 11/21] chore: create testing file --- domains/testingdibbyhot.json | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 domains/testingdibbyhot.json diff --git a/domains/testingdibbyhot.json b/domains/testingdibbyhot.json new file mode 100644 index 000000000..926d664ef --- /dev/null +++ b/domains/testingdibbyhot.json @@ -0,0 +1,29 @@ +{ + "owner": { + "username": "DEV-DIBSTER", + "email": "dibster@danbot.host" + }, + "record": { + "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] + "DS": [ + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 1, + "digest": "LMFAOSAODASLASDASDASDADADASDASDASDASDASDADASDASDASD" + }, + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 2, + "digest": "ASDGHJFGDSGASDSSDFASDFFSDFASDASDASDADASDSADSADSADS" + }, + { + "key_tag": 10684, + "algorithm": 13, + "digest_type": 1, + "digest": "LMFAOSAODASLASDASDASDADADASDASDASDASDASDADASDASDASD" + } + ] + } +} From 7a67ce30a34e251b15287f0c8a1f3ac619beb79b Mon Sep 17 00:00:00 2001 From: DIBSTER <76603072+DEV-DIBSTER@users.noreply.github.com> Date: Thu, 10 Apr 2025 23:30:25 -0400 Subject: [PATCH 12/21] chore: fix json --- domains/testingdibbyhot.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domains/testingdibbyhot.json b/domains/testingdibbyhot.json index 926d664ef..684a9f8e4 100644 --- a/domains/testingdibbyhot.json +++ b/domains/testingdibbyhot.json @@ -4,7 +4,7 @@ "email": "dibster@danbot.host" }, "record": { - "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] + "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"], "DS": [ { "key_tag": 10684, From a04fcd0e04eaccf6e80c7d145f63a153e9a0ff01 Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:34:17 +0800 Subject: [PATCH 13/21] Update testingdibbyhot.json --- domains/testingdibbyhot.json | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/domains/testingdibbyhot.json b/domains/testingdibbyhot.json index 684a9f8e4..07c93504f 100644 --- a/domains/testingdibbyhot.json +++ b/domains/testingdibbyhot.json @@ -1,29 +1,11 @@ { "owner": { "username": "DEV-DIBSTER", + "email": "dibster@danbot.host", "email": "dibster@danbot.host" }, "record": { "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"], - "DS": [ - { - "key_tag": 10684, - "algorithm": 13, - "digest_type": 1, - "digest": "LMFAOSAODASLASDASDASDADADASDASDASDASDASDADASDASDASD" - }, - { - "key_tag": 10684, - "algorithm": 13, - "digest_type": 2, - "digest": "ASDGHJFGDSGASDSSDFASDFFSDFASDASDASDADASDSADSADSADS" - }, - { - "key_tag": 10684, - "algorithm": 13, - "digest_type": 1, - "digest": "LMFAOSAODASLASDASDASDADADASDASDASDASDASDADASDASDASD" - } - ] + "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] } } From a0762cc49ce400e48b26b3481d100b9c0214f4eb Mon Sep 17 00:00:00 2001 From: DIBSTER <76603072+DEV-DIBSTER@users.noreply.github.com> Date: Thu, 10 Apr 2025 23:35:12 -0400 Subject: [PATCH 14/21] Update testingdibbyhot.json --- domains/testingdibbyhot.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/domains/testingdibbyhot.json b/domains/testingdibbyhot.json index 07c93504f..a00e7d625 100644 --- a/domains/testingdibbyhot.json +++ b/domains/testingdibbyhot.json @@ -2,10 +2,10 @@ "owner": { "username": "DEV-DIBSTER", "email": "dibster@danbot.host", - "email": "dibster@danbot.host" + "email": "dibster+whyyoucheckingthis@danbot.host" }, "record": { "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"], - "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] + "NS": ["mygoatmike.ns.cloudflare.com", "stefsmells.ns.cloudflare.com"] } } From 165500fdba64d64dc53f2c928b4f0cf9aefb4b04 Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:41:20 +0800 Subject: [PATCH 15/21] Update json.test.js --- tests/json.test.js | 53 +++++++++++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 17 deletions(-) diff --git a/tests/json.test.js b/tests/json.test.js index 2ebd3bace..aa1cd7f3d 100644 --- a/tests/json.test.js +++ b/tests/json.test.js @@ -36,30 +36,49 @@ const domainsPath = path.resolve("domains"); const files = fs.readdirSync(domainsPath); function findDuplicateKeys(jsonString) { - const duplicateKeys = []; + const duplicateKeys = new Set(); + const objectStack = []; - const stack = []; + const keyRegex = /"(.*?)"\s*:/g; - const obj = JSON.parse(jsonString, (key, value) => { - if (typeof key === "string") { - const current = stack[stack.length - 1]; - if (current) { - if (current[key]) { - duplicateKeys.push(key); + let match; + let currentKeys = {}; + let lastIndex = 0; + + for (let i = 0; i < jsonString.length; i++) { + const char = jsonString[i]; + + // Start of new object + if (char === '{') { + objectStack.push(currentKeys); + currentKeys = {}; + } + + // End of current object + if (char === '}') { + currentKeys = objectStack.pop() || {}; + } + + // Match key if it's at the current index + if (i === lastIndex) { + keyRegex.lastIndex = i; + match = keyRegex.exec(jsonString); + if (match && match.index === i) { + const key = match[1]; + + if (currentKeys[key]) { + duplicateKeys.add(key); } else { - current[key] = true; + currentKeys[key] = true; } + + lastIndex = keyRegex.lastIndex; + i = lastIndex - 1; // skip ahead } } + } - if (typeof value === "object" && value !== null) { - stack.push({}); - } - - return value; - }); - - return [...new Set(duplicateKeys)]; + return [...duplicateKeys]; } async function validateFields(t, obj, fields, file, prefix = "") { From bc619508f289cba3d0563818b445ccd09249d140 Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:44:11 +0800 Subject: [PATCH 16/21] Update json.test.js --- tests/json.test.js | 48 +++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/tests/json.test.js b/tests/json.test.js index aa1cd7f3d..12a89133b 100644 --- a/tests/json.test.js +++ b/tests/json.test.js @@ -38,43 +38,43 @@ const files = fs.readdirSync(domainsPath); function findDuplicateKeys(jsonString) { const duplicateKeys = new Set(); const objectStack = []; + const keyMapStack = []; const keyRegex = /"(.*?)"\s*:/g; - let match; - let currentKeys = {}; - let lastIndex = 0; - - for (let i = 0; i < jsonString.length; i++) { + let i = 0; + while (i < jsonString.length) { const char = jsonString[i]; - // Start of new object if (char === '{') { - objectStack.push(currentKeys); - currentKeys = {}; + keyMapStack.push({}); + objectStack.push('{'); + i++; + continue; } - // End of current object if (char === '}') { - currentKeys = objectStack.pop() || {}; + keyMapStack.pop(); + objectStack.pop(); + i++; + continue; } - // Match key if it's at the current index - if (i === lastIndex) { - keyRegex.lastIndex = i; - match = keyRegex.exec(jsonString); - if (match && match.index === i) { - const key = match[1]; + keyRegex.lastIndex = i; + const match = keyRegex.exec(jsonString); + if (match && objectStack.length) { + const key = match[1]; + const currentKeyMap = keyMapStack[keyMapStack.length - 1]; - if (currentKeys[key]) { - duplicateKeys.add(key); - } else { - currentKeys[key] = true; - } - - lastIndex = keyRegex.lastIndex; - i = lastIndex - 1; // skip ahead + if (currentKeyMap[key]) { + duplicateKeys.add(key); + } else { + currentKeyMap[key] = true; } + + i = keyRegex.lastIndex; + } else { + i++; } } From 7879637c2d998b57d63a434129cc22ecf8d471c2 Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:46:26 +0800 Subject: [PATCH 17/21] Update json.test.js --- tests/json.test.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/tests/json.test.js b/tests/json.test.js index 12a89133b..5549f37a2 100644 --- a/tests/json.test.js +++ b/tests/json.test.js @@ -37,8 +37,7 @@ const files = fs.readdirSync(domainsPath); function findDuplicateKeys(jsonString) { const duplicateKeys = new Set(); - const objectStack = []; - const keyMapStack = []; + const keyStack = []; const keyRegex = /"(.*?)"\s*:/g; @@ -47,29 +46,27 @@ function findDuplicateKeys(jsonString) { const char = jsonString[i]; if (char === '{') { - keyMapStack.push({}); - objectStack.push('{'); + keyStack.push({}); i++; continue; } if (char === '}') { - keyMapStack.pop(); - objectStack.pop(); + keyStack.pop(); i++; continue; } keyRegex.lastIndex = i; const match = keyRegex.exec(jsonString); - if (match && objectStack.length) { + if (match && match.index === i && keyStack.length > 0) { const key = match[1]; - const currentKeyMap = keyMapStack[keyMapStack.length - 1]; + const currentScope = keyStack[keyStack.length - 1]; - if (currentKeyMap[key]) { + if (currentScope[key]) { duplicateKeys.add(key); } else { - currentKeyMap[key] = true; + currentScope[key] = true; } i = keyRegex.lastIndex; From 3030814092bafcf5db3d731e56daa085ef3bbe1b Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:47:18 +0800 Subject: [PATCH 18/21] Update testingdibbyhot.json --- domains/testingdibbyhot.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/domains/testingdibbyhot.json b/domains/testingdibbyhot.json index a00e7d625..710a5311e 100644 --- a/domains/testingdibbyhot.json +++ b/domains/testingdibbyhot.json @@ -1,11 +1,9 @@ { "owner": { "username": "DEV-DIBSTER", - "email": "dibster@danbot.host", - "email": "dibster+whyyoucheckingthis@danbot.host" + "email": "dibster@danbot.host" }, "record": { - "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"], - "NS": ["mygoatmike.ns.cloudflare.com", "stefsmells.ns.cloudflare.com"] + "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] } } From 7483089f9a81b0a80c4fa73d13235af1809b18e1 Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:48:14 +0800 Subject: [PATCH 19/21] format --- tests/json.test.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/json.test.js b/tests/json.test.js index 5549f37a2..4da5b896f 100644 --- a/tests/json.test.js +++ b/tests/json.test.js @@ -45,13 +45,13 @@ function findDuplicateKeys(jsonString) { while (i < jsonString.length) { const char = jsonString[i]; - if (char === '{') { + if (char === "{") { keyStack.push({}); i++; continue; } - if (char === '}') { + if (char === "}") { keyStack.pop(); i++; continue; From 49a1293024d3172c962f1c9d769bee01bdd2f1ef Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Fri, 11 Apr 2025 11:48:42 +0800 Subject: [PATCH 20/21] Delete domains/testingdibbyhot.json --- domains/testingdibbyhot.json | 9 --------- 1 file changed, 9 deletions(-) delete mode 100644 domains/testingdibbyhot.json diff --git a/domains/testingdibbyhot.json b/domains/testingdibbyhot.json deleted file mode 100644 index 710a5311e..000000000 --- a/domains/testingdibbyhot.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "DEV-DIBSTER", - "email": "dibster@danbot.host" - }, - "record": { - "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] - } -} From cc6c112fbf08b13d46880b2560ba0eeb1212633f Mon Sep 17 00:00:00 2001 From: QAVV <199084747+qavv@users.noreply.github.com> Date: Fri, 11 Apr 2025 14:50:24 +0800 Subject: [PATCH 21/21] Update _github-pages-challenge-qavv.qavv.json --- domains/_github-pages-challenge-qavv.qavv.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/domains/_github-pages-challenge-qavv.qavv.json b/domains/_github-pages-challenge-qavv.qavv.json index af2da0937..e6eeacdf2 100644 --- a/domains/_github-pages-challenge-qavv.qavv.json +++ b/domains/_github-pages-challenge-qavv.qavv.json @@ -3,6 +3,6 @@ "username": "qavv" }, "record": { - "TXT": "6598155c8cf0929e826409fb38fc02" + "TXT": "88d0603bf399dde4dd55cd7313e1b2" } }