mirror of https://github.com/wg-easy/wg-easy
22 changed files with 60 additions and 74 deletions
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler((event) => { |
export default defineEventHandler((event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
setHeader(event, 'Content-Type', 'application/json'); |
setHeader(event, 'Content-Type', 'application/json'); |
||||
return `"${LANG}"`; |
return `"${LANG}"`; |
||||
}); |
}); |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler((event) => { |
export default defineEventHandler((event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
setHeader(event, 'Content-Type', 'application/json'); |
setHeader(event, 'Content-Type', 'application/json'); |
||||
return RELEASE; |
return RELEASE; |
||||
}); |
}); |
@ -0,0 +1,9 @@ |
|||||
|
export default defineEventHandler(async (event) => { |
||||
|
const session = await useSession(event, SESSION_CONFIG); |
||||
|
const sessionId = session.id; |
||||
|
|
||||
|
await session.clear(); |
||||
|
|
||||
|
SERVER_DEBUG(`Deleted Session: ${sessionId}`); |
||||
|
return { success: true }; |
||||
|
}); |
@ -0,0 +1,11 @@ |
|||||
|
export default defineEventHandler(async (event) => { |
||||
|
const session = await useSession(event, SESSION_CONFIG); |
||||
|
const authenticated = REQUIRES_PASSWORD |
||||
|
? !!(session.data && session.data.authenticated) |
||||
|
: true; |
||||
|
|
||||
|
return { |
||||
|
requiresPassword: REQUIRES_PASSWORD, |
||||
|
authenticated, |
||||
|
}; |
||||
|
}); |
@ -0,0 +1,28 @@ |
|||||
|
export default defineEventHandler(async (event) => { |
||||
|
const session = await useSession(event, SESSION_CONFIG); |
||||
|
const { password } = await readBody(event); |
||||
|
|
||||
|
if (!REQUIRES_PASSWORD) { |
||||
|
// if no password is required, the API should never be called.
|
||||
|
// Do not automatically authenticate the user.
|
||||
|
throw createError({ |
||||
|
status: 401, |
||||
|
message: 'Invalid state', |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
if (!isPasswordValid(password)) { |
||||
|
throw createError({ |
||||
|
status: 401, |
||||
|
message: 'Incorrect Password', |
||||
|
}); |
||||
|
} |
||||
|
|
||||
|
const data = await session.update({ |
||||
|
authenticated: true, |
||||
|
}); |
||||
|
|
||||
|
SERVER_DEBUG(`New Session: ${data.id}`); |
||||
|
|
||||
|
return { success: true }; |
||||
|
}); |
@ -1,48 +0,0 @@ |
|||||
export default defineEventHandler(async (event) => { |
|
||||
if (isMethod(event, 'GET')) { |
|
||||
const session = await useSession(event, SESSION_CONFIG); |
|
||||
const authenticated = REQUIRES_PASSWORD |
|
||||
? !!(session.data && session.data.authenticated) |
|
||||
: true; |
|
||||
|
|
||||
return { |
|
||||
requiresPassword: REQUIRES_PASSWORD, |
|
||||
authenticated, |
|
||||
}; |
|
||||
} else if (isMethod(event, 'POST')) { |
|
||||
const session = await useSession(event, SESSION_CONFIG); |
|
||||
const { password } = await readBody(event); |
|
||||
|
|
||||
if (!REQUIRES_PASSWORD) { |
|
||||
// if no password is required, the API should never be called.
|
|
||||
// Do not automatically authenticate the user.
|
|
||||
throw createError({ |
|
||||
status: 401, |
|
||||
message: 'Invalid state', |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
if (!isPasswordValid(password)) { |
|
||||
throw createError({ |
|
||||
status: 401, |
|
||||
message: 'Incorrect Password', |
|
||||
}); |
|
||||
} |
|
||||
|
|
||||
const data = await session.update({ |
|
||||
authenticated: true, |
|
||||
}); |
|
||||
|
|
||||
SERVER_DEBUG(`New Session: ${data.id}`); |
|
||||
|
|
||||
return { success: true }; |
|
||||
} else if (isMethod(event, 'DELETE')) { |
|
||||
const session = await useSession(event, SESSION_CONFIG); |
|
||||
const sessionId = session.id; |
|
||||
|
|
||||
await session.clear(); |
|
||||
|
|
||||
SERVER_DEBUG(`Deleted Session: ${sessionId}`); |
|
||||
return { success: true }; |
|
||||
} |
|
||||
}); |
|
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler((event) => { |
export default defineEventHandler((event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
setHeader(event, 'Content-Type', 'application/json'); |
setHeader(event, 'Content-Type', 'application/json'); |
||||
return `"${UI_CHART_TYPE}"`; |
return `"${UI_CHART_TYPE}"`; |
||||
}); |
}); |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler((event) => { |
export default defineEventHandler((event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
setHeader(event, 'Content-Type', 'application/json'); |
setHeader(event, 'Content-Type', 'application/json'); |
||||
return `"${UI_TRAFFIC_STATS}"`; |
return `"${UI_TRAFFIC_STATS}"`; |
||||
}); |
}); |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
const config = await WireGuard.backupConfiguration(); |
const config = await WireGuard.backupConfiguration(); |
||||
setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); |
setHeader(event, 'Content-Disposition', 'attachment; filename="wg0.json"'); |
||||
setHeader(event, 'Content-Type', 'text/json'); |
setHeader(event, 'Content-Type', 'text/json'); |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'PUT'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
if ( |
if ( |
||||
clientId === '__proto__' || |
clientId === '__proto__' || |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
const client = await WireGuard.getClient({ clientId }); |
const client = await WireGuard.getClient({ clientId }); |
||||
const config = await WireGuard.getClientConfiguration({ clientId }); |
const config = await WireGuard.getClientConfiguration({ clientId }); |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'POST'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
if ( |
if ( |
||||
clientId === '__proto__' || |
clientId === '__proto__' || |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'POST'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
if ( |
if ( |
||||
clientId === '__proto__' || |
clientId === '__proto__' || |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'DELETE'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
await WireGuard.deleteClient({ clientId }); |
await WireGuard.deleteClient({ clientId }); |
||||
return { success: true }; |
return { success: true }; |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'PUT'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
if ( |
if ( |
||||
clientId === '__proto__' || |
clientId === '__proto__' || |
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'GET'); |
|
||||
const clientId = getRouterParam(event, 'clientId'); |
const clientId = getRouterParam(event, 'clientId'); |
||||
const svg = await WireGuard.getClientQRCodeSVG({ clientId }); |
const svg = await WireGuard.getClientQRCodeSVG({ clientId }); |
||||
setHeader(event, 'Content-Type', 'image/svg+xml'); |
setHeader(event, 'Content-Type', 'image/svg+xml'); |
@ -0,0 +1,3 @@ |
|||||
|
export default defineEventHandler(() => { |
||||
|
return WireGuard.getClients(); |
||||
|
}); |
@ -0,0 +1,5 @@ |
|||||
|
export default defineEventHandler(async (event) => { |
||||
|
const { name } = await readBody(event); |
||||
|
await WireGuard.createClient({ name }); |
||||
|
return { success: true }; |
||||
|
}); |
@ -1,9 +0,0 @@ |
|||||
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 }; |
|
||||
} |
|
||||
}); |
|
@ -1,5 +1,4 @@ |
|||||
export default defineEventHandler(async (event) => { |
export default defineEventHandler(async (event) => { |
||||
assertMethod(event, 'PUT'); |
|
||||
const { file } = await readBody(event); |
const { file } = await readBody(event); |
||||
await WireGuard.restoreConfiguration(file); |
await WireGuard.restoreConfiguration(file); |
||||
return { success: true }; |
return { success: true }; |
Loading…
Reference in new issue