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];