From 11db3cfdac5e05385ba8c81c3f39824f4ad69bce Mon Sep 17 00:00:00 2001 From: xream Date: Wed, 28 Aug 2024 14:50:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20SurgeMac=20Shadowso?= =?UTF-8?q?cksR=20obfs-param?= 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 | 2 +- backend/src/core/proxy-utils/producers/surgemac.js | 11 +++++++---- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/backend/package.json b/backend/package.json index be4c500..acb41aa 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.362", + "version": "2.14.364", "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 105b663..3d88471 100644 --- a/backend/src/core/proxy-utils/parsers/index.js +++ b/backend/src/core/proxy-utils/parsers/index.js @@ -158,7 +158,7 @@ function URI_SSR() { for (const item of line) { let [key, val] = item.split('='); val = val.trim(); - if (val.length > 0) { + if (val.length > 0 && val !== '(null)') { other_params[key] = val; } } diff --git a/backend/src/core/proxy-utils/producers/surgemac.js b/backend/src/core/proxy-utils/producers/surgemac.js index 95a1bab..83e0c8e 100644 --- a/backend/src/core/proxy-utils/producers/surgemac.js +++ b/backend/src/core/proxy-utils/producers/surgemac.js @@ -1,6 +1,6 @@ -import { Result } from './utils'; +import { Result, isPresent } from './utils'; import Surge_Producer from './surge'; -import { isIPv4, isIPv6, isPresent } from '@/utils'; +import { isIPv4, isIPv6 } from '@/utils'; import $ from '@/core/app'; const targetPlatform = 'SurgeMac'; @@ -84,6 +84,7 @@ function shadowsocksr(proxy) { for (const [key, value] of Object.entries({ cipher: '-m', obfs: '-o', + 'obfs-param': '-g', password: '-k', port: '-p', protocol: '-O', @@ -92,8 +93,10 @@ function shadowsocksr(proxy) { 'local-port': '-l', 'local-address': '-b', })) { - external_proxy.args.push(value); - external_proxy.args.push(external_proxy[key]); + if (external_proxy[key] != null) { + external_proxy.args.push(value); + external_proxy.args.push(external_proxy[key]); + } } return external(external_proxy);