mirror of https://github.com/wg-easy/wg-easy
11 changed files with 107 additions and 5 deletions
@ -0,0 +1,9 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "GET"); |
|||
const config = await WireGuard.backupConfiguration(); |
|||
setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); |
|||
setHeader(event, 'Content-Type', 'text/json'); |
|||
return config; |
|||
}) |
@ -1,5 +0,0 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(() => { |
|||
return WireGuard.getClients(); |
|||
}) |
@ -0,0 +1,12 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "PUT"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
if (clientId === '__proto__' || clientId === 'constructor' || clientId === 'prototype') { |
|||
throw createError({ status: 403 }); |
|||
} |
|||
const { address } = await readBody(event); |
|||
await WireGuard.updateClientAddress({ clientId, address }); |
|||
return { success: true }; |
|||
}) |
@ -0,0 +1,16 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "GET"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
const client = await WireGuard.getClient({ clientId }); |
|||
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"`); |
|||
setHeader(event, 'Content-Type', 'text/plain'); |
|||
return config; |
|||
}) |
@ -0,0 +1,11 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "POST"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
if (clientId === '__proto__' || clientId === 'constructor' || clientId === 'prototype') { |
|||
throw createError({ status: 403 }); |
|||
} |
|||
await WireGuard.disableClient({ clientId }); |
|||
return { success: true }; |
|||
}) |
@ -0,0 +1,11 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "POST"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
if (clientId === '__proto__' || clientId === 'constructor' || clientId === 'prototype') { |
|||
throw createError({ status: 403 }); |
|||
} |
|||
await WireGuard.enableClient({ clientId }); |
|||
return { success: true }; |
|||
}) |
@ -0,0 +1,8 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "DELETE"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
await WireGuard.deleteClient({ clientId }); |
|||
return { success: true }; |
|||
}); |
@ -0,0 +1,12 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "PUT"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
if (clientId === '__proto__' || clientId === 'constructor' || clientId === 'prototype') { |
|||
throw createError({ status: 403 }); |
|||
} |
|||
const { name } = await readBody(event); |
|||
await WireGuard.updateClientName({ clientId, name }); |
|||
return { success: true }; |
|||
}) |
@ -0,0 +1,9 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "GET"); |
|||
const clientId = getRouterParam(event, 'clientId'); |
|||
const svg = await WireGuard.getClientQRCodeSVG({ clientId }); |
|||
setHeader(event, 'Content-Type', 'image/svg+xml'); |
|||
return svg; |
|||
}) |
@ -0,0 +1,11 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
if (isMethod(event, "GET")) { |
|||
return WireGuard.getClients(); |
|||
} else if (isMethod(event, "POST")) { |
|||
const { name } = await readBody(event); |
|||
await WireGuard.createClient({ name }); |
|||
return { success: true }; |
|||
} |
|||
}) |
@ -0,0 +1,8 @@ |
|||
import WireGuard from "~/utils/WireGuard"; |
|||
|
|||
export default defineEventHandler(async (event) => { |
|||
assertMethod(event, "PUT"); |
|||
const { file } = await readBody(event); |
|||
await WireGuard.restoreConfiguration(file); |
|||
return { success: true }; |
|||
}) |
Loading…
Reference in new issue