From 225bb49bace1bff70ce42d535ace8138fa710fe9 Mon Sep 17 00:00:00 2001 From: yuWorm Date: Fri, 31 Oct 2025 16:08:30 +0800 Subject: [PATCH] add cleanConfigFilename function in utils/WireGuard --- src/server/api/client/[clientId]/configuration.get.ts | 7 +------ src/server/routes/cnf/[oneTimeLink].ts | 8 +------- src/server/utils/WireGuard.ts | 8 ++++++++ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/server/api/client/[clientId]/configuration.get.ts b/src/server/api/client/[clientId]/configuration.get.ts index 2fe407d5..ed44f8d2 100644 --- a/src/server/api/client/[clientId]/configuration.get.ts +++ b/src/server/api/client/[clientId]/configuration.get.ts @@ -19,16 +19,11 @@ export default definePermissionEventHandler( } const config = await WireGuard.getClientConfiguration({ clientId }); - const configName = client.name - .replace(/[^a-zA-Z0-9_=+.-]/g, '-') - .replace(/(-{2,}|-$)/g, '-') - .replace(/-$/, '') - .substring(0, 32); setHeader( event, 'Content-Disposition', - `attachment; filename="${configName || clientId}.conf"` + `attachment; filename="${WireGuard.cleanClientFilename(client.name) || clientId}.conf"` ); setHeader(event, 'Content-Type', 'text/plain'); diff --git a/src/server/routes/cnf/[oneTimeLink].ts b/src/server/routes/cnf/[oneTimeLink].ts index ec2dd5d0..5be913a9 100644 --- a/src/server/routes/cnf/[oneTimeLink].ts +++ b/src/server/routes/cnf/[oneTimeLink].ts @@ -27,16 +27,10 @@ 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="${configName || client.id}.conf"` + `attachment; filename="${WireGuard.cleanClientFilename(client.name) || client.id}.conf"` ); setHeader(event, 'Content-Type', 'text/plain'); return config; diff --git a/src/server/utils/WireGuard.ts b/src/server/utils/WireGuard.ts index 8f9a96f2..b024ebff 100644 --- a/src/server/utils/WireGuard.ts +++ b/src/server/utils/WireGuard.ts @@ -170,6 +170,14 @@ class WireGuard { }); } + cleanClientFilename(name: string): string { + return name + .replace(/[^a-zA-Z0-9_=+.-]/g, '-') + .replace(/(-{2,}|-$)/g, '-') + .replace(/-$/, '') + .substring(0, 32); + } + async Startup() { WG_DEBUG('Starting WireGuard...'); // let as it has to refetch if keys change