Skip to content

Commit ff5bb13

Browse files
committed
fix: 修复 sing-box server_ports 端口范围
1 parent 1b9e91e commit ff5bb13

2 files changed

Lines changed: 14 additions & 4 deletions

File tree

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sub-store",
3-
"version": "2.20.17",
3+
"version": "2.20.18",
44
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
55
"main": "src/main.js",
66
"scripts": {

backend/src/core/proxy-utils/producers/sing-box.js

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,15 @@ const hysteriaParser = (proxy = {}) => {
615615
};
616616
if (parsedProxy.server_port < 0 || parsedProxy.server_port > 65535)
617617
throw 'invalid port';
618+
if (proxy['hop-interval'])
619+
parsedProxy.hop_interval = /^\d+$/.test(proxy['hop-interval'])
620+
? `${proxy['hop-interval']}s`
621+
: proxy['hop-interval'];
622+
if (proxy['ports'])
623+
parsedProxy.server_ports = proxy['ports'].split(/\s*,\s*/).map((p) => {
624+
const range = p.replace(/\s*-\s*/g, ':');
625+
return range.includes(':') ? range : `${range}:${range}`;
626+
});
618627
if (proxy.auth_str) parsedProxy.auth_str = `${proxy.auth_str}`;
619628
if (proxy['auth-str']) parsedProxy.auth_str = `${proxy['auth-str']}`;
620629
if (proxy['fast-open']) parsedProxy.udp_fragment = true;
@@ -671,9 +680,10 @@ const hysteria2Parser = (proxy = {}) => {
671680
? `${proxy['hop-interval']}s`
672681
: proxy['hop-interval'];
673682
if (proxy['ports'])
674-
parsedProxy.server_ports = proxy['ports']
675-
.split(/\s*,\s*/)
676-
.map((p) => p.replace(/\s*-\s*/g, ':'));
683+
parsedProxy.server_ports = proxy['ports'].split(/\s*,\s*/).map((p) => {
684+
const range = p.replace(/\s*-\s*/g, ':');
685+
return range.includes(':') ? range : `${range}:${range}`;
686+
});
677687
if (proxy.up) parsedProxy.up_mbps = parseInt(`${proxy.up}`, 10);
678688
if (proxy.down) parsedProxy.down_mbps = parseInt(`${proxy.down}`, 10);
679689
if (proxy.obfs === 'salamander') parsedProxy.obfs.type = 'salamander';

0 commit comments

Comments
 (0)