From 74a1356d3468556769f96003198257a2b610a88c Mon Sep 17 00:00:00 2001 From: William Harrison <87287585+wdhdev@users.noreply.github.com> Date: Wed, 28 May 2025 12:06:29 +0800 Subject: [PATCH] block render from being proxied --- domains/gg.shockbs.json | 3 +-- tests/proxy.test.js | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/domains/gg.shockbs.json b/domains/gg.shockbs.json index e94a264adc..949b7339b6 100644 --- a/domains/gg.shockbs.json +++ b/domains/gg.shockbs.json @@ -5,6 +5,5 @@ }, "records": { "CNAME": "ziplineshockbs.onrender.com" - }, - "proxied": true + } } diff --git a/tests/proxy.test.js b/tests/proxy.test.js index 1c3d983006..bc11d477a3 100644 --- a/tests/proxy.test.js +++ b/tests/proxy.test.js @@ -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` + ); + }); + } + }); +});