From 46d780f566c969d04933752dbf34a9528ac2e423 Mon Sep 17 00:00:00 2001 From: Modnark Date: Thu, 14 May 2026 12:44:30 -0400 Subject: [PATCH] change TLDs, add blacklisting --- routes/domains.js | 19 +++++++++++++++++-- validators/domain.js | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/routes/domains.js b/routes/domains.js index 542e3ec..9a0ba3f 100644 --- a/routes/domains.js +++ b/routes/domains.js @@ -7,13 +7,19 @@ const dbConnection = database.db; const Sequelize = require('sequelize'); const pageTitle = 'Domain Manager | Register New Domain'; +const blacklistedDomains = [ + "dns.internal" +]; + const supportedTLDs = [ - "local", + "internal", "tomato", "secret", "money", "lol", - "lmao" + "bowling", + "lmao", + "john" ]; // Manage domains @@ -49,9 +55,18 @@ router.post('/domains/new', authMw.AllowIfAuthenticated, async(req, res, next) = const validationError = validationResult.error; let errors = []; + // Make sure domain is valid + const domainLabel = reqBody.register_domain_label; + const domainTLD = reqBody.register_domain_tld; + const fullDomain = domainLabel + domainLabel; + if(validationError !== undefined) errors = validationError.details; + if(blacklistedDomains.includes(fullDomain.toLowerCase())) { + errors.push('Domain is not available.'); + } + try { if(errors.length === 0) { const result = await dbConnection.transaction(async(t) => { diff --git a/validators/domain.js b/validators/domain.js index 34c202b..cd75e9a 100644 --- a/validators/domain.js +++ b/validators/domain.js @@ -1,7 +1,7 @@ const Joi = require('joi'); const domainRegistrySchema = Joi.object().keys({ register_domain_label: Joi.string().alphanum().min(1).max(63).required(), - register_domain_tld: Joi.string().valid("local", "tomato", "secret", "money", "lol", "lmao").required() + register_domain_tld: Joi.string().valid("internal", "tomato", "secret", "money", "lol", "bowling", "lmao", "john").required() }).unknown(true); module.exports = {