From 81aaaab76db436d012e2432db5b34bf3418cd229 Mon Sep 17 00:00:00 2001 From: Vitaly Turovsky Date: Sat, 1 Feb 2025 00:58:46 +0300 Subject: [PATCH] fix(proxy): Improve proxy URL handling for non-standard ports --- src/index.ts | 4 ++++ src/react/ServersListProvider.tsx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 2c120bbd..6605331d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -300,6 +300,10 @@ async function connect (connectOptions: ConnectOptions) { if (connectOptions.proxy?.startsWith(':')) { connectOptions.proxy = `${location.protocol}//${location.hostname}${connectOptions.proxy}` } + if (connectOptions.proxy && location.port !== '80' && location.port !== '443' && !/:\d+$/.test(connectOptions.proxy)) { + const https = connectOptions.proxy.startsWith('https://') || location.protocol === 'https:' + connectOptions.proxy = `${connectOptions.proxy}:${https ? 443 : 80}` + } const proxy = cleanConnectIp(connectOptions.proxy, undefined) let { username } = connectOptions diff --git a/src/react/ServersListProvider.tsx b/src/react/ServersListProvider.tsx index bbe4bfb8..620cd91b 100644 --- a/src/react/ServersListProvider.tsx +++ b/src/react/ServersListProvider.tsx @@ -235,7 +235,7 @@ const Inner = ({ hidden, customServersList }: { hidden?: boolean, customServersL try { lastRequestStart = Date.now() if (signal.aborted) return - const response = await fetch(`https://api.mcstatus.io/v2/status/java/${server.ip}`, { + const response = await fetch(`https://api.mcstatus.io/v2/status/java/${server.ip}`, { // signal // DONT ADD SIGNAL IT WILL CRUSH JS RUNTIME }) const data: ServerResponse = await response.json()