add filename cleaning at OneTimeLink download (#2253)

* add filename cleaning at OneTimeLink download

* add cleanConfigFilename function in utils/WireGuard
This commit is contained in:
YuWorm
2025-10-31 16:28:46 +08:00
committed by GitHub
parent daff15463d
commit 2f96d9934b
3 changed files with 10 additions and 7 deletions
@@ -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');
+1 -1
View File
@@ -30,7 +30,7 @@ export default defineEventHandler(async (event) => {
setHeader(
event,
'Content-Disposition',
`attachment; filename="${client.name}.conf"`
`attachment; filename="${WireGuard.cleanClientFilename(client.name) || client.id}.conf"`
);
setHeader(event, 'Content-Type', 'text/plain');
return config;
+8
View File
@@ -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