surgio 3.11.1 → 3.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/utils/ss.js +36 -1
- package/build/utils/ss.js.map +1 -1
- package/package.json +1 -1
package/build/utils/ss.js
CHANGED
|
@@ -10,10 +10,45 @@ const parseSSUri = (str) => {
|
|
|
10
10
|
logger.debug('Shadowsocks URI', str);
|
|
11
11
|
const scheme = new url_1.URL(str);
|
|
12
12
|
const pluginString = scheme.searchParams.get('plugin');
|
|
13
|
-
|
|
13
|
+
// SIP002 兼容:若 URL 已经拆分出 username/password,则说明 userinfo 为明文形式
|
|
14
|
+
let userInfo;
|
|
15
|
+
if (scheme.password) {
|
|
16
|
+
userInfo = [
|
|
17
|
+
decodeURIComponent(scheme.username),
|
|
18
|
+
decodeURIComponent(scheme.password),
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
userInfo = (0, index_1.fromUrlSafeBase64)(decodeURIComponent(scheme.username)).split(':');
|
|
23
|
+
}
|
|
14
24
|
const pluginInfo = typeof pluginString === 'string'
|
|
15
25
|
? (0, index_1.decodeStringList)(pluginString.split(';'))
|
|
16
26
|
: {};
|
|
27
|
+
// SIP001 兼容:如果未能正确取得 method 或 password,且未出现 '@',尝试解析整段 Base64 主机名
|
|
28
|
+
if (!userInfo[0] || userInfo.length < 2) {
|
|
29
|
+
try {
|
|
30
|
+
const legacyStr = (0, index_1.fromUrlSafeBase64)(scheme.hostname);
|
|
31
|
+
// legacyStr 形如 method:password@host:port
|
|
32
|
+
const atIndex = legacyStr.indexOf('@');
|
|
33
|
+
if (atIndex > 0) {
|
|
34
|
+
const [cred, hostPort] = [
|
|
35
|
+
legacyStr.slice(0, atIndex),
|
|
36
|
+
legacyStr.slice(atIndex + 1),
|
|
37
|
+
];
|
|
38
|
+
const [legacyMethod, legacyPassword] = cred.split(':');
|
|
39
|
+
const [legacyHost, legacyPort] = hostPort.split(':');
|
|
40
|
+
if (legacyMethod && legacyPassword && legacyHost && legacyPort) {
|
|
41
|
+
userInfo = [legacyMethod, legacyPassword];
|
|
42
|
+
// 覆盖 hostname、port
|
|
43
|
+
scheme.hostname = legacyHost;
|
|
44
|
+
scheme.port = legacyPort;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (_) {
|
|
49
|
+
// ignore
|
|
50
|
+
}
|
|
51
|
+
}
|
|
17
52
|
return {
|
|
18
53
|
type: types_1.NodeTypeEnum.Shadowsocks,
|
|
19
54
|
nodeName: decodeURIComponent(scheme.hash.replace('#', '')),
|
package/build/utils/ss.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ss.js","sourceRoot":"","sources":["../../src/utils/ss.ts"],"names":[],"mappings":";;;AAAA,6BAAyB;AACzB,2CAA6C;AAE7C,oCAA8D;AAE9D,mCAA6D;AAE7D,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAA;AAEpD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAyB,EAAE;IAC/D,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;IAEpC,MAAM,MAAM,GAAG,IAAI,SAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"ss.js","sourceRoot":"","sources":["../../src/utils/ss.ts"],"names":[],"mappings":"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"}
|