diff --git a/backend/package.json b/backend/package.json index 273564f..0f15c29 100644 --- a/backend/package.json +++ b/backend/package.json @@ -1,6 +1,6 @@ { "name": "sub-store", - "version": "2.19.34", + "version": "2.19.35", "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/sing-box.js b/backend/src/core/proxy-utils/producers/sing-box.js index 160cf92..d79cb16 100644 --- a/backend/src/core/proxy-utils/producers/sing-box.js +++ b/backend/src/core/proxy-utils/producers/sing-box.js @@ -567,12 +567,13 @@ const hysteriaParser = (proxy = {}) => { if (proxy['fast-open']) parsedProxy.udp_fragment = true; // eslint-disable-next-line no-control-regex const reg = new RegExp('^[0-9]+[ \t]*[KMGT]*[Bb]ps$'); - if (reg.test(`${proxy.up}`)) { + // sing-box 跟文档不一致, 但是懒得全转, 只处理最常见的 Mbps + if (reg.test(`${proxy.up}`) && !`${proxy.up}`.endsWith('Mbps')) { parsedProxy.up = `${proxy.up}`; } else { parsedProxy.up_mbps = parseInt(`${proxy.up}`, 10); } - if (reg.test(`${proxy.down}`)) { + if (reg.test(`${proxy.down}`) && !`${proxy.down}`.endsWith('Mbps')) { parsedProxy.down = `${proxy.down}`; } else { parsedProxy.down_mbps = parseInt(`${proxy.down}`, 10);