vercel verify services key support

This commit is contained in:
William Harrison committed 2025-05-13 14:56:18 +08:00
1 parent 8efc2ca86e
commit da7646b8ae
5 files changed
+63 -8

No files matched your search

+13 -6
View File
@@ -30,10 +30,7 @@ t("Nested subdomains should not exist without a parent subdomain", (t) => {
const parent = parts.slice(i).join(".");
if (parent.startsWith("_")) continue;
t.true(
files.includes(`${parent}.json`),
`${file}: Parent subdomain "${parent}" does not exist`
);
t.true(files.includes(`${parent}.json`), `${file}: Parent subdomain "${parent}" does not exist`);
}
});
});
@@ -111,8 +108,18 @@ t("Disallow nested subdomains when parent has specific service records", (t) =>
const subdomain = file.replace(/\.json$/, "");
const data = getDomainData(subdomain);
if(data?.services?.discord) {
t.false(files.includes(`_discord.${file}`), `${file}: Nested subdomain "_discord.${subdomain}" should not exist when services.discord is present`);
if (data?.services?.discord) {
t.false(
files.includes(`_discord.${file}`),
`${file}: Nested subdomain "_discord.${subdomain}" should not exist when services.discord is present`
);
}
if (data?.services?.vercel) {
t.false(
files.includes(`_vercel.${file}`),
`${file}: Nested subdomain "_vercel.${subdomain}" should not exist when services.vercel is present`
);
}
});
+8 -1
View File
@@ -154,7 +154,14 @@ async function processFile(file, t) {
if (data.services.discord) {
t.true(
Array.isArray(data.services.discord) || typeof data.services.discord === "string",
`${file}: Discord service should be an array or string`
`${file}: services.discord should be an array or string`
);
}
if (data.services.vercel) {
t.true(
Array.isArray(data.services.vercel) || typeof data.services.vercel === "string",
`${file}: services.vercel should be an array or string`
);
}
}
+10 -1
View File
@@ -339,7 +339,7 @@ t("All files should have valid service records", (t) => {
discord.forEach((value) => {
const token = value.split("=")[1];
t.true(value.startsWith("dh="), `${file}: Discord service record should start with "dh="`);
t.true(value.startsWith("dh="), `${file}: Invalid Discord service record format`);
t.true(token.length === 40, `${file}: Discord service token should be 40 characters long`);
t.true(
isValidHexadecimal(token),
@@ -347,6 +347,15 @@ t("All files should have valid service records", (t) => {
);
});
}
if (data?.services?.vercel) {
const vercel = Array.isArray(data.services.vercel) ? data.services.vercel : [data.services.vercel];
vercel.forEach((value) => {
t.true(value.startsWith("vc-domain-verify="), `${file}: Invalid Vercel service record format`);
t.true(value.length > 48, `${file}: Vercel service token should be longer than 48 characters`);
});
}
});
t.pass();