mirror of
https://github.com/tiennm99/is-a-dev.git
synced 2026-10-05 18:14:34 +00:00
Merge branch 'is-a-dev:main' into main
This commit is contained in:
commit
f0f95cebe2
50 files changed
+267
-207
No files matched your search
@@ -159,6 +159,16 @@ for (var subdomain in domains) {
|
||||
if (data.services.bluesky) {
|
||||
records.push(TXT("_atproto." + subdomainName, "\"" + data.services.bluesky + "\""));
|
||||
}
|
||||
|
||||
if (data.services.gitlab) {
|
||||
if (Array.isArray(data.services.gitlab)) {
|
||||
for (var txt in data.services.gitlab) {
|
||||
records.push(TXT("_gitlab-pages-verification-code." + subdomainName, "\"" + data.services.gitlab[txt] + "\""));
|
||||
}
|
||||
} else {
|
||||
records.push(TXT("_gitlab-pages-verification-code." + subdomainName, "\"" + data.services.gitlab + "\""));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Apoo711",
|
||||
"email": "aryan18guptaggs@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "dh=1b2d00cb449cab67bedd1c9f40961835a261a92d"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "SharafatKarim",
|
||||
"email": "sharafat2004@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "e825ca76e3de3ae6b513ac4ff35726"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "Karan-Frost",
|
||||
"email": "frost.github@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "gitlab-pages-verification-code=57f76737bb8badd568b055bc4ff9d405"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "SHays24",
|
||||
"email": "SHays24@student.sacs.nsw.edu.au"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "gitlab-pages-verification-code=621b768139e0bfaf6eb43d60db03cabf"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "pinage404",
|
||||
"email": "pinage404+is-a.dev@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "gitlab-pages-verification-code=d43eb39124dec340bdbb11a4d6aa6b52"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "tobaiscrowley",
|
||||
"discord": "gus_polinksi"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "gitlab-pages-verification-code=d1d70cb094c2f16f83caed76145fc105"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "MohammedKHC0",
|
||||
"email": "mohammedkhc@outlook.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "gitlab-pages-verification-code=478e4a7c8445704809ba0fa31e003df3"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "adhl-0216",
|
||||
"email": "hanlim2002@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "vc-domain-verify=adhl.is-a.dev,c29a7cbae5de907f4347"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "AymanAegon",
|
||||
"email": "ayo12ammar24@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "vc-domain-verify=aimaneammar.is-a.dev,4b673716f741e17e5281"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "illy-dev",
|
||||
"email": "illythehase@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "vc-domain-verify=illy.is-a.dev,043aa6b06299bebf5ad1"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "tuoitho",
|
||||
"email": "tuoithokhoc1414@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "vc-domain-verify=trild.is-a.dev,c355ae3f7ef9923a15c4"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "pythonicboat",
|
||||
"email": "vs21yash@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "vc-domain-verify=yashvs.is-a.dev,c288565fced784647cef"
|
||||
}
|
||||
}
|
||||
+11
-8
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "adhl-0216",
|
||||
"email": "hanlim2002@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
}
|
||||
}
|
||||
"owner": {
|
||||
"username": "adhl-0216",
|
||||
"email": "hanlim2002@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=adhl.is-a.dev,c29a7cbae5de907f4347"
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -9,6 +9,9 @@
|
||||
"TXT": "google-site-verification=p24qfEdTMTlahtU3hQxVU_txDQkifpoJH1xS4jmCmlw"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=aga.is-a.dev,c9684d0007365a74f553"
|
||||
"vercel": [
|
||||
"vc-domain-verify=aga.is-a.dev,c9684d0007365a74f553",
|
||||
"vc-domain-verify=www.aga.is-a.dev,60923a901e9bb8670c51"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "AymanAegon",
|
||||
"email": "ayo12ammar24@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "ayman-portfolio-fawn.vercel.app"
|
||||
}
|
||||
}
|
||||
"owner": {
|
||||
"username": "AymanAegon",
|
||||
"email": "ayo12ammar24@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "ayman-portfolio-fawn.vercel.app"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=aimaneammar.is-a.dev,4b673716f741e17e5281"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,14 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "anonymousik",
|
||||
"email": "anonymousxtutaj@gmail.com"
|
||||
"email": "anonymousxtutaj@gmail.com",
|
||||
"discord": "D3KkRKP8"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "anonymousik.github.io"
|
||||
}
|
||||
},
|
||||
"services": {
|
||||
"discord": "dh=bf41c141edc5338371bdcd2f5224d1e23f030b9f"
|
||||
},
|
||||
"proxied": true
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "parzi-val",
|
||||
"email": "krbala1511@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "s37e9nua.up.railway.app"
|
||||
}
|
||||
}
|
||||
"owner": {
|
||||
"username": "parzi-val",
|
||||
"email": "krbala1511@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"A": ["216.24.57.1"]
|
||||
}
|
||||
}
|
||||
@@ -6,5 +6,8 @@
|
||||
"description": "Aryan Gupta's personal portfolio, blog, and VCE resource website.",
|
||||
"records": {
|
||||
"CNAME": "apoo711.github.io"
|
||||
},
|
||||
"services": {
|
||||
"discord": "dh=1b2d00cb449cab67bedd1c9f40961835a261a92d"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "aswin-hariram",
|
||||
"email": "aswincseskct@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "aswin-hariram.vercel.app"
|
||||
}
|
||||
"owner": {
|
||||
"username": "Aswin-Hariram",
|
||||
"email": "aswincseskct@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "aswin-hariram.vercel.app"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=aswin-hariram.is-a.dev,f97ad879689875658150"
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,6 @@
|
||||
"discord": "1056531806763102218"
|
||||
},
|
||||
"records": {
|
||||
"A": ["69.62.118.156"]
|
||||
"A": ["69.30.249.53"]
|
||||
}
|
||||
}
|
||||
@@ -9,5 +9,5 @@
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=cyberlink.is-a.dev,ccef0f5f7c77ae12f085"
|
||||
},
|
||||
"proxied": true
|
||||
"proxied": false
|
||||
}
|
||||
@@ -6,5 +6,10 @@
|
||||
"records": {
|
||||
"CNAME": "eldarlrd.github.io"
|
||||
},
|
||||
"redirect_config": {
|
||||
"custom_paths": {
|
||||
"/github": "https://github.com/eldarlrd"
|
||||
}
|
||||
},
|
||||
"proxied": true
|
||||
}
|
||||
+1
-1
@@ -4,6 +4,6 @@
|
||||
"email": "anonymousxtutaj@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"TXT": "8c8810749d371c0c3f759bbda6761d"
|
||||
"URL": "https://nieznanynikomu.github.io/FerroART"
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,8 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "wiki-frost-me-f3415d.gitlab.io"
|
||||
},
|
||||
"services": {
|
||||
"gitlab": "gitlab-pages-verification-code=57f76737bb8badd568b055bc4ff9d405"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "ziplineshockbs.onrender.com"
|
||||
},
|
||||
"proxied": true
|
||||
}
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "hrv3y",
|
||||
"discord": "969129892614660096"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "hosted.omg.lol"
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -5,5 +5,8 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "illy-dev-github-io.vercel.app"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=illy.is-a.dev,043aa6b06299bebf5ad1"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "anonymousik",
|
||||
"email": "anonymousxtutaj@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"MX": [
|
||||
"mx1.improvmx.com",
|
||||
"mx2.improvmx.com"
|
||||
],
|
||||
"TXT": [
|
||||
"v=spf1 include:spf.improvmx.com ~all"
|
||||
]
|
||||
}
|
||||
}
|
||||
+11
-7
@@ -1,9 +1,13 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "KitoMCVN",
|
||||
"discord": "915876843884777472"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "kitomc.site"
|
||||
}
|
||||
"owner": {
|
||||
"username": "KitoMCVN",
|
||||
"discord": "915876843884777472",
|
||||
"email": "kitomcchill@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=kito.is-a.dev,8b8fd875eead5c03ef65"
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,8 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "the-meerkats-projects-shays24-90484013ec4c0067187cd3a154c706ad6.gitlab.io"
|
||||
},
|
||||
"services": {
|
||||
"gitlab": "gitlab-pages-verification-code=621b768139e0bfaf6eb43d60db03cabf"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "UndeadRonin99",
|
||||
"email": "themalanboy@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "undeadronin99.github.io"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "nickkcode",
|
||||
"email": "tobecoolaf@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "portfolio-smoky-chi-69.vercel.app"
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,8 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "pinage404.gitlab.io"
|
||||
},
|
||||
"services": {
|
||||
"gitlab": "gitlab-pages-verification-code=d43eb39124dec340bdbb11a4d6aa6b52"
|
||||
}
|
||||
}
|
||||
}
|
||||
+11
-8
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "tobaiscrowley",
|
||||
"discord": "gus_polinksi"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "microblog-aa389f.gitlab.io"
|
||||
}
|
||||
}
|
||||
"owner": {
|
||||
"username": "tobaiscrowley",
|
||||
"discord": "gus_polinksi"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "microblog-aa389f.gitlab.io"
|
||||
},
|
||||
"services": {
|
||||
"gitlab": "gitlab-pages-verification-code=d1d70cb094c2f16f83caed76145fc105"
|
||||
}
|
||||
}
|
||||
@@ -5,6 +5,5 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "raj-page.vercel.app"
|
||||
},
|
||||
"proxy": true
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,12 @@
|
||||
{
|
||||
"description": "REFH4CK - Portfolio",
|
||||
"owner": {
|
||||
"username": "REFH4CK",
|
||||
"email": "refh4ck.dev@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "refh4ck.vercel.app"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=refh4ck.is-a.dev,cbc2088fe8cd6849093c"
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -4,6 +4,6 @@
|
||||
"email": "membermadde.insiddev25120@hotmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "rvc11twil.github.io"
|
||||
"NS": ["arnold.ns.cloudflare.com", "mia.ns.cloudflare.com"]
|
||||
}
|
||||
}
|
||||
+4
-1
@@ -5,5 +5,8 @@
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "sadkon.gitlab.io"
|
||||
},
|
||||
"services": {
|
||||
"gitlab": "gitlab-pages-verification-code=478e4a7c8445704809ba0fa31e003df3"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "snipeisdead",
|
||||
"email": "snipehere@gmail.com"
|
||||
"email": "shubhjais2609@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "snipeisdead.github.io"
|
||||
|
||||
@@ -4,6 +4,6 @@
|
||||
"discord": "1056531806763102218"
|
||||
},
|
||||
"records": {
|
||||
"A": ["69.62.118.156"]
|
||||
"A": ["69.30.249.53"]
|
||||
}
|
||||
}
|
||||
+11
-8
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "tuoitho",
|
||||
"email": "tuoithokhoc1414@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "portfolio-sand-two-74.vercel.app"
|
||||
}
|
||||
}
|
||||
"owner": {
|
||||
"username": "tuoitho",
|
||||
"email": "tuoithokhoc1414@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "portfolio-sand-two-74.vercel.app"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=trild.is-a.dev,c355ae3f7ef9923a15c4"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "wdhdev",
|
||||
"email": "william@is-a.dev"
|
||||
},
|
||||
"records": {
|
||||
"NS": ["kyrie.ns.cloudflare.com", "tara.ns.cloudflare.com"],
|
||||
"DS": [
|
||||
{
|
||||
"key_tag": 2371,
|
||||
"algorithm": 13,
|
||||
"digest_type": 2,
|
||||
"digest": "020A83220521658994103EE306D9B7968DEDF82555639059EB05A69E4C6C36E6"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -5,11 +5,5 @@
|
||||
},
|
||||
"records": {
|
||||
"URL": "https://eldarlrd.is-a.dev"
|
||||
},
|
||||
"redirect_config": {
|
||||
"custom_paths": {
|
||||
"/github": "https://github.com/eldarlrd"
|
||||
},
|
||||
"redirect_paths": true
|
||||
}
|
||||
}
|
||||
+11
-8
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"owner": {
|
||||
"username": "pythonicboat",
|
||||
"email": "vs21yash@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
}
|
||||
}
|
||||
"owner": {
|
||||
"username": "pythonicboat",
|
||||
"email": "vs21yash@gmail.com"
|
||||
},
|
||||
"records": {
|
||||
"CNAME": "cname.vercel-dns.com"
|
||||
},
|
||||
"services": {
|
||||
"vercel": "vc-domain-verify=yashvs.is-a.dev,c288565fced784647cef"
|
||||
}
|
||||
}
|
||||
@@ -128,6 +128,13 @@ t("Disallow nested subdomains when parent has specific service records", (t) =>
|
||||
`${file}: Nested subdomain "_atproto.${subdomain}" should not exist when services.bluesky is present`
|
||||
);
|
||||
}
|
||||
|
||||
if (data?.services?.gitlab) {
|
||||
t.false(
|
||||
files.includes(`_gitlab-pages-verification-code.${file}`),
|
||||
`${file}: Nested subdomain "_gitlab-pages-verification-code.${subdomain}" should not exist when services.gitlab is present`
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
t.pass();
|
||||
|
||||
+1
-1
@@ -28,7 +28,7 @@ const optionalRedirectConfigFields = {
|
||||
redirect_paths: "boolean"
|
||||
};
|
||||
|
||||
const blockedFields = ["domain", "internal", "reserved", "subdomain"];
|
||||
const blockedFields = ["domain", "internal", "proxy", "reserved", "subdomain"];
|
||||
|
||||
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
||||
const hostnameRegex = /^(?=.{1,253}$)(?:(?:[_a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)\.)+[a-zA-Z]{2,63}$/;
|
||||
|
||||
@@ -49,3 +49,40 @@ t("Domains with proxy enabled must have at least one proxy-able record", (t) =>
|
||||
validateProxiedRecords(t, data, file);
|
||||
});
|
||||
});
|
||||
|
||||
const disallowedRecords = [
|
||||
{
|
||||
type: "CNAME",
|
||||
value: "*.onrender.com"
|
||||
}
|
||||
];
|
||||
|
||||
t("Domains with specific records must not have proxy enabled", (t) => {
|
||||
files.forEach((file) => {
|
||||
const data = getDomainData(file);
|
||||
|
||||
if (data.proxied) {
|
||||
disallowedRecords.forEach((record) => {
|
||||
let recordExists = false;
|
||||
|
||||
if (!data.records[record.type]) {
|
||||
t.pass();
|
||||
return;
|
||||
} else if (Array.isArray(data.records[record.type])) {
|
||||
recordExists = data.records[record.type].some((r) =>
|
||||
record.value.startsWith("*.") ? r.endsWith(record.value.slice(2)) : r === record.value
|
||||
);
|
||||
} else {
|
||||
recordExists = record.value.startsWith("*.")
|
||||
? data.records[record.type].endsWith(record.value.slice(2))
|
||||
: data.records[record.type] === record.value;
|
||||
}
|
||||
|
||||
t.false(
|
||||
recordExists,
|
||||
`${file}: Records matching \`${record.type}: "${record.value}"\` cannot be proxied`
|
||||
);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
+16
-10
@@ -334,27 +334,23 @@ t("All files should have valid service records", (t) => {
|
||||
files.forEach((file) => {
|
||||
const data = getDomainData(file);
|
||||
|
||||
const discordRegex = /^dh=[a-f0-9]{40}$/;
|
||||
|
||||
if (data?.services?.discord) {
|
||||
const discord = Array.isArray(data.services.discord) ? data.services.discord : [data.services.discord];
|
||||
|
||||
discord.forEach((value) => {
|
||||
const token = value.split("=")[1];
|
||||
|
||||
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),
|
||||
`${file}: Discord service token should be a valid hexadecimal string`
|
||||
);
|
||||
t.true(discordRegex.test(value), `${file}: Invalid Discord service record format`);
|
||||
});
|
||||
}
|
||||
|
||||
const vercelRegex = /^vc-domain-verify=([a-z0-9.-]+),([a-f0-9]{20})$/;
|
||||
|
||||
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 48 characters or longer`);
|
||||
t.true(vercelRegex.test(value), `${file}: Invalid Vercel service record format`);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -363,6 +359,16 @@ t("All files should have valid service records", (t) => {
|
||||
if (data?.services?.bluesky) {
|
||||
t.true(atprotoRegex.test(data.services.bluesky), `${file}: Invalid Bluesky service record format`);
|
||||
}
|
||||
|
||||
const gitlabRegex = /^gitlab-pages-verification-code=[a-f0-9]{32}$/;
|
||||
|
||||
if (data?.services?.gitlab) {
|
||||
const gitlab = Array.isArray(data.services.gitlab) ? data.services.gitlab : [data.services.gitlab];
|
||||
|
||||
gitlab.forEach((value) => {
|
||||
t.true(gitlabRegex.test(value), `${file}: Invalid GitLab service record format`);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
t.pass();
|
||||
|
||||
@@ -81,6 +81,8 @@
|
||||
"private",
|
||||
"prod",
|
||||
"production",
|
||||
"proxied",
|
||||
"proxy",
|
||||
"rdap",
|
||||
"redirect",
|
||||
"register",
|
||||
|
||||
Reference in new issue
Block a user