mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-05-27 22:26:05 +00:00
Merge branch 'main' into patch-1
This commit is contained in:
@@ -3,6 +3,6 @@
|
||||
"username": "qavv"
|
||||
},
|
||||
"record": {
|
||||
"TXT": "6598155c8cf0929e826409fb38fc02"
|
||||
"TXT": "88d0603bf399dde4dd55cd7313e1b2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "is-a-dev",
|
||||
"email": "admin@is-a.dev"
|
||||
},
|
||||
"record": {
|
||||
"CNAME": "wdh.app"
|
||||
},
|
||||
"proxied": true
|
||||
}
|
||||
+37
-11
@@ -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 = "") {
|
||||
|
||||
Reference in New Issue
Block a user