From d015c7867e0827bc1744dd37569b31b9c2081d37 Mon Sep 17 00:00:00 2001 From: xream Date: Sun, 8 Dec 2024 11:24:46 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20SS=20URI=20?= =?UTF-8?q?=E8=A7=A3=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/package.json | 2 +- backend/src/core/proxy-utils/parsers/index.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/package.json b/backend/package.json index afb93a485..42a268f6c 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.437", + "version": "2.14.438", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/core/proxy-utils/parsers/index.js b/backend/src/core/proxy-utils/parsers/index.js index 9c54b17ed..85efe8d14 100644 --- a/backend/src/core/proxy-utils/parsers/index.js +++ b/backend/src/core/proxy-utils/parsers/index.js @@ -46,7 +46,9 @@ function URI_SS() { content = content.split('#')[0]; // strip proxy name // handle IPV4 and IPV6 let serverAndPortArray = content.match(/@([^/]*)(\/|$)/); - let userInfoStr = Base64.decode(content.split('@')[0]); + let userInfoStr = Base64.decode( + decodeURIComponent(content.split('@')[0]), + ); let query = ''; if (!serverAndPortArray) { if (content.includes('?')) { @@ -77,7 +79,6 @@ function URI_SS() { proxy.port = `${serverAndPort.substring(portIdx + 1)}`.match( /\d+/, )?.[0]; - const userInfo = userInfoStr.match(/(^.*?):(.*$)/); proxy.cipher = userInfo[1]; proxy.password = userInfo[2];