From 2b8b300c3c2c7179a8f4312c7b3687b828b09994 Mon Sep 17 00:00:00 2001 From: Bernd Storath <999999bst@gmail.com> Date: Thu, 14 Nov 2024 09:57:55 +0100 Subject: [PATCH] update comments --- src/app/pages/login.vue | 1 + src/server/utils/WireGuard.ts | 9 +++++++++ src/server/utils/release.ts | 4 ++++ src/server/utils/wgHelper.ts | 2 ++ src/services/database/migrations/1.ts | 1 - 5 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/app/pages/login.vue b/src/app/pages/login.vue index 2ceb165d..33b537b0 100644 --- a/src/app/pages/login.vue +++ b/src/app/pages/login.vue @@ -102,6 +102,7 @@ type SetupError = { const setupError = ref(null); +// TODO: check if needed watch(setupError, (value) => { if (value) { setTimeout(() => { diff --git a/src/server/utils/WireGuard.ts b/src/server/utils/WireGuard.ts index 968bcc37..b345459a 100644 --- a/src/server/utils/WireGuard.ts +++ b/src/server/utils/WireGuard.ts @@ -10,11 +10,17 @@ import { isIPv4 } from 'is-ip'; const DEBUG = debug('WireGuard'); class WireGuard { + /** + * Save and sync config + */ async saveConfig() { await this.#saveWireguardConfig(); await this.#syncWireguardConfig(); } + /** + * Generates and saves WireGuard config from database as wg0 + */ async #saveWireguardConfig() { const system = await Database.system.get(); const clients = await Database.client.findAll(); @@ -300,6 +306,8 @@ class WireGuard { DEBUG('Cron Job started successfully.'); } + // TODO: handle as worker_thread + // would need a better database aswell async startCronJob() { await this.cronJob().catch((err) => { DEBUG('Running Cron Job failed.'); @@ -343,6 +351,7 @@ class WireGuard { } } } + await this.saveConfig(); } async getMetrics() { diff --git a/src/server/utils/release.ts b/src/server/utils/release.ts index c23cae64..7d2f3e5c 100644 --- a/src/server/utils/release.ts +++ b/src/server/utils/release.ts @@ -49,4 +49,8 @@ async function fetchLatestRelease() { } } +/** + * Fetch latest release from GitHub + * @cache Response is cached for 1 hour + */ export const cachedFetchLatestRelease = cacheFunction(fetchLatestRelease); diff --git a/src/server/utils/wgHelper.ts b/src/server/utils/wgHelper.ts index 70b9cc6d..5d69e0c9 100644 --- a/src/server/utils/wgHelper.ts +++ b/src/server/utils/wgHelper.ts @@ -3,6 +3,8 @@ import type { DeepReadonly } from 'vue'; import type { Client } from '~~/services/database/repositories/client'; import type { System } from '~~/services/database/repositories/system'; +// TODO: replace wg0 with parameter (to allow multi interface design) + export const wg = { generateServerPeer: (client: DeepReadonly) => { const allowedIps = [ diff --git a/src/services/database/migrations/1.ts b/src/services/database/migrations/1.ts index 79f9f60f..61494e93 100644 --- a/src/services/database/migrations/1.ts +++ b/src/services/database/migrations/1.ts @@ -39,7 +39,6 @@ export async function run1(db: Low) { address6Range: address6Range, defaultDns: ['1.1.1.1', '2606:4700:4700::1111'], allowedIps: ['0.0.0.0/0', '::/0'], - // TODO: host has to be configured when onboarding host: '', port: 51820, },