diff --git a/domains/_github-pages-challenge-pibiswal.piyushrb.json b/domains/_github-pages-challenge-pibiswal.piyushrb.json new file mode 100644 index 000000000..145cdd88f --- /dev/null +++ b/domains/_github-pages-challenge-pibiswal.piyushrb.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "pibiswal", + "email": "urpiyush39@gmail.com" + }, + "record": { + "TXT": "88b57a52bf70abe3255cb330bdc2e2" + } +} 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" } } diff --git a/domains/_vercel.aga.json b/domains/_vercel.aga.json new file mode 100644 index 000000000..9e6d64b9f --- /dev/null +++ b/domains/_vercel.aga.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "lcnghulam", + "email": "lcnghulam1@gmail.com", + "discord": "blessing455451" + }, + "record": { + "TXT": "vc-domain-verify=aga.is-a.dev,c9684d0007365a74f553" + } +} diff --git a/domains/_vercel.cedrickfeze.json b/domains/_vercel.cedrickfeze.json new file mode 100644 index 000000000..c63c2accb --- /dev/null +++ b/domains/_vercel.cedrickfeze.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "cedrickdev", + "email": "cedrickv.tchindaf@hes-so.ch" + }, + "record": { + "TXT": "vc-domain-verify=cedrickfeze.is-a.dev,71a63578cf6cddd91370" + } +} diff --git a/domains/_vercel.z.json b/domains/_vercel.z.json deleted file mode 100644 index 45d4bfd88..000000000 --- a/domains/_vercel.z.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "jakeharrison90", - "email": "overtonmarke@gmail.com" - }, - "record": { - "TXT": ["vc-domain-verify=z.is-a.dev,9be8de01c9c241334606"] - } -} diff --git a/domains/a.json b/domains/a.json deleted file mode 100644 index 387844593..000000000 --- a/domains/a.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "owner": { - "username": "dhruvakalur", - "discord": "794802369216380949", - "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.n6sY7FH0bwRVpn5paxjZE9b0AS1bS9fiw6WV4sdfPhfnRrO9vR_Mxznkv_LzM5IWuOPUrNzJ8el1rUP1_BEnafofpoSYWV4J326U0TjFnhOysYjmpJ00oNE_TkBdF-gIlwZ3Ps6X2_i5OwLkWysa6oz7-DPHMA2bN27pC7VV7uMwt8gbvLH7BBgnpgZk7vf9eQ7hb8lgHDfjaeaxfG8PoGnO4SBMxcS_Q9hQxW-z7WsfBTTOeKC8jDg3ql5CCtw4epp61hmMGMD8Fk0ETZTDXVHLRVVLsR78uKwgRm-eifgDRVgycfoGfZpRkdZAWFG5fmAYTAxOxCFj6Efa44n-tA.PzULyP0rlpaGmeRh1tX5pA._J47HD2_nZv5f8j_vl5QZZCxbm6K4_nvrZ4LVcTdjH275xenN3SC3fbM-kQFokjiiKtiaSdZMxokzZtBbDBXHORYh2Z9Ve1ENytjWkmOP3U.YDrfLdRHD6-J3Bb9_7iysA" - }, - "record": { - "A": ["45.90.12.29"] - } -} diff --git a/domains/aag.json b/domains/aag.json new file mode 100644 index 000000000..b86fa9af7 --- /dev/null +++ b/domains/aag.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "01AleX12", + "email": "aag.devv@gmail.com" + }, + "record": { + "CNAME": "01alex12.github.io" + } +} diff --git a/domains/aga.json b/domains/aga.json new file mode 100644 index 000000000..8f8285260 --- /dev/null +++ b/domains/aga.json @@ -0,0 +1,10 @@ +{ + "owner": { + "username": "lcnghulam", + "email": "lcnghulam1@gmail.com", + "discord": "blessing455451" + }, + "record": { + "CNAME": "lcnghulam.vercel.app" + } +} diff --git a/domains/api.kyizl.json b/domains/api.kyizl.json deleted file mode 100644 index 9d14c9352..000000000 --- a/domains/api.kyizl.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "oqzx", - "email": "ekn@envs.net" - }, - "record": { - "CNAME": "rev.kyizl.workers.dev" - } -} diff --git a/domains/b.json b/domains/b.json deleted file mode 100644 index ed8852b35..000000000 --- a/domains/b.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "description": "vugiabao1337 subdomain", - "repo": "https://github.com/VuGiaBao1337/vugiabao1337.github.io", - "owner": { - "username": "VuGiaBao1337", - "email": "ahihidiscord@gmail.com" - }, - "record": { - "CNAME": "vugiabao1337.github.io" - } -} diff --git a/domains/d.json b/domains/d.json deleted file mode 100644 index d87b6341b..000000000 --- a/domains/d.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "AhNode", - "discord": "704173828187619370" - }, - "record": { - "A": ["69.197.135.202"] - } -} diff --git a/domains/donate.json b/domains/donate.json index 103d52c52..a1e0ae09a 100644 --- a/domains/donate.json +++ b/domains/donate.json @@ -8,7 +8,8 @@ }, "redirect_config": { "custom_paths": { - "/ns": "https://wdh.gg/pvNCdvs" + "/ns": "https://wdh.gg/pvNCdvs", + "/sponsor": "https://wdh.gg/sponsor" } } } diff --git a/domains/farel.json b/domains/farel.json new file mode 100644 index 000000000..6dd8471a3 --- /dev/null +++ b/domains/farel.json @@ -0,0 +1,14 @@ +{ + "description": "Personal development, testing, and deployment", + "repo": "https://github.com/FarelRA/profile", + "owner": { + "username": "FarelRA", + "email": "farelreskiaditiya22@gmail.com" + }, + "record": { + "NS": [ + "adi.ns.cloudflare.com", + "clayton.ns.cloudflare.com" + ] + } +} diff --git a/domains/fyiimysf.json b/domains/fyiimysf.json new file mode 100644 index 000000000..d0054474b --- /dev/null +++ b/domains/fyiimysf.json @@ -0,0 +1,10 @@ +{ + "description": "A personal portfolio Site", + "owner": { + "username": "fyiimysf", + "email": "m.y5f.mohammad@gmail.com" + }, + "record": { + "CNAME": "fyiimysf.pages.dev" + } +} diff --git a/domains/get.json b/domains/get.json deleted file mode 100644 index aab28d71a..000000000 --- a/domains/get.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "is-a-dev", - "email": "admin@is-a.dev" - }, - "record": { - "URL": "https://github.com/is-a-dev/register" - } -} diff --git a/domains/golgrax.json b/domains/golgrax.json new file mode 100644 index 000000000..921f89d2f --- /dev/null +++ b/domains/golgrax.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "Golgrax", + "twitter": "Golgrax" + }, + "record": { + "CNAME": "golgrax.pages.dev" + } +} diff --git a/domains/ken.json b/domains/ken.json deleted file mode 100644 index 44de3f8f8..000000000 --- a/domains/ken.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "kenpem", - "email": "kenpem@gmail.com" - }, - "record": { - "CNAME": "grumpyoldfart.org" - } -} diff --git a/domains/kyizl.json b/domains/kyizl.json index 5cf95d2ef..4c763685c 100644 --- a/domains/kyizl.json +++ b/domains/kyizl.json @@ -4,6 +4,6 @@ "email": "ekn@envs.net" }, "record": { - "CNAME": "kyizl.pages.dev" + "NS": ["ali.ns.cloudflare.com", "clay.ns.cloudflare.com"] } } diff --git a/domains/lungustefan.json b/domains/lungustefan.json index 63394de20..7d2552a45 100644 --- a/domains/lungustefan.json +++ b/domains/lungustefan.json @@ -4,10 +4,40 @@ "email": "hi@lungustefan.ro", "discord": "753179409682399332", "phone": "+40770618625", - "mobile": "+40756450998", - "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.ZerVkVuk5RE7iT8ymXVcKhUkihyAdAbufacrfxq1u7NKQ4Hd0_PbY5FYDAR5uuVd-sCe7fOztiSKV7f9q1OI4HNGDqQxiaWqzom_lQsrIMW-gWUDsBG4Vo8gsq0wrw2th797i-JfsXy2crWaeXlX7X1kROV5KZhGwlSusnUrMp3jlN-uUM3b4hxUyEs3grbh4BiZ9CWShm-kLUs572OBpMigXh3aO0DcUl-BdYdlpSEdRQe8zwylJbFnetxG3qBaMcciGwImixY6V4qaqFwH18isGjDknsHB2WvXM8ekMZmSxgMyRtv1VRSbC22grzMeBazgWoj3x65KU3Z8C7KNmw.w-d8n6WalLAvFcWHqlRkcw.W7GJTwpNRB9pUehhfBXVlkOR1knSNSjvJWeDViV6u2h6AyBdwyaAyILEQzC5ishw0f209VgdyaCqocC7nJp_ZjWjAfcyw0ICLiUXM37Sn3Q.xQOo4RjPMh6dBbWiF1Polw" + "mobile": "+40756450998" }, "record": { - "NS": ["teagan.ns.cloudflare.com", "yevgen.ns.cloudflare.com"] + "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" + } + ] } } diff --git a/domains/piyushrb.json b/domains/piyushrb.json index d63f30855..75fa6d016 100644 --- a/domains/piyushrb.json +++ b/domains/piyushrb.json @@ -1,11 +1,13 @@ { "description": "Personal Portfolio Website", - "repo": "https://github.com/piyush-rb/piyush-rb.github.io", + "repo": "https://github.com/pibiswal/pibiswal.github.io", "owner": { - "username": "piyush-rb", + "username": "pibiswal", "email": "urpiyush39@gmail.com" }, "record": { - "CNAME": "piyush-rb.github.io" - } + "CNAME": "pibiswal.github.io", + "TXT": "google-site-verification=kDWGAChQixBO8bGxGGNoA9kXH24lQyfomrT3zyC5jiM" + }, + "proxied": true } diff --git a/domains/r.json b/domains/r.json deleted file mode 100644 index eb5b1172f..000000000 --- a/domains/r.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "owner": { - "username": "Razuuu", - "discord": "346717564895887360", - "OWL": "eyJlbmMiOiJBMTI4Q0JDLUhTMjU2IiwiYWxnIjoiUlNBLU9BRVAiLCJraWQiOiJaa1VsRmRqVThiUEstLXVVM2JJR09PVHFYYVFFS1ZINFVXOW53MTR6WTJnIn0.e12vH6rhniPE29iegE8Nldgxx-_a4OW-RXe-JU-CbynMzDOPDozeZi-ASerbzV3Ta0HfAVDZmy5jYz1afPDuYIN4p1l_BI3Z_YTkWyiX37-hIkX9HSwY9epZ6keYodPHLCO5yWBlLaJ0zJ5PMUbzCYQvbB7WA1dmFEU7Aro_gYiIKkUMRMOtBkemiPJPp3YxuOFN18nboDTAk9_tmlgpyiChcjEezP3j3w4t7sw6b6EPy2gmrGEH5E4bd4Je2Pzk-Dt-9d20bYygn2tGaiKqMtGSx0b77K-J0SCG-yAE0SCDJzf4IuGD-tTsl12Q5WfolA90aKc_NPZyferBU0-BLw.E39G4iGbEfitm6rMmdGO9g.zNLGD5wcfN73kGkj9WKuUnycEpB7tsdzrZGeZT8TTjYyG-xdkbmgTObik7PdzD48ddnOwm7x0W2Cn9bOoqxpmNHb5ORhegp9x8ejUZT8Q_z6EJICfqEcRoDjk9sV7_Tf.suB-fbnKTcGFHoUmZyb45w" - }, - "record": { - "CNAME": "razuuu.de" - } -} diff --git a/domains/raahi.json b/domains/raahi.json deleted file mode 100644 index a35019c37..000000000 --- a/domains/raahi.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "Ravan745", - "email": "carelessgaming8@gmail.com" - }, - "record": { - "A": ["45.90.12.29"] - } -} 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 -} diff --git a/domains/register.json b/domains/register.json deleted file mode 100644 index aab28d71a..000000000 --- a/domains/register.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "is-a-dev", - "email": "admin@is-a.dev" - }, - "record": { - "URL": "https://github.com/is-a-dev/register" - } -} diff --git a/domains/s.json b/domains/s.json deleted file mode 100644 index e079a7e08..000000000 --- a/domains/s.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "owner": { - "username": "Smartlinuxcoder", - "email": "smartcoder@linuxmail.org", - "discord": "987972818341888021" - }, - "record": { - "CNAME": "proxy.smart.is-a.dev" - } -} diff --git a/domains/status.akshtt.json b/domains/status.akshtt.json index 392b9a20f..61d600bfe 100644 --- a/domains/status.akshtt.json +++ b/domains/status.akshtt.json @@ -6,7 +6,7 @@ }, "record": { - "A": ["45.133.74.41"] + "A": ["173.208.244.13"] } } - \ No newline at end of file + diff --git a/domains/status.jes.json b/domains/status.jes.json new file mode 100644 index 000000000..85f017016 --- /dev/null +++ b/domains/status.jes.json @@ -0,0 +1,11 @@ +{ + "description": "status page for my bot hosted on db hosting", + "repo": "https://github.com/BMO-Bots/CentroAssistenzaPoldhub", + "owner": { + "username": "jesgran", + "email": "calzdani20@libero.it" + }, + "record": { + "A": ["69.30.249.53"] + } +} diff --git a/domains/tafviet.json b/domains/tafviet.json deleted file mode 100644 index e28823b63..000000000 --- a/domains/tafviet.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "description": "Landing page for tafviet.is-a.dev", - "repo": "https://github.com/is-a-dev/docs", - "owner": { - "username": "is-a-dev", - "email": "meccar@protonmail.com" - }, - "record": { - "CNAME": "meccar.github.io" - } -} diff --git a/domains/vaishnavi.json b/domains/vaishnavi.json new file mode 100644 index 000000000..23d6b9cbb --- /dev/null +++ b/domains/vaishnavi.json @@ -0,0 +1,9 @@ +{ + "owner": { + "username": "vaishnavid07", + "email": "vaishnavi.deshmukh201@gmail.com" + }, + "record": { + "CNAME": "vaishnavid07.github.io" + } +} diff --git a/domains/x.json b/domains/x.json deleted file mode 100644 index beb04f342..000000000 --- a/domains/x.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "jvideo-sk", - "discord": "1030204181207859260" - }, - "record": { - "CNAME": "jvideo.github.io" - } -} diff --git a/domains/z.json b/domains/z.json deleted file mode 100644 index 2d0965374..000000000 --- a/domains/z.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "owner": { - "username": "jakeharrison90", - "email": "overtonmarke@gmail.com" - }, - "record": { - "CNAME": "excelcommunity.vercel.app" - } -} diff --git a/tests/json.test.js b/tests/json.test.js index 1b40b75d5..4da5b896f 100644 --- a/tests/json.test.js +++ b/tests/json.test.js @@ -36,20 +36,46 @@ const domainsPath = path.resolve("domains"); const files = fs.readdirSync(domainsPath); function findDuplicateKeys(jsonString) { - const keyPattern = /"([^"]+)"(?=\s*:)/g; - const keys = []; - let match; + const duplicateKeys = new Set(); + const keyStack = []; - while ((match = keyPattern.exec(jsonString)) !== null) { - keys.push(match[1]); + const keyRegex = /"(.*?)"\s*:/g; + + let i = 0; + while (i < jsonString.length) { + const char = jsonString[i]; + + if (char === "{") { + keyStack.push({}); + i++; + continue; + } + + if (char === "}") { + keyStack.pop(); + i++; + continue; + } + + keyRegex.lastIndex = i; + const match = keyRegex.exec(jsonString); + if (match && match.index === i && keyStack.length > 0) { + const key = match[1]; + const currentScope = keyStack[keyStack.length - 1]; + + if (currentScope[key]) { + duplicateKeys.add(key); + } else { + currentScope[key] = true; + } + + i = keyRegex.lastIndex; + } else { + i++; + } } - const keyCount = {}; - keys.forEach((key) => { - keyCount[key] = (keyCount[key] || 0) + 1; - }); - - return Object.keys(keyCount).filter((key) => keyCount[key] > 1); + return [...duplicateKeys]; } async function validateFields(t, obj, fields, file, prefix = "") { diff --git a/util/reserved.json b/util/reserved.json index 91ba85d42..66153768a 100644 --- a/util/reserved.json +++ b/util/reserved.json @@ -41,6 +41,7 @@ "feedback", "file", "files", + "get", "help", "helper", "helpers", @@ -103,7 +104,9 @@ "private", "prod", "production", + "r", "redirect", + "register", "registrar", "registry", "reserved",