support for bluesky service records

This commit is contained in:
William Harrison committed 2025-05-13 15:51:45 +08:00
1 parent 212c386b4d
commit c6fa0573d1
36 files changed
+55 -166

No files matched your search

+4
View File
@@ -155,6 +155,10 @@ for (var subdomain in domains) {
records.push(TXT("_vercel." + subdomainName, "\"" + data.services.vercel + "\""));
}
}
if (data.services.bluesky) {
records.push(TXT("_atproto." + subdomainName, "\"" + data.services.bluesky + "\""));
}
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "alvinsjoy",
"discord": "825382504353234954"
},
"records": {
"TXT": "did=did:plc:jkk7sl4llede4zzj2ctgkwsc"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"description": "domain verification for bluesky",
"owner": {
"username": "catto24",
"email": "catto24@proton.me"
},
"records": {
"TXT": "did=did:plc:whzff4s3db6taso3s43ylrou"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "theclyron",
"email": "onenonlyclyron@gmail.com"
},
"records": {
"TXT": "did=did:plc:fqvzbqsjzjkl4o66rfp6cgk3"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"owner": {
"username": "crischutu07",
"email": "crischutu07owo@gmail.com",
"description": "Bluesky custom handle."
},
"records": {
"TXT": "did=did:plc:tfpfqi3qewuc5ugaipb57waa"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "exyxz",
"discord": "exyxz"
},
"records": {
"TXT": "did=did:plc:73r55srxmmlhhiof7fnllisy"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"description": "domain verification for bluesky",
"owner": {
"username": "TheHCJ",
"bluesky": "did:plc:5f2c6awh4ffekm7srmi4d6zg"
},
"records": {
"TXT": "did:plc:5f2c6awh4ffekm7srmi4d6zg"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "horibyte",
"email": "thehoribyte@gmail.com"
},
"records": {
"TXT": "did=did:plc:5ls3iv54vrppjxbs5ztocd75"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"description": "domain verification for bluesky",
"owner": {
"username": "heyjumanji",
"email": "madhuchutiya.unhinge50@silomails.com"
},
"records": {
"TXT": "did=did:plc:nrjpabfv3zoxd6kiwr6fs4lq"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "notxlua",
"email": "notxlua@gmail.com"
},
"records": {
"TXT": "did=did:plc:j7iap5lpvblnrr7lygisgjzp"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"description": "domain verification for bluesky",
"owner": {
"username": "luihh",
"email": "luihh@proton.me"
},
"records": {
"TXT": "did=did:plc:nkzlgllahrw2v2y6p4inqx6t"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "itssfatlum",
"email": "fatlum@lumi.is-a.dev"
},
"records": {
"TXT": "did=did:plc:c6m5rghb7tkmf5isd3pqjpbt"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"owner": {
"username": "NarasimaPandiyan",
"email": "cs42059@gmail.com",
"discord": "gamingdoodle"
},
"records": {
"TXT": "did=did:plc:u5uxl7mjlywolajtgso2ouoe"
}
}
-11
View File
@@ -1,11 +0,0 @@
{
"description": "domain verification for bluesky",
"owner": {
"username": "not-coded",
"discord": "notcoded",
"discordUserID": "620662953347121163"
},
"records": {
"TXT": "did=did:plc:hvgfiqmdl5sqcba2453dfpxe"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "Priyansxu",
"email": "priyansxu@yahoo.com"
},
"records": {
"TXT": "did=did:plc:psimj7hgshwoets2jvd6caib"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "nilsraccoon",
"discord": "1129507464589627512"
},
"records": {
"TXT": "did=did:plc:25w7vwbzb2e3h7cnflqskp37"
}
}
-9
View File
@@ -1,9 +0,0 @@
{
"owner": {
"username": "thelamplighter-0",
"email": "thesamueliyeh@gmail.com"
},
"records": {
"TXT": "did=did:plc:g3ej5yewgi7ee7uipfzyrczc"
}
}
+2 -1
View File
@@ -24,6 +24,7 @@
"vc-domain-verify=www.todo.alvin.is-a.dev,affd5e1204871843ebb8",
"vc-domain-verify=sign.alvin.is-a.dev,2563e8f2f9edc85132ac",
"vc-domain-verify=www.sign.alvin.is-a.dev,94900e209df86ce94741"
]
],
"bluesky": "did=did:plc:jkk7sl4llede4zzj2ctgkwsc"
}
}
+2 -1
View File
@@ -8,6 +8,7 @@
"CNAME": "catto24.github.io"
},
"services": {
"discord": "dh=cb090910b5977bb43674000fab99c3a76492ac78"
"discord": "dh=cb090910b5977bb43674000fab99c3a76492ac78",
"bluesky": "did=did:plc:whzff4s3db6taso3s43ylrou"
}
}
+2 -1
View File
@@ -7,6 +7,7 @@
"CNAME": "theclyron.github.io"
},
"services": {
"discord": "dh=08fd1efb158b657de5293ec643a8426a20a93ede"
"discord": "dh=08fd1efb158b657de5293ec643a8426a20a93ede",
"bluesky": "did=did:plc:fqvzbqsjzjkl4o66rfp6cgk3"
}
}
+2 -1
View File
@@ -14,6 +14,7 @@
"TXT": "v=spf1 include:spf.improvmx.com ~all"
},
"services": {
"discord": "dh=fffa03e2584e730d2c0166aaa6fe846542439b19"
"discord": "dh=fffa03e2584e730d2c0166aaa6fe846542439b19",
"bluesky": "did=did:plc:tfpfqi3qewuc5ugaipb57waa"
}
}
+2 -1
View File
@@ -8,6 +8,7 @@
"CNAME": "exyxz.github.io"
},
"services": {
"discord": "dh=529be62f885915368b4b5c20beaef95a1c55ea98"
"discord": "dh=529be62f885915368b4b5c20beaef95a1c55ea98",
"bluesky": "did=did:plc:73r55srxmmlhhiof7fnllisy"
}
}
+2 -1
View File
@@ -8,6 +8,7 @@
},
"services": {
"discord": "dh=4d34d136feda8f0fade8d9cbf34cfb3ff0adee15",
"vercel": "vc-domain-verify=hcj.is-a.dev,010396202f45aacdad27"
"vercel": "vc-domain-verify=hcj.is-a.dev,010396202f45aacdad27",
"bluesky": "did:plc:5f2c6awh4ffekm7srmi4d6zg"
}
}
+3
View File
@@ -5,5 +5,8 @@
},
"records": {
"CNAME": "horibyte.github.io"
},
"services": {
"bluesky": "did=did:plc:5ls3iv54vrppjxbs5ztocd75"
}
}
+2 -1
View File
@@ -10,6 +10,7 @@
},
"services": {
"discord": "dh=aa51fc97861c871fc4daece76efa42c15712f116",
"vercel": "vc-domain-verify=jumanji.is-a.dev,291766e76a7ab5de1bc7"
"vercel": "vc-domain-verify=jumanji.is-a.dev,291766e76a7ab5de1bc7",
"bluesky": "did=did:plc:nrjpabfv3zoxd6kiwr6fs4lq"
}
}
+2 -1
View File
@@ -9,6 +9,7 @@
"A": ["75.119.201.51"]
},
"services": {
"discord": "dh=970cb15c19a813efa00124e99f198cbac7942338"
"discord": "dh=970cb15c19a813efa00124e99f198cbac7942338",
"bluesky": "did=did:plc:j7iap5lpvblnrr7lygisgjzp"
}
}
+2 -1
View File
@@ -20,6 +20,7 @@
"proxied": true,
"services": {
"discord": "dh=81d234bda025f0796690ab6cf411be3a6b6c73c2",
"vercel": "vc-domain-verify=luihh.is-a.dev,918089867ac61f642dfc"
"vercel": "vc-domain-verify=luihh.is-a.dev,918089867ac61f642dfc",
"bluesky": "did=did:plc:nkzlgllahrw2v2y6p4inqx6t"
}
}
+2 -1
View File
@@ -9,6 +9,7 @@
"TXT": "v=spf1 include:spf.improvmx.com ~all"
},
"services": {
"discord": "dh=e00668e963ac416881a25e0bb5f87429a5eb0792"
"discord": "dh=e00668e963ac416881a25e0bb5f87429a5eb0792",
"bluesky": "did=did:plc:c6m5rghb7tkmf5isd3pqjpbt"
}
}
+2 -1
View File
@@ -11,6 +11,7 @@
},
"services": {
"discord": "dh=d54feeb331611626de2134ef368bdcf7691cbbb3",
"vercel": "vc-domain-verify=blog.narasima.is-a.dev,f77f79e5650f4790387a"
"vercel": "vc-domain-verify=blog.narasima.is-a.dev,f77f79e5650f4790387a",
"bluesky": "did=did:plc:u5uxl7mjlywolajtgso2ouoe"
}
}
+2 -1
View File
@@ -8,6 +8,7 @@
"CNAME": "not-coded.github.io"
},
"services": {
"discord": "dh=0a6a5afd3a6ee9b2709a43a77e6679a2e9969384"
"discord": "dh=0a6a5afd3a6ee9b2709a43a77e6679a2e9969384",
"bluesky": "did=did:plc:hvgfiqmdl5sqcba2453dfpxe"
}
}
+2 -1
View File
@@ -8,6 +8,7 @@
"CNAME": "priyanshu.pages.dev"
},
"services": {
"discord": "dh=4784b7e772166e35d7f9a41207e1ddf7e3d57f82"
"discord": "dh=4784b7e772166e35d7f9a41207e1ddf7e3d57f82",
"bluesky": "did=did:plc:psimj7hgshwoets2jvd6caib"
}
}
+2 -1
View File
@@ -7,6 +7,7 @@
"CNAME": "nilsraccoon.github.io"
},
"services": {
"discord": "dh=e9381b84c8007443b186820d32a3797bd8fa537d"
"discord": "dh=e9381b84c8007443b186820d32a3797bd8fa537d",
"bluesky": "did=did:plc:25w7vwbzb2e3h7cnflqskp37"
}
}
+3
View File
@@ -5,5 +5,8 @@
},
"records": {
"URL": "https://github.com/thelamplighter-0"
},
"services": {
"bluesky": "did=did:plc:g3ej5yewgi7ee7uipfzyrczc"
}
}
+7
View File
@@ -121,6 +121,13 @@ t("Disallow nested subdomains when parent has specific service records", (t) =>
`${file}: Nested subdomain "_vercel.${subdomain}" should not exist when services.vercel is present`
);
}
if (data?.services?.bluesky) {
t.false(
files.includes(`_atproto.${file}`),
`${file}: Nested subdomain "_atproto.${subdomain}" should not exist when services.bluesky is present`
);
}
});
t.pass();
+4
View File
@@ -164,6 +164,10 @@ async function processFile(file, t) {
`${file}: services.vercel should be an array or string`
);
}
if (data.services.bluesky) {
t.true(typeof data.services.bluesky === "string", `${file}: services.bluesky should be a string`);
}
}
for (const field of blockedFields) {
+6
View File
@@ -356,6 +356,12 @@ t("All files should have valid service records", (t) => {
t.true(value.length >= 48, `${file}: Vercel service token should be 48 characters or longer`);
});
}
const atprotoRegex = /^did=did:plc:[a-z0-9]{24}$/;
if (data?.services?.bluesky) {
t.true(atprotoRegex.test(data.services.bluesky), `${file}: Invalid Bluesky service record format`);
}
});
t.pass();