From a082a40bf6a72943c127a18d3b16967d3c377acf Mon Sep 17 00:00:00 2001 From: adrien Date: Wed, 29 May 2024 09:49:15 +0200 Subject: [PATCH] config: Add support for custom client port configuration This commit introduces the ability to specify a custom port for the client configuration. This feature is particularly useful when the WireGuard server is behind a port forwarding setup, allowing clients to connect using the correct port number. With this change, users can now define the desired client port in the configuration file, ensuring seamless connectivity even in scenarios where the client's listening port differs from the standard WireGuard port. --- docker-compose.yml | 1 + src/config.js | 1 + src/lib/WireGuard.js | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index eede356..daba03f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -15,6 +15,7 @@ services: # - PASSWORD=foobar123 # - PORT=51821 # - WG_PORT=51820 + # - WG_CONFIG_PORT=92820 # - WG_DEFAULT_ADDRESS=10.8.0.x # - WG_DEFAULT_DNS=1.1.1.1 # - WG_MTU=1420 diff --git a/src/config.js b/src/config.js index b76c534..bf7b84b 100644 --- a/src/config.js +++ b/src/config.js @@ -10,6 +10,7 @@ module.exports.WG_PATH = process.env.WG_PATH || '/etc/wireguard/'; module.exports.WG_DEVICE = process.env.WG_DEVICE || 'eth0'; module.exports.WG_HOST = process.env.WG_HOST; module.exports.WG_PORT = process.env.WG_PORT || '51820'; +module.exports.WG_CONFIG_PORT = process.env.WG_CONFIG_PORT || process.env.WG_PORT || '51820'; module.exports.WG_MTU = process.env.WG_MTU || null; module.exports.WG_PERSISTENT_KEEPALIVE = process.env.WG_PERSISTENT_KEEPALIVE || '0'; module.exports.WG_DEFAULT_ADDRESS = process.env.WG_DEFAULT_ADDRESS || '10.8.0.x'; diff --git a/src/lib/WireGuard.js b/src/lib/WireGuard.js index 8cdec7c..d4f32c5 100644 --- a/src/lib/WireGuard.js +++ b/src/lib/WireGuard.js @@ -13,6 +13,7 @@ const { WG_PATH, WG_HOST, WG_PORT, + WG_CONFIG_PORT, WG_MTU, WG_DEFAULT_DNS, WG_DEFAULT_ADDRESS, @@ -207,7 +208,7 @@ PublicKey = ${config.server.publicKey} ${client.preSharedKey ? `PresharedKey = ${client.preSharedKey}\n` : '' }AllowedIPs = ${WG_ALLOWED_IPS} PersistentKeepalive = ${WG_PERSISTENT_KEEPALIVE} -Endpoint = ${WG_HOST}:${WG_PORT}`; +Endpoint = ${WG_HOST}:${WG_CONFIG_PORT}`; } async getClientQRCodeSVG({ clientId }) {