diff --git a/src/server/routes/cnf/[oneTimeLink].ts b/src/server/routes/cnf/[oneTimeLink].ts index 3d048eb3..ec2dd5d0 100644 --- a/src/server/routes/cnf/[oneTimeLink].ts +++ b/src/server/routes/cnf/[oneTimeLink].ts @@ -27,10 +27,16 @@ export default defineEventHandler(async (event) => { }); await Database.oneTimeLinks.erase(otl.id); + const configName = client.name + .replace(/[^a-zA-Z0-9_=+.-]/g, '-') + .replace(/(-{2,}|-$)/g, '-') + .replace(/-$/, '') + .substring(0, 32); + setHeader( event, 'Content-Disposition', - `attachment; filename="${client.name}.conf"` + `attachment; filename="${configName || client.id}.conf"` ); setHeader(event, 'Content-Type', 'text/plain'); return config;