diff --git a/backend/package.json b/backend/package.json index b9a7361e9..982ef2544 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.14.5", + "version": "2.14.6", "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/stash.js b/backend/src/core/proxy-utils/producers/stash.js index 1c03db740..0935bce74 100644 --- a/backend/src/core/proxy-utils/producers/stash.js +++ b/backend/src/core/proxy-utils/producers/stash.js @@ -36,6 +36,13 @@ export default function Stash_Producer() { } else { proxy.alpn = ['h3']; } + // https://github.com/MetaCubeX/Clash.Meta/blob/Alpha/adapter/outbound/tuic.go#L197 + if ( + (!proxy.token || proxy.token.length === 0) && + !isPresent(proxy, 'version') + ) { + proxy.version = 5; + } } delete proxy['tls-fingerprint']; diff --git a/backend/src/core/proxy-utils/producers/surge.js b/backend/src/core/proxy-utils/producers/surge.js index f6de9f7db..c1fc560ca 100644 --- a/backend/src/core/proxy-utils/producers/surge.js +++ b/backend/src/core/proxy-utils/producers/surge.js @@ -251,8 +251,9 @@ function snell(proxy) { function tuic(proxy) { const result = new Result(proxy); + // https://github.com/MetaCubeX/Clash.Meta/blob/Alpha/adapter/outbound/tuic.go#L197 let type = proxy.type; - if (proxy.password && proxy.uuid) { + if (!proxy.token || proxy.token.length === 0) { type = 'tuic-v5'; } result.append(`${proxy.name}=${type},${proxy.server},${proxy.port}`);