From 797ba6f601825aa966d51366c6b708c91c326f49 Mon Sep 17 00:00:00 2001 From: xream Date: Thu, 9 Jan 2025 09:30:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=20Loon=20Shadow=20TLS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/package.json | 2 +- backend/src/core/proxy-utils/producers/loon.js | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/package.json b/backend/package.json index 472fb9e..01b4b9a 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.16.6", + "version": "2.16.7", "description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and ShadowRocket.", "main": "src/main.js", "scripts": { diff --git a/backend/src/core/proxy-utils/producers/loon.js b/backend/src/core/proxy-utils/producers/loon.js index 0779ad4..7689e6b 100644 --- a/backend/src/core/proxy-utils/producers/loon.js +++ b/backend/src/core/proxy-utils/producers/loon.js @@ -66,6 +66,8 @@ function shadowsocks(proxy, includeUnsupportedProxy) { `${proxy.name}=shadowsocks,${proxy.server},${proxy.port},${proxy.cipher},"${proxy.password}"`, ); + let isShadowTLS; + // obfs if (isPresent(proxy, 'plugin')) { if (proxy.plugin === 'obfs') { @@ -97,6 +99,7 @@ function shadowsocks(proxy, includeUnsupportedProxy) { ); // udp-port result.appendIfPresent(`,udp-port=${proxy['udp-port']}`, 'udp-port'); + isShadowTLS = true; } else if (['shadow-tls'].includes(proxy.plugin) && proxy['plugin-opts']) { const password = proxy['plugin-opts'].password; const host = proxy['plugin-opts'].host; @@ -119,6 +122,7 @@ function shadowsocks(proxy, includeUnsupportedProxy) { `,udp-port=${proxy['udp-port']}`, 'udp-port', ); + isShadowTLS = true; } } @@ -130,7 +134,7 @@ function shadowsocks(proxy, includeUnsupportedProxy) { result.append(`,udp=true`); } - if (!includeUnsupportedProxy && result.includes(',shadow-tls-password=')) { + if (!includeUnsupportedProxy && isShadowTLS) { throw new Error( `shadow-tls is not supported(请使用 includeUnsupportedProxy 参数)`, );