diff --git a/backend/package.json b/backend/package.json index 3b49400..6baa53a 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.16.18", + "version": "2.16.19", "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 4602299..ac81a11 100644 --- a/backend/src/core/proxy-utils/parsers/index.js +++ b/backend/src/core/proxy-utils/parsers/index.js @@ -596,6 +596,9 @@ function URI_VLESS() { // mKCP 的伪装头部类型。当前可选值有 none / srtp / utp / wechat-video / dtls / wireguard。省略时默认值为 none,即不使用伪装头部,但不可以为空字符串。 proxy.headerType = params.headerType || 'none'; } + if (params.extra) { + proxy.extra = params.extra; + } } return proxy; diff --git a/backend/src/core/proxy-utils/producers/uri.js b/backend/src/core/proxy-utils/producers/uri.js index 564c1dc..428edb8 100644 --- a/backend/src/core/proxy-utils/producers/uri.js +++ b/backend/src/core/proxy-utils/producers/uri.js @@ -188,6 +188,10 @@ export default function URI_Producer() { if (proxy.flow) { flow = `&flow=${encodeURIComponent(proxy.flow)}`; } + let extra = ''; + if (proxy.extra) { + extra = `&extra=${encodeURIComponent(proxy.extra)}`; + } let vlessType = proxy.network; if ( proxy.network === 'ws' && @@ -254,7 +258,7 @@ export default function URI_Producer() { proxy.port }?security=${encodeURIComponent( security, - )}${vlessTransport}${alpn}${allowInsecure}${sni}${fp}${flow}${sid}${pbk}#${encodeURIComponent( + )}${vlessTransport}${alpn}${allowInsecure}${sni}${fp}${flow}${sid}${pbk}${extra}#${encodeURIComponent( proxy.name, )}`; break;