mirror of
https://github.com/wg-easy/wg-easy.git
synced 2026-10-25 16:21:34 +00:00
add filename cleaning at OneTimeLink download (#2253)
* add filename cleaning at OneTimeLink download * add cleanConfigFilename function in utils/WireGuard
This commit is contained in:
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');
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue