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 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
- const userInfo = (0, index_1.fromUrlSafeBase64)(decodeURIComponent(scheme.username)).split(':');
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('#', '')),
@@ -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;IACtD,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAC3E,GAAG,CACJ,CAAA;IACD,MAAM,UAAU,GACd,OAAO,YAAY,KAAK,QAAQ;QAC9B,CAAC,CAAC,IAAA,wBAAgB,EAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAA;IAER,OAAO;QACL,IAAI,EAAE,oBAAY,CAAC,WAAW;QAC9B,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAC1D,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;QACrB,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAC1B,CAAC,CAAC;gBACE,IAAI,EAAE,UAAU,CAAC,IAAsB;gBACvC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;aACvC;YACH,CAAC,CAAC,IAAI,CAAC;QACT,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;YAC3B,CAAC,CAAC;gBACE,IAAI,EAAE,UAAU,CAAC,IAAsB;gBACvC,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,EAAE;aACvC;YACH,CAAC,CAAC,IAAI,CAAC;QACT,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC;YAC5B,CAAC,CAAC;gBACE,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACnC,QAAQ,EAAE,UAAU,CAAC,IAAI,GAAG,EAAE;aAC/B;YACH,CAAC,CAAC,IAAI,CAAC;KACV,CAAA;AACH,CAAC,CAAA;AAvCY,QAAA,UAAU,cAuCtB;AAED,+EAA+E;AAC/E,4FAA4F;AAC5F,kFAAkF;AAC3E,MAAM,sBAAsB,GAAG,CAAC,IAA0B,EAAU,EAAE;IAC3E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAA;IACX,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;IACrC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC;aAC7C,QAAQ,EAAE;aACV,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,CAClC,CAAA;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxB,CAAC,CAAA;AAfY,QAAA,sBAAsB,0BAelC"}
1
+ {"version":3,"file":"ss.js","sourceRoot":"","sources":["../../src/utils/ss.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "surgio",
3
3
  "description": "Generating rules for Surge, Clash, Quantumult like a PRO",
4
- "version": "3.11.1",
4
+ "version": "3.11.2",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
7
7
  "bin": {