From c616bd843e3627a77e6f2cba0d7116479890dbe8 Mon Sep 17 00:00:00 2001 From: Bernd Storath <999999bst@gmail.com> Date: Mon, 5 Aug 2024 14:28:57 +0200 Subject: [PATCH] use auto imports --- src/README.md | 75 ------------------- src/server/api/lang.ts | 2 - src/server/api/release.ts | 2 - src/server/api/session.ts | 7 -- src/server/api/ui-chart-type.ts | 2 - src/server/api/ui-traffic-stats.ts | 2 - src/server/api/wireguard/backup.ts | 2 - .../wireguard/client/[clientId]/address.ts | 2 - .../client/[clientId]/configuration.ts | 2 - .../wireguard/client/[clientId]/disable.ts | 2 - .../api/wireguard/client/[clientId]/enable.ts | 2 - .../api/wireguard/client/[clientId]/index.ts | 2 - .../api/wireguard/client/[clientId]/name.ts | 2 - .../wireguard/client/[clientId]/qrcode.svg.ts | 2 - src/server/api/wireguard/client/index.ts | 2 - src/server/api/wireguard/restore.ts | 2 - src/{ => server}/utils/WireGuard.ts | 31 ++------ src/{ => server}/utils/cmd.ts | 0 src/{ => server}/utils/config.ts | 3 +- src/{ => server}/utils/crypto.ts | 0 src/server/utils/ip.ts | 12 +++ src/{ => server}/utils/password.ts | 2 - src/utils/ip.ts | 12 --- 23 files changed, 19 insertions(+), 151 deletions(-) delete mode 100644 src/README.md rename src/{ => server}/utils/WireGuard.ts (93%) rename src/{ => server}/utils/cmd.ts (100%) rename src/{ => server}/utils/config.ts (96%) rename src/{ => server}/utils/crypto.ts (100%) create mode 100644 src/server/utils/ip.ts rename src/{ => server}/utils/password.ts (91%) delete mode 100644 src/utils/ip.ts diff --git a/src/README.md b/src/README.md deleted file mode 100644 index f5db2a2d..00000000 --- a/src/README.md +++ /dev/null @@ -1,75 +0,0 @@ -# Nuxt 3 Minimal Starter - -Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. - -## Setup - -Make sure to install the dependencies: - -```bash -# npm -npm install - -# pnpm -pnpm install - -# yarn -yarn install - -# bun -bun install -``` - -## Development Server - -Start the development server on `http://localhost:3000`: - -```bash -# npm -npm run dev - -# pnpm -pnpm run dev - -# yarn -yarn dev - -# bun -bun run dev -``` - -## Production - -Build the application for production: - -```bash -# npm -npm run build - -# pnpm -pnpm run build - -# yarn -yarn build - -# bun -bun run build -``` - -Locally preview production build: - -```bash -# npm -npm run preview - -# pnpm -pnpm run preview - -# yarn -yarn preview - -# bun -bun run preview -``` - -Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. diff --git a/src/server/api/lang.ts b/src/server/api/lang.ts index e06c4c36..19cca6ae 100644 --- a/src/server/api/lang.ts +++ b/src/server/api/lang.ts @@ -1,5 +1,3 @@ -import { LANG } from '~/utils/config'; - export default defineEventHandler((event) => { assertMethod(event, 'GET'); setHeader(event, 'Content-Type', 'application/json'); diff --git a/src/server/api/release.ts b/src/server/api/release.ts index 714c7506..82d19389 100644 --- a/src/server/api/release.ts +++ b/src/server/api/release.ts @@ -1,5 +1,3 @@ -import { RELEASE } from '~/utils/config'; - export default defineEventHandler((event) => { assertMethod(event, 'GET'); setHeader(event, 'Content-Type', 'application/json'); diff --git a/src/server/api/session.ts b/src/server/api/session.ts index ed97db7d..4cc81f15 100644 --- a/src/server/api/session.ts +++ b/src/server/api/session.ts @@ -1,10 +1,3 @@ -import { - REQUIRES_PASSWORD, - SERVER_DEBUG, - SESSION_CONFIG, -} from '~/utils/config'; -import { isPasswordValid } from '~/utils/password'; - export default defineEventHandler(async (event) => { if (isMethod(event, 'GET')) { const session = await useSession(event, SESSION_CONFIG); diff --git a/src/server/api/ui-chart-type.ts b/src/server/api/ui-chart-type.ts index 2cb789de..98c61a14 100644 --- a/src/server/api/ui-chart-type.ts +++ b/src/server/api/ui-chart-type.ts @@ -1,5 +1,3 @@ -import { UI_CHART_TYPE } from '~/utils/config'; - export default defineEventHandler((event) => { assertMethod(event, 'GET'); setHeader(event, 'Content-Type', 'application/json'); diff --git a/src/server/api/ui-traffic-stats.ts b/src/server/api/ui-traffic-stats.ts index 00804770..33ddbd19 100644 --- a/src/server/api/ui-traffic-stats.ts +++ b/src/server/api/ui-traffic-stats.ts @@ -1,5 +1,3 @@ -import { UI_TRAFFIC_STATS } from '~/utils/config'; - export default defineEventHandler((event) => { assertMethod(event, 'GET'); setHeader(event, 'Content-Type', 'application/json'); diff --git a/src/server/api/wireguard/backup.ts b/src/server/api/wireguard/backup.ts index 8ecbb2ab..c0faa955 100644 --- a/src/server/api/wireguard/backup.ts +++ b/src/server/api/wireguard/backup.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'GET'); const config = await WireGuard.backupConfiguration(); diff --git a/src/server/api/wireguard/client/[clientId]/address.ts b/src/server/api/wireguard/client/[clientId]/address.ts index 4ceded67..d7916f23 100644 --- a/src/server/api/wireguard/client/[clientId]/address.ts +++ b/src/server/api/wireguard/client/[clientId]/address.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'PUT'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/[clientId]/configuration.ts b/src/server/api/wireguard/client/[clientId]/configuration.ts index 618632df..9d397741 100644 --- a/src/server/api/wireguard/client/[clientId]/configuration.ts +++ b/src/server/api/wireguard/client/[clientId]/configuration.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'GET'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/[clientId]/disable.ts b/src/server/api/wireguard/client/[clientId]/disable.ts index c785ae7a..2ae74b02 100644 --- a/src/server/api/wireguard/client/[clientId]/disable.ts +++ b/src/server/api/wireguard/client/[clientId]/disable.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'POST'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/[clientId]/enable.ts b/src/server/api/wireguard/client/[clientId]/enable.ts index 259ed67d..475b2f40 100644 --- a/src/server/api/wireguard/client/[clientId]/enable.ts +++ b/src/server/api/wireguard/client/[clientId]/enable.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'POST'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/[clientId]/index.ts b/src/server/api/wireguard/client/[clientId]/index.ts index 3dbff234..2a48b5c9 100644 --- a/src/server/api/wireguard/client/[clientId]/index.ts +++ b/src/server/api/wireguard/client/[clientId]/index.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'DELETE'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/[clientId]/name.ts b/src/server/api/wireguard/client/[clientId]/name.ts index bd813427..0ac0e7e0 100644 --- a/src/server/api/wireguard/client/[clientId]/name.ts +++ b/src/server/api/wireguard/client/[clientId]/name.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'PUT'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/[clientId]/qrcode.svg.ts b/src/server/api/wireguard/client/[clientId]/qrcode.svg.ts index c5e5ebab..33c119b8 100644 --- a/src/server/api/wireguard/client/[clientId]/qrcode.svg.ts +++ b/src/server/api/wireguard/client/[clientId]/qrcode.svg.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'GET'); const clientId = getRouterParam(event, 'clientId'); diff --git a/src/server/api/wireguard/client/index.ts b/src/server/api/wireguard/client/index.ts index 74ed5150..d2b819ce 100644 --- a/src/server/api/wireguard/client/index.ts +++ b/src/server/api/wireguard/client/index.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { if (isMethod(event, 'GET')) { return WireGuard.getClients(); diff --git a/src/server/api/wireguard/restore.ts b/src/server/api/wireguard/restore.ts index 1d068707..5a13515b 100644 --- a/src/server/api/wireguard/restore.ts +++ b/src/server/api/wireguard/restore.ts @@ -1,5 +1,3 @@ -import WireGuard from '~/utils/WireGuard'; - export default defineEventHandler(async (event) => { assertMethod(event, 'PUT'); const { file } = await readBody(event); diff --git a/src/utils/WireGuard.ts b/src/server/utils/WireGuard.ts similarity index 93% rename from src/utils/WireGuard.ts rename to src/server/utils/WireGuard.ts index 3dfcc9e0..66aa2e29 100644 --- a/src/utils/WireGuard.ts +++ b/src/server/utils/WireGuard.ts @@ -4,23 +4,6 @@ import debug_logger from 'debug'; import crypto from 'node:crypto'; import QRCode from 'qrcode'; -import { - WG_PATH, - WG_HOST, - WG_PORT, - WG_CONFIG_PORT, - WG_MTU, - WG_DEFAULT_DNS, - WG_DEFAULT_ADDRESS, - WG_PERSISTENT_KEEPALIVE, - WG_ALLOWED_IPS, - WG_PRE_UP, - WG_POST_UP, - WG_PRE_DOWN, - WG_POST_DOWN, -} from '~/utils/config'; -import { exec } from '~/utils/cmd'; -import { isValidIPv4 } from '~/utils/ip'; const debug = debug_logger('WireGuard'); class ServerError extends Error { @@ -90,7 +73,7 @@ class WireGuard { const config = await this.__buildConfig(); await this.__saveConfig(config); - await exec('wg-quick down wg0').catch(() => {}); + await exec('wg-quick down wg0').catch(() => { }); await exec('wg-quick up wg0').catch((err) => { if ( err && @@ -142,9 +125,8 @@ PostDown = ${WG_POST_DOWN} # Client: ${client.name} (${clientId}) [Peer] PublicKey = ${client.publicKey} -${ - client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' -}AllowedIPs = ${client.address}/32`; +${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' + }AllowedIPs = ${client.address}/32`; } debug('Config saving...'); @@ -245,9 +227,8 @@ ${WG_MTU ? `MTU = ${WG_MTU}\n` : ''}\ [Peer] PublicKey = ${config.server.publicKey} -${ - client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' -}AllowedIPs = ${WG_ALLOWED_IPS} +${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' + }AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } @@ -397,7 +378,7 @@ Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; // Shutdown wireguard async Shutdown() { - await exec('wg-quick down wg0').catch(() => {}); + await exec('wg-quick down wg0').catch(() => { }); } } diff --git a/src/utils/cmd.ts b/src/server/utils/cmd.ts similarity index 100% rename from src/utils/cmd.ts rename to src/server/utils/cmd.ts diff --git a/src/utils/config.ts b/src/server/utils/config.ts similarity index 96% rename from src/utils/config.ts rename to src/server/utils/config.ts index b6b59f6f..ba857f50 100644 --- a/src/utils/config.ts +++ b/src/server/utils/config.ts @@ -1,7 +1,6 @@ import type { SessionConfig } from 'h3'; -import { getRandomHex } from '~/utils/crypto'; -import packageJSON from '../package.json'; +import packageJSON from '../../package.json'; import debug from 'debug'; const version = packageJSON.release.version; diff --git a/src/utils/crypto.ts b/src/server/utils/crypto.ts similarity index 100% rename from src/utils/crypto.ts rename to src/server/utils/crypto.ts diff --git a/src/server/utils/ip.ts b/src/server/utils/ip.ts new file mode 100644 index 00000000..de2b6ba0 --- /dev/null +++ b/src/server/utils/ip.ts @@ -0,0 +1,12 @@ +export function isValidIPv4(str: string) { + const blocks = str.split('.'); + if (blocks.length !== 4) return false; + + for (const value of blocks) { + const num = parseInt(value, 10); + if (Number.isNaN(value)) return false; + if (num < 0 || num > 255) return false; + } + + return true; +} diff --git a/src/utils/password.ts b/src/server/utils/password.ts similarity index 91% rename from src/utils/password.ts rename to src/server/utils/password.ts index a7b0f2c4..23d7cdc2 100644 --- a/src/utils/password.ts +++ b/src/server/utils/password.ts @@ -1,7 +1,5 @@ import bcrypt from 'bcryptjs'; -import { PASSWORD_HASH } from '~/utils/config'; - /** * Checks if `password` matches the PASSWORD_HASH. * diff --git a/src/utils/ip.ts b/src/utils/ip.ts deleted file mode 100644 index 7099df90..00000000 --- a/src/utils/ip.ts +++ /dev/null @@ -1,12 +0,0 @@ -export function isValidIPv4(str) { - const blocks = str.split('.'); - if (blocks.length !== 4) return false; - - for (let value of blocks) { - value = parseInt(value, 10); - if (Number.isNaN(value)) return false; - if (value < 0 || value > 255) return false; - } - - return true; -}