From 9a97760ede9b2eceabcde812e8f6ffa59a35ef72 Mon Sep 17 00:00:00 2001 From: SamTV12345 <40429738+samtv12345@users.noreply.github.com> Date: Tue, 8 Apr 2025 18:40:00 +0200 Subject: [PATCH] Added authentication to axios.defaults.proxy --- pnpm-lock.yaml | 7 +++++-- src/node/server.ts | 4 ++++ src/package.json | 3 ++- src/static/js/pluginfw/installer.ts | 6 ++++-- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a1dc5519..7ca9ed388 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -182,6 +182,9 @@ importers: http-errors: specifier: ^2.0.0 version: 2.0.0 + https-proxy-agent: + specifier: ^7.0.6 + version: 7.0.6 jose: specifier: ^5.10.0 version: 5.10.0 @@ -7510,7 +7513,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0))(eslint@9.24.0): dependencies: debug: 3.2.7 optionalDependencies: @@ -7550,7 +7553,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.24.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0)(eslint@9.24.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@7.18.0(eslint@9.24.0)(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.10.0(eslint-plugin-import@2.31.0)(eslint@9.24.0))(eslint@9.24.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 diff --git a/src/node/server.ts b/src/node/server.ts index 507ed5f79..f81cabdc2 100755 --- a/src/node/server.ts +++ b/src/node/server.ts @@ -42,6 +42,10 @@ if (settings.dumpOnUncleanExit) { const addProxyToAxios = (url: URL) => { axios.defaults.proxy = { host: url.hostname, + auth: { + username: url.username, + password: url.password, + }, port: Number(url.port), protocol: url.protocol, } diff --git a/src/package.json b/src/package.json index bce094234..80282ee43 100644 --- a/src/package.json +++ b/src/package.json @@ -44,11 +44,13 @@ "find-root": "1.1.0", "formidable": "^3.5.2", "http-errors": "^2.0.0", + "https-proxy-agent": "^7.0.6", "jose": "^5.10.0", "js-cookie": "^3.0.5", "jsdom": "^26.0.0", "jsonminify": "0.4.2", "jsonwebtoken": "^9.0.2", + "jwt-decode": "^4.0.0", "languages4translatewiki": "0.1.3", "live-plugin-manager": "^1.0.0", "lodash.clonedeep": "4.5.0", @@ -70,7 +72,6 @@ "socket.io-client": "^4.8.1", "superagent": "10.2.0", "swagger-ui-express": "^5.0.1", - "jwt-decode": "^4.0.0", "tinycon": "0.6.8", "tsx": "4.19.3", "ueberdb2": "^5.0.6", diff --git a/src/static/js/pluginfw/installer.ts b/src/static/js/pluginfw/installer.ts index c605378e1..3382d3161 100644 --- a/src/static/js/pluginfw/installer.ts +++ b/src/static/js/pluginfw/installer.ts @@ -172,12 +172,14 @@ export const getAvailablePlugins = (maxCacheAge: number|false) => { } await axios.get(`${settings.updateServer}/plugins.json`, {headers}) - .then((pluginsLoaded:AxiosResponse>) => { + .then((pluginsLoaded: AxiosResponse>) => { availablePlugins = pluginsLoaded.data; cacheTimestamp = nowTimestamp; resolve(availablePlugins); }) - .catch(async (err) => reject(err)); + .catch(async (err) => { + logger.error(`Error fetching available plugins: ${err}`); + }); }); };