Merge branch 'is-a-dev:main' into main

This commit is contained in:
Malfino Muhammad Willianz authored and GitHub committed 2025-05-28 14:50:49 +07:00
commit f0f95cebe2
50 files changed
+267 -207

No files matched your search

+10
View File
@@ -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 + "\""));
}
}
}
}
-9
View File
@@ -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"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "adhl-0216",
"email": "hanlim2002@gmail.com"
},
"records": {
"TXT": "vc-domain-verify=adhl.is-a.dev,c29a7cbae5de907f4347"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "AymanAegon",
"email": "ayo12ammar24@gmail.com"
},
"records": {
"TXT": "vc-domain-verify=aimaneammar.is-a.dev,4b673716f741e17e5281"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "illy-dev",
"email": "illythehase@gmail.com"
},
"records": {
"TXT": "vc-domain-verify=illy.is-a.dev,043aa6b06299bebf5ad1"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "tuoitho",
"email": "tuoithokhoc1414@gmail.com"
},
"records": {
"TXT": "vc-domain-verify=trild.is-a.dev,c355ae3f7ef9923a15c4"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "pythonicboat",
"email": "vs21yash@gmail.com"
},
"records": {
"TXT": "vc-domain-verify=yashvs.is-a.dev,c288565fced784647cef"
}
}
+11 -8
View File
@@ -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
View File
@@ -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"
]
}
}
+11 -8
View File
@@ -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"
}
}
+7 -2
View File
@@ -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
}
+8 -8
View File
@@ -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"]
}
}
+4 -1
View File
@@ -6,5 +6,8 @@
"description": "Aryan Gupta's personal portfolio, blog, and VCE resource website.",
"records": {
"CNAME": "apoo711.github.io"
},
"services": {
"discord": "dh=1b2d00cb449cab67bedd1c9f40961835a261a92d"
}
}
}
+10 -7
View File
@@ -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"
}
}
+1 -1
View File
@@ -4,6 +4,6 @@
"discord": "1056531806763102218"
},
"records": {
"A": ["69.62.118.156"]
"A": ["69.30.249.53"]
}
}
+1 -1
View File
@@ -9,5 +9,5 @@
"services": {
"vercel": "vc-domain-verify=cyberlink.is-a.dev,ccef0f5f7c77ae12f085"
},
"proxied": true
"proxied": false
}
+5
View File
@@ -6,5 +6,10 @@
"records": {
"CNAME": "eldarlrd.github.io"
},
"redirect_config": {
"custom_paths": {
"/github": "https://github.com/eldarlrd"
}
},
"proxied": true
}
@@ -4,6 +4,6 @@
"email": "anonymousxtutaj@gmail.com"
},
"records": {
"TXT": "8c8810749d371c0c3f759bbda6761d"
"URL": "https://nieznanynikomu.github.io/FerroART"
}
}
+4 -1
View File
@@ -5,5 +5,8 @@
},
"records": {
"CNAME": "wiki-frost-me-f3415d.gitlab.io"
},
"services": {
"gitlab": "gitlab-pages-verification-code=57f76737bb8badd568b055bc4ff9d405"
}
}
}
+1 -2
View File
@@ -5,6 +5,5 @@
},
"records": {
"CNAME": "ziplineshockbs.onrender.com"
},
"proxied": true
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "hrv3y",
"discord": "969129892614660096"
},
"records": {
"CNAME": "hosted.omg.lol"
}
}
+4 -1
View File
@@ -5,5 +5,8 @@
},
"records": {
"CNAME": "illy-dev-github-io.vercel.app"
},
"services": {
"vercel": "vc-domain-verify=illy.is-a.dev,043aa6b06299bebf5ad1"
}
}
}
+15
View File
@@ -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
View File
@@ -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"
}
}
+4 -1
View File
@@ -5,5 +5,8 @@
},
"records": {
"CNAME": "the-meerkats-projects-shays24-90484013ec4c0067187cd3a154c706ad6.gitlab.io"
},
"services": {
"gitlab": "gitlab-pages-verification-code=621b768139e0bfaf6eb43d60db03cabf"
}
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "UndeadRonin99",
"email": "themalanboy@gmail.com"
},
"records": {
"CNAME": "undeadronin99.github.io"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"owner": {
"username": "nickkcode",
"email": "tobecoolaf@gmail.com"
},
"records": {
"CNAME": "portfolio-smoky-chi-69.vercel.app"
}
}
+4 -1
View File
@@ -5,5 +5,8 @@
},
"records": {
"CNAME": "pinage404.gitlab.io"
},
"services": {
"gitlab": "gitlab-pages-verification-code=d43eb39124dec340bdbb11a4d6aa6b52"
}
}
}
+11 -8
View File
@@ -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"
}
}
+1 -2
View File
@@ -5,6 +5,5 @@
},
"records": {
"CNAME": "raj-page.vercel.app"
},
"proxy": true
}
}
+3 -1
View File
@@ -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
View File
@@ -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
View File
@@ -5,5 +5,8 @@
},
"records": {
"CNAME": "sadkon.gitlab.io"
},
"services": {
"gitlab": "gitlab-pages-verification-code=478e4a7c8445704809ba0fa31e003df3"
}
}
}
+1 -1
View File
@@ -1,7 +1,7 @@
{
"owner": {
"username": "snipeisdead",
"email": "snipehere@gmail.com"
"email": "shubhjais2609@gmail.com"
},
"records": {
"CNAME": "snipeisdead.github.io"
+1 -1
View File
@@ -4,6 +4,6 @@
"discord": "1056531806763102218"
},
"records": {
"A": ["69.62.118.156"]
"A": ["69.30.249.53"]
}
}
+11 -8
View File
@@ -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"
}
}
+17
View File
@@ -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"
}
]
}
}
-6
View File
@@ -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
View File
@@ -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"
}
}
+7
View File
@@ -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
View File
@@ -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}$/;
+37
View File
@@ -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
View File
@@ -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();
+2
View File
@@ -81,6 +81,8 @@
"private",
"prod",
"production",
"proxied",
"proxy",
"rdap",
"redirect",
"register",