From 2ae286727e3863f51958ddf8a17dd8b9eb9159cc Mon Sep 17 00:00:00 2001 From: xream Date: Sun, 2 Feb 2025 18:56:56 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20mihomo=20snell=20=E5=BC=BA=E5=88=B6?= =?UTF-8?q?=E5=8E=BB=E9=99=A4=20udp=20=E5=AD=97=E6=AE=B5,=20=E9=98=B2?= =?UTF-8?q?=E6=AD=A2=E5=86=85=E6=A0=B8=E6=8A=A5=E9=94=99?= 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/clash.js | 2 ++ backend/src/core/proxy-utils/producers/clashmeta.js | 2 ++ backend/src/core/proxy-utils/producers/egern.js | 2 ++ backend/src/core/proxy-utils/producers/shadowrocket.js | 2 ++ backend/src/core/proxy-utils/producers/stash.js | 2 ++ 6 files changed, 11 insertions(+), 1 deletion(-) diff --git a/backend/package.json b/backend/package.json index 3ce700fec..099d63b7e 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.16.23", + "version": "2.16.24", "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/clash.js b/backend/src/core/proxy-utils/producers/clash.js index beb40d639..6a4e7824c 100644 --- a/backend/src/core/proxy-utils/producers/clash.js +++ b/backend/src/core/proxy-utils/producers/clash.js @@ -81,6 +81,8 @@ export default function Clash_Producer() { proxy['preshared-key'] = proxy['preshared-key'] ?? proxy['pre-shared-key']; proxy['pre-shared-key'] = proxy['preshared-key']; + } else if (proxy.type === 'snell') { + delete proxy.udp; } else if (proxy.type === 'vless') { if (isPresent(proxy, 'sni')) { proxy.servername = proxy.sni; diff --git a/backend/src/core/proxy-utils/producers/clashmeta.js b/backend/src/core/proxy-utils/producers/clashmeta.js index 838fbe6c7..b9bf47fc6 100644 --- a/backend/src/core/proxy-utils/producers/clashmeta.js +++ b/backend/src/core/proxy-utils/producers/clashmeta.js @@ -86,6 +86,8 @@ export default function ClashMeta_Producer() { proxy['preshared-key'] = proxy['preshared-key'] ?? proxy['pre-shared-key']; proxy['pre-shared-key'] = proxy['preshared-key']; + } else if (proxy.type === 'snell') { + delete proxy.udp; } else if (proxy.type === 'vless') { if (isPresent(proxy, 'sni')) { proxy.servername = proxy.sni; diff --git a/backend/src/core/proxy-utils/producers/egern.js b/backend/src/core/proxy-utils/producers/egern.js index 2b35d8aac..178cd47c7 100644 --- a/backend/src/core/proxy-utils/producers/egern.js +++ b/backend/src/core/proxy-utils/producers/egern.js @@ -249,6 +249,8 @@ export default function Egern_Producer() { // sni: proxy.sni, // skip_tls_verify: proxy['skip-cert-verify'], }; + } else if (proxy.type === 'snell') { + delete proxy.udp; } else if (proxy.type === 'vless') { if (proxy.network === 'ws') { proxy.transport = { diff --git a/backend/src/core/proxy-utils/producers/shadowrocket.js b/backend/src/core/proxy-utils/producers/shadowrocket.js index 24d7a412c..2995246a3 100644 --- a/backend/src/core/proxy-utils/producers/shadowrocket.js +++ b/backend/src/core/proxy-utils/producers/shadowrocket.js @@ -102,6 +102,8 @@ export default function ShadowRocket_Producer() { proxy['preshared-key'] = proxy['preshared-key'] ?? proxy['pre-shared-key']; proxy['pre-shared-key'] = proxy['preshared-key']; + } else if (proxy.type === 'snell') { + delete proxy.udp; } else if (proxy.type === 'vless') { if (isPresent(proxy, 'sni')) { proxy.servername = proxy.sni; diff --git a/backend/src/core/proxy-utils/producers/stash.js b/backend/src/core/proxy-utils/producers/stash.js index b3fd14708..71e7eb0c3 100644 --- a/backend/src/core/proxy-utils/producers/stash.js +++ b/backend/src/core/proxy-utils/producers/stash.js @@ -187,6 +187,8 @@ export default function Stash_Producer() { proxy['preshared-key'] = proxy['preshared-key'] ?? proxy['pre-shared-key']; proxy['pre-shared-key'] = proxy['preshared-key']; + } else if (proxy.type === 'snell') { + delete proxy.udp; } else if (proxy.type === 'vless') { if (isPresent(proxy, 'sni')) { proxy.servername = proxy.sni;