surgio 2.25.3 → 3.0.0-alpha.0

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.
Files changed (182) hide show
  1. package/bin/dev +17 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/run +8 -0
  4. package/bin/run.cmd +3 -0
  5. package/build/base-command.d.ts +18 -0
  6. package/build/base-command.js +74 -0
  7. package/build/commands/check.d.ts +10 -0
  8. package/build/commands/check.js +88 -0
  9. package/build/commands/clean-cache.d.ts +6 -0
  10. package/build/commands/clean-cache.js +29 -0
  11. package/build/commands/doctor.d.ts +6 -0
  12. package/build/commands/doctor.js +21 -0
  13. package/build/commands/generate.d.ts +7 -0
  14. package/build/commands/generate.js +93 -0
  15. package/build/commands/lint.d.ts +6 -0
  16. package/build/commands/lint.js +36 -0
  17. package/build/commands/new.d.ts +6 -0
  18. package/build/commands/new.js +36 -0
  19. package/build/commands/subscriptions.d.ts +7 -0
  20. package/build/commands/subscriptions.js +96 -0
  21. package/build/commands/upload.d.ts +6 -0
  22. package/build/commands/upload.js +87 -0
  23. package/build/config.d.ts +6 -0
  24. package/build/config.js +151 -0
  25. package/build/constant/constant.d.ts +17 -16
  26. package/build/constant/constant.js +3 -2
  27. package/build/constant/env.js +1 -1
  28. package/build/constant/error.js +1 -1
  29. package/build/constant/index.js +1 -1
  30. package/build/generate.d.ts +0 -1
  31. package/build/generate.js +3 -65
  32. package/build/generator/artifact.d.ts +299 -64
  33. package/build/generator/artifact.js +90 -92
  34. package/build/generator/index.d.ts +2 -0
  35. package/build/generator/index.js +19 -0
  36. package/build/generator/template.js +2 -6
  37. package/build/hooks/init.d.ts +3 -0
  38. package/build/hooks/init.js +32 -0
  39. package/build/index.d.ts +55 -53
  40. package/build/index.js +13 -51
  41. package/build/internal.d.ts +4 -0
  42. package/build/internal.js +21 -0
  43. package/build/misc/deprecation.d.ts +1 -6
  44. package/build/misc/deprecation.js +1 -8
  45. package/build/misc/flag_cn.js +1 -1
  46. package/build/provider/BlackSSLProvider.d.ts +4 -3
  47. package/build/provider/BlackSSLProvider.js +24 -16
  48. package/build/provider/ClashProvider.d.ts +7 -10
  49. package/build/provider/ClashProvider.js +165 -76
  50. package/build/provider/CustomProvider.d.ts +4 -3
  51. package/build/provider/CustomProvider.js +81 -50
  52. package/build/provider/Provider.d.ts +9 -22
  53. package/build/provider/Provider.js +31 -69
  54. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
  55. package/build/provider/ShadowsocksJsonSubscribeProvider.js +27 -21
  56. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
  57. package/build/provider/ShadowsocksSubscribeProvider.js +30 -27
  58. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
  59. package/build/provider/ShadowsocksrSubscribeProvider.js +30 -23
  60. package/build/provider/SsdProvider.d.ts +5 -8
  61. package/build/provider/SsdProvider.js +56 -39
  62. package/build/provider/TrojanProvider.d.ts +5 -8
  63. package/build/provider/TrojanProvider.js +37 -30
  64. package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
  65. package/build/provider/V2rayNSubscribeProvider.js +61 -33
  66. package/build/provider/index.d.ts +16 -2
  67. package/build/provider/index.js +12 -5
  68. package/build/provider/types.d.ts +10 -1
  69. package/build/provider/types.js +1 -1
  70. package/build/redis.js +1 -1
  71. package/build/types.d.ts +45 -236
  72. package/build/types.js +2 -1
  73. package/build/utils/cache.js +29 -27
  74. package/build/utils/clash.d.ts +204 -3
  75. package/build/utils/clash.js +247 -110
  76. package/build/utils/configurables.d.ts +71 -0
  77. package/build/utils/configurables.js +8 -0
  78. package/build/utils/constant.js +1 -1
  79. package/build/utils/dns.js +1 -1
  80. package/build/utils/doctor.d.ts +2 -0
  81. package/build/utils/doctor.js +38 -0
  82. package/build/utils/env-flag.js +2 -2
  83. package/build/utils/error-helper.d.ts +2 -2
  84. package/build/utils/error-helper.js +30 -16
  85. package/build/utils/filter.d.ts +46 -43
  86. package/build/utils/filter.js +51 -30
  87. package/build/utils/flag.js +1 -1
  88. package/build/utils/http-client.js +38 -5
  89. package/build/utils/index.d.ts +13 -21
  90. package/build/utils/index.js +98 -117
  91. package/build/utils/linter.js +5 -2
  92. package/build/utils/loon.d.ts +3 -2
  93. package/build/utils/loon.js +67 -5
  94. package/build/utils/quantumult.d.ts +3 -3
  95. package/build/utils/quantumult.js +190 -258
  96. package/build/utils/relayable-url.js +1 -1
  97. package/build/utils/remote-snippet.js +3 -4
  98. package/build/utils/ss.js +27 -17
  99. package/build/utils/ssr.js +3 -4
  100. package/build/utils/subscription.js +7 -7
  101. package/build/utils/surfboard.d.ts +3 -2
  102. package/build/utils/surfboard.js +142 -126
  103. package/build/utils/surge.d.ts +4 -2
  104. package/build/utils/surge.js +328 -300
  105. package/build/utils/time.d.ts +1 -0
  106. package/build/utils/time.js +6 -0
  107. package/build/utils/tmp-helper.js +8 -1
  108. package/build/utils/trojan.js +19 -11
  109. package/build/utils/v2ray.js +2 -2
  110. package/build/validators/artifact.d.ts +35 -0
  111. package/build/validators/artifact.js +17 -0
  112. package/build/validators/common.d.ts +121 -0
  113. package/build/validators/common.js +52 -0
  114. package/build/validators/filter.d.ts +10 -0
  115. package/build/validators/filter.js +15 -0
  116. package/build/validators/hooks.d.ts +7 -0
  117. package/build/validators/hooks.js +8 -0
  118. package/build/validators/http.d.ts +137 -0
  119. package/build/validators/http.js +19 -0
  120. package/build/validators/index.d.ts +15 -0
  121. package/build/validators/index.js +32 -0
  122. package/build/validators/provider.d.ts +109 -0
  123. package/build/validators/provider.js +41 -0
  124. package/build/validators/shadowsocks.d.ts +86 -0
  125. package/build/validators/shadowsocks.js +29 -0
  126. package/build/validators/shadowsocksr.d.ts +77 -0
  127. package/build/validators/shadowsocksr.js +19 -0
  128. package/build/validators/snell.d.ts +71 -0
  129. package/build/validators/snell.js +20 -0
  130. package/build/validators/socks5.d.ts +77 -0
  131. package/build/validators/socks5.js +19 -0
  132. package/build/validators/surgio-config.d.ts +307 -0
  133. package/build/validators/surgio-config.js +95 -0
  134. package/build/validators/trojan.d.ts +86 -0
  135. package/build/validators/trojan.js +15 -0
  136. package/build/validators/tuic.d.ts +301 -0
  137. package/build/validators/tuic.js +21 -0
  138. package/build/validators/vmess.d.ts +92 -0
  139. package/build/validators/vmess.js +29 -0
  140. package/build/validators/wireguard.d.ts +123 -0
  141. package/build/validators/wireguard.js +26 -0
  142. package/config.d.ts +1 -0
  143. package/config.js +1 -0
  144. package/constant.d.ts +1 -0
  145. package/constant.js +1 -0
  146. package/generator.d.ts +1 -0
  147. package/generator.js +1 -0
  148. package/hygen-template/artifact/new/index.js +15 -15
  149. package/hygen-template/provider/new/index.js +8 -7
  150. package/hygen-template/template/new/index.js +3 -3
  151. package/index.d.ts +1 -0
  152. package/index.js +1 -0
  153. package/internal.d.ts +1 -0
  154. package/internal.js +1 -0
  155. package/package.json +112 -75
  156. package/provider.d.ts +1 -0
  157. package/provider.js +1 -0
  158. package/utils.d.ts +1 -0
  159. package/utils.js +1 -0
  160. package/bin/surgio.js +0 -8
  161. package/build/command/check.d.ts +0 -9
  162. package/build/command/check.js +0 -79
  163. package/build/command/clean-cache.d.ts +0 -8
  164. package/build/command/clean-cache.js +0 -43
  165. package/build/command/doctor.d.ts +0 -9
  166. package/build/command/doctor.js +0 -63
  167. package/build/command/generate.d.ts +0 -8
  168. package/build/command/generate.js +0 -64
  169. package/build/command/lint.d.ts +0 -7
  170. package/build/command/lint.js +0 -42
  171. package/build/command/new.d.ts +0 -7
  172. package/build/command/new.js +0 -44
  173. package/build/command/subscriptions.d.ts +0 -10
  174. package/build/command/subscriptions.js +0 -87
  175. package/build/command/upload.d.ts +0 -9
  176. package/build/command/upload.js +0 -101
  177. package/build/utils/command.d.ts +0 -2
  178. package/build/utils/command.js +0 -23
  179. package/build/utils/config.d.ts +0 -6
  180. package/build/utils/config.js +0 -245
  181. package/build/utils/patch-proxy.d.ts +0 -1
  182. package/build/utils/patch-proxy.js +0 -19
package/build/utils/ss.js CHANGED
@@ -14,22 +14,32 @@ const parseSSUri = (str) => {
14
14
  const pluginInfo = typeof pluginString === 'string'
15
15
  ? (0, index_1.decodeStringList)(pluginString.split(';'))
16
16
  : {};
17
- return Object.assign(Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Shadowsocks, nodeName: decodeURIComponent(scheme.hash.replace('#', '')), hostname: scheme.hostname, port: scheme.port, method: userInfo[0], password: userInfo[1] }, (pluginInfo['obfs-local']
18
- ? {
19
- obfs: pluginInfo.obfs,
20
- 'obfs-host': pluginInfo['obfs-host'] + '',
21
- }
22
- : null)), (pluginInfo['simple-obfs']
23
- ? {
24
- obfs: pluginInfo.obfs,
25
- 'obfs-host': pluginInfo['obfs-host'] + '',
26
- }
27
- : null)), (pluginInfo['v2ray-plugin']
28
- ? {
29
- obfs: pluginInfo.tls ? 'wss' : 'ws',
30
- 'obfs-host': pluginInfo.host + '',
31
- }
32
- : null));
17
+ return {
18
+ type: types_1.NodeTypeEnum.Shadowsocks,
19
+ nodeName: decodeURIComponent(scheme.hash.replace('#', '')),
20
+ hostname: scheme.hostname,
21
+ port: scheme.port,
22
+ method: userInfo[0],
23
+ password: userInfo[1],
24
+ ...(pluginInfo['obfs-local']
25
+ ? {
26
+ obfs: pluginInfo.obfs,
27
+ obfsHost: pluginInfo['obfs-host'] + '',
28
+ }
29
+ : null),
30
+ ...(pluginInfo['simple-obfs']
31
+ ? {
32
+ obfs: pluginInfo.obfs,
33
+ obfsHost: pluginInfo['obfs-host'] + '',
34
+ }
35
+ : null),
36
+ ...(pluginInfo['v2ray-plugin']
37
+ ? {
38
+ obfs: pluginInfo.tls ? 'wss' : 'ws',
39
+ obfsHost: pluginInfo.host + '',
40
+ }
41
+ : null),
42
+ };
33
43
  };
34
44
  exports.parseSSUri = parseSSUri;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQThDO0FBQzlDLDZCQUEwQjtBQUUxQixvQ0FBK0Q7QUFDL0QsbUNBQThEO0FBRTlELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7QUFFckQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQXlCLEVBQUU7SUFDL0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RCxNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFpQixFQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDM0UsR0FBRyxDQUNKLENBQUM7SUFDRixNQUFNLFVBQVUsR0FDZCxPQUFPLFlBQVksS0FBSyxRQUFRO1FBQzlCLENBQUMsQ0FBQyxJQUFBLHdCQUFnQixFQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUVULG1EQUNFLElBQUksRUFBRSxvQkFBWSxDQUFDLFdBQVcsRUFDOUIsUUFBUSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUMxRCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFDekIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQ2pCLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQ25CLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQ2xCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUMxQixDQUFDLENBQUM7WUFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQXNCO1lBQ3ZDLFdBQVcsRUFBRSxVQUFVLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtTQUMxQztRQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsR0FDTixDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDM0IsQ0FBQyxDQUFDO1lBQ0UsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFzQjtZQUN2QyxXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7U0FDMUM7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1FBQzVCLENBQUMsQ0FBQztZQUNFLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDbkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRTtTQUNsQztRQUNILENBQUMsQ0FBQyxJQUFJLENBQUMsRUFDVDtBQUNKLENBQUMsQ0FBQztBQXZDVyxRQUFBLFVBQVUsY0F1Q3JCIn0=
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQTZDO0FBQzdDLDZCQUF5QjtBQUV6QixvQ0FBOEQ7QUFDOUQsbUNBQTZEO0FBRTdELE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUE7QUFFcEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQXlCLEVBQUU7SUFDL0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUVwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLFNBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUMzQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUN0RCxNQUFNLFFBQVEsR0FBRyxJQUFBLHlCQUFpQixFQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FDM0UsR0FBRyxDQUNKLENBQUE7SUFDRCxNQUFNLFVBQVUsR0FDZCxPQUFPLFlBQVksS0FBSyxRQUFRO1FBQzlCLENBQUMsQ0FBQyxJQUFBLHdCQUFnQixFQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQyxDQUFDLEVBQUUsQ0FBQTtJQUVSLE9BQU87UUFDTCxJQUFJLEVBQUUsb0JBQVksQ0FBQyxXQUFXO1FBQzlCLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUQsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtRQUNqQixNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNuQixRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUNyQixHQUFHLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztZQUMxQixDQUFDLENBQUM7Z0JBQ0UsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFzQjtnQkFDdkMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFO2FBQ3ZDO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULEdBQUcsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQzNCLENBQUMsQ0FBQztnQkFDRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQXNCO2dCQUN2QyxRQUFRLEVBQUUsVUFBVSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7YUFDdkM7WUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ1QsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7WUFDNUIsQ0FBQyxDQUFDO2dCQUNFLElBQUksRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUk7Z0JBQ25DLFFBQVEsRUFBRSxVQUFVLENBQUMsSUFBSSxHQUFHLEVBQUU7YUFDL0I7WUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDO0tBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQXZDWSxRQUFBLFVBQVUsY0F1Q3RCIn0=
@@ -11,7 +11,6 @@ const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:ssr' });
11
11
  * ssr://xxx:xxx:xxx:xxx:xxx:xxx
12
12
  */
13
13
  const parseSSRUri = (str) => {
14
- var _a, _b;
15
14
  const scheme = (0, index_1.fromUrlSafeBase64)(str.replace('ssr://', ''));
16
15
  const configArray = scheme.split('/');
17
16
  const basicInfo = configArray[0].split(':');
@@ -38,8 +37,8 @@ const parseSSRUri = (str) => {
38
37
  method,
39
38
  obfs,
40
39
  password,
41
- protoparam: (0, index_1.fromUrlSafeBase64)((_a = extras.protoparam) !== null && _a !== void 0 ? _a : '').replace(/\s/g, ''),
42
- obfsparam: (0, index_1.fromUrlSafeBase64)((_b = extras.obfsparam) !== null && _b !== void 0 ? _b : '').replace(/\s/g, ''),
40
+ protoparam: (0, index_1.fromUrlSafeBase64)(extras.protoparam ?? '').replace(/\s/g, ''),
41
+ obfsparam: (0, index_1.fromUrlSafeBase64)(extras.obfsparam ?? '').replace(/\s/g, ''),
43
42
  };
44
43
  };
45
44
  exports.parseSSRUri = parseSSRUri;
@@ -51,4 +50,4 @@ function getUrlParameters(url) {
51
50
  });
52
51
  return result;
53
52
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3Nzci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBOEM7QUFFOUMsb0NBQWdFO0FBQ2hFLG1DQUE0QztBQUU1QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO0FBRTdEOzs7O0dBSUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBMEIsRUFBRTs7SUFDakUsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUU1QyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVoQyxRQUFRO0lBQ1IsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRXBCLE1BQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxNQUFNLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDLENBQUM7SUFDOUQsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDO0lBQ3ZDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQVksQ0FBQztJQUN6QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUM7SUFDM0MsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU87UUFDN0IsQ0FBQyxDQUFDLElBQUEseUJBQWlCLEVBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUNuQyxDQUFDLENBQUMsR0FBRyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7SUFFMUIsT0FBTztRQUNMLElBQUksRUFBRSxvQkFBWSxDQUFDLFlBQVk7UUFDL0IsUUFBUTtRQUNSLFFBQVE7UUFDUixJQUFJO1FBQ0osUUFBUTtRQUNSLE1BQU07UUFDTixJQUFJO1FBQ0osUUFBUTtRQUNSLFVBQVUsRUFBRSxJQUFBLHlCQUFpQixFQUFDLE1BQUEsTUFBTSxDQUFDLFVBQVUsbUNBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDekUsU0FBUyxFQUFFLElBQUEseUJBQWlCLEVBQUMsTUFBQSxNQUFNLENBQUMsU0FBUyxtQ0FBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztLQUN4RSxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBbENXLFFBQUEsV0FBVyxlQWtDdEI7QUFFRixTQUFTLGdCQUFnQixDQUFDLEdBQVc7SUFDbkMsTUFBTSxNQUFNLEdBQTJCLEVBQUUsQ0FBQztJQUMxQyxHQUFHLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN2RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDIn0=
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3NyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Nzci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBNkM7QUFFN0Msb0NBQStEO0FBQy9ELG1DQUEyQztBQUUzQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO0FBRTVEOzs7O0dBSUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBMEIsRUFBRTtJQUNqRSxNQUFNLE1BQU0sR0FBRyxJQUFBLHlCQUFpQixFQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDM0QsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNyQyxNQUFNLFNBQVMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTNDLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBRS9CLFFBQVE7SUFDUixXQUFXLENBQUMsS0FBSyxFQUFFLENBQUE7SUFFbkIsTUFBTSxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN6QyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDL0QsTUFBTSxRQUFRLEdBQUcsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUMsQ0FBQTtJQUM3RCxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUE7SUFDdEMsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBWSxDQUFBO0lBQ3hDLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQVksQ0FBQTtJQUMxQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFZLENBQUE7SUFDdEMsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNwQyxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTztRQUM3QixDQUFDLENBQUMsSUFBQSx5QkFBaUIsRUFBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxHQUFHLFFBQVEsSUFBSSxJQUFJLEVBQUUsQ0FBQTtJQUV6QixPQUFPO1FBQ0wsSUFBSSxFQUFFLG9CQUFZLENBQUMsWUFBWTtRQUMvQixRQUFRO1FBQ1IsUUFBUTtRQUNSLElBQUk7UUFDSixRQUFRO1FBQ1IsTUFBTTtRQUNOLElBQUk7UUFDSixRQUFRO1FBQ1IsVUFBVSxFQUFFLElBQUEseUJBQWlCLEVBQUMsTUFBTSxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUN6RSxTQUFTLEVBQUUsSUFBQSx5QkFBaUIsRUFBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDO0tBQ3hFLENBQUE7QUFDSCxDQUFDLENBQUE7QUFsQ1ksUUFBQSxXQUFXLGVBa0N2QjtBQUVELFNBQVMsZ0JBQWdCLENBQUMsR0FBVztJQUNuQyxNQUFNLE1BQU0sR0FBMkIsRUFBRSxDQUFBO0lBQ3pDLEdBQUcsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDYixPQUFPLE1BQU0sQ0FBQTtJQUNmLENBQUMsQ0FBQyxDQUFBO0lBQ0YsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDIn0=
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.formatSubscriptionUserInfo = exports.parseSubscriptionNode = exports.parseSubscriptionUserInfo = void 0;
7
- const filesize_1 = __importDefault(require("filesize"));
7
+ const filesize_1 = require("filesize");
8
8
  const bytes_1 = __importDefault(require("bytes"));
9
9
  const date_fns_1 = require("date-fns");
10
10
  const parseSubscriptionUserInfo = (str) => {
@@ -51,17 +51,17 @@ const parseSubscriptionNode = (dataString, expireString) => {
51
51
  exports.parseSubscriptionNode = parseSubscriptionNode;
52
52
  const formatSubscriptionUserInfo = (userInfo) => {
53
53
  return {
54
- upload: (0, filesize_1.default)(userInfo.upload, { base: 2 }),
55
- download: (0, filesize_1.default)(userInfo.download, { base: 2 }),
56
- used: (0, filesize_1.default)(userInfo.upload + userInfo.download, { base: 2 }),
57
- left: (0, filesize_1.default)(userInfo.total - userInfo.upload - userInfo.download, {
54
+ upload: (0, filesize_1.filesize)(userInfo.upload, { base: 2 }),
55
+ download: (0, filesize_1.filesize)(userInfo.download, { base: 2 }),
56
+ used: (0, filesize_1.filesize)(userInfo.upload + userInfo.download, { base: 2 }),
57
+ left: (0, filesize_1.filesize)(userInfo.total - userInfo.upload - userInfo.download, {
58
58
  base: 2,
59
59
  }),
60
- total: (0, filesize_1.default)(userInfo.total, { base: 2 }),
60
+ total: (0, filesize_1.filesize)(userInfo.total, { base: 2 }),
61
61
  expire: userInfo.expire
62
62
  ? `${(0, date_fns_1.format)(new Date(userInfo.expire * 1000), 'yyyy-MM-dd')} (${(0, date_fns_1.formatDistanceToNow)(new Date(userInfo.expire * 1000))})`
63
63
  : '无数据',
64
64
  };
65
65
  };
66
66
  exports.formatSubscriptionUserInfo = formatSubscriptionUserInfo;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3N1YnNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3REFBZ0M7QUFDaEMsa0RBQTBCO0FBQzFCLHVDQUF1RDtBQUloRCxNQUFNLHlCQUF5QixHQUFHLENBQ3ZDLEdBQVcsRUFDVyxFQUFFO0lBQ3hCLE1BQU0sR0FBRyxHQUFHO1FBQ1YsTUFBTSxFQUFFLENBQUM7UUFDVCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUM7S0FDVixDQUFDO0lBRUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUF2QlcsUUFBQSx5QkFBeUIsNkJBdUJwQztBQUVLLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsVUFBa0IsRUFDbEIsWUFBb0IsRUFDYyxFQUFFO0lBQ3BDLG1DQUFtQztJQUNuQywyQ0FBMkM7SUFFM0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFckQsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFFO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUVyRSxPQUFPO1lBQ0wsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsS0FBSyxHQUFHLFFBQVE7WUFDMUIsS0FBSztZQUNMLE1BQU07U0FDUCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQyxDQUFDO0FBekJXLFFBQUEscUJBQXFCLHlCQXlCaEM7QUFFSyxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLFFBQThCLEVBUTlCLEVBQUU7SUFDRixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUEsa0JBQVEsRUFBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlDLFFBQVEsRUFBRSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxJQUFJLEVBQUUsSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxJQUFJLEVBQUUsSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ25FLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUNGLEtBQUssRUFBRSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDckIsQ0FBQyxDQUFDLEdBQUcsSUFBQSxpQkFBTSxFQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQ2hDLFlBQVksQ0FDYixLQUFLLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHO1lBQ2hFLENBQUMsQ0FBQyxLQUFLO0tBQ1YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpCVyxRQUFBLDBCQUEwQiw4QkF5QnJDIn0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N1YnNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1Q0FBbUM7QUFDbkMsa0RBQXlCO0FBQ3pCLHVDQUFzRDtBQUkvQyxNQUFNLHlCQUF5QixHQUFHLENBQ3ZDLEdBQVcsRUFDVyxFQUFFO0lBQ3hCLE1BQU0sR0FBRyxHQUFHO1FBQ1YsTUFBTSxFQUFFLENBQUM7UUFDVCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUM7S0FDVixDQUFBO0lBRUQsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTTtTQUNQO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUM1QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7UUFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtTQUM3QztJQUNILENBQUMsQ0FBQyxDQUFBO0lBRUYsT0FBTyxHQUFHLENBQUE7QUFDWixDQUFDLENBQUE7QUF2QlksUUFBQSx5QkFBeUIsNkJBdUJyQztBQUVNLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsVUFBa0IsRUFDbEIsWUFBb0IsRUFDYyxFQUFFO0lBQ3BDLG1DQUFtQztJQUNuQywyQ0FBMkM7SUFFM0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO0lBQ3hFLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUE7SUFFcEQsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFFO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUE7UUFDMUMsTUFBTSxRQUFRLEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUMxQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtRQUVwRSxPQUFPO1lBQ0wsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsS0FBSyxHQUFHLFFBQVE7WUFDMUIsS0FBSztZQUNMLE1BQU07U0FDUCxDQUFBO0tBQ0Y7U0FBTTtRQUNMLE9BQU8sU0FBUyxDQUFBO0tBQ2pCO0FBQ0gsQ0FBQyxDQUFBO0FBekJZLFFBQUEscUJBQXFCLHlCQXlCakM7QUFFTSxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLFFBQThCLEVBUTlCLEVBQUU7SUFDRixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUEsbUJBQVEsRUFBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFXO1FBQ3hELFFBQVEsRUFBRSxJQUFBLG1CQUFRLEVBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBVztRQUM1RCxJQUFJLEVBQUUsSUFBQSxtQkFBUSxFQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBVztRQUMxRSxJQUFJLEVBQUUsSUFBQSxtQkFBUSxFQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ25FLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBVztRQUNaLEtBQUssRUFBRSxJQUFBLG1CQUFRLEVBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBVztRQUN0RCxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDckIsQ0FBQyxDQUFDLEdBQUcsSUFBQSxpQkFBTSxFQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQ2hDLFlBQVksQ0FDYixLQUFLLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHO1lBQ2hFLENBQUMsQ0FBQyxLQUFLO0tBQ1YsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQXpCWSxRQUFBLDBCQUEwQiw4QkF5QnRDIn0=
@@ -1,6 +1,7 @@
1
- import { NodeFilterType, PossibleNodeConfigType, SortedNodeNameFilterType } from '../types';
1
+ import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types';
2
2
  export declare const getSurfboardExtendHeaders: (wsHeaders: Record<string, string>) => string;
3
3
  /**
4
4
  * @see https://manual.nssurge.com/policy/proxy.html
5
5
  */
6
- export declare const getSurfboardNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeNameFilterType) => string;
6
+ export declare const getSurfboardNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
7
+ export declare const getSurfboardNodeNames: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSurfboardNodes = exports.getSurfboardExtendHeaders = void 0;
6
+ exports.getSurfboardNodeNames = exports.getSurfboardNodes = exports.getSurfboardExtendHeaders = void 0;
7
7
  const logger_1 = require("@surgio/logger");
8
8
  const lodash_1 = __importDefault(require("lodash"));
9
9
  const constant_1 = require("../constant");
@@ -21,145 +21,161 @@ exports.getSurfboardExtendHeaders = getSurfboardExtendHeaders;
21
21
  * @see https://manual.nssurge.com/policy/proxy.html
22
22
  */
23
23
  const getSurfboardNodes = function (list, filter) {
24
- // istanbul ignore next
25
- if (arguments.length === 2 && typeof filter === 'undefined') {
26
- throw new Error(constant_1.ERR_INVALID_FILTER);
27
- }
28
24
  const result = (0, filter_1.applyFilter)(list, filter)
29
- .map((nodeConfig) => {
30
- var _a;
31
- switch (nodeConfig.type) {
32
- case types_1.NodeTypeEnum.Shadowsocks: {
33
- const config = nodeConfig;
34
- if (config.obfs && ['ws', 'wss'].includes(config.obfs)) {
35
- logger.warn(`不支持为 Surfboard 生成 v2ray-plugin Shadowsocks 节点,节点 ${nodeConfig.nodeName} 会被省略`);
36
- return void 0;
37
- }
38
- return [
39
- config.nodeName,
25
+ .map(nodeListMapper)
26
+ .filter((item) => item !== undefined)
27
+ .map((item) => item[1]);
28
+ return result.join('\n');
29
+ };
30
+ exports.getSurfboardNodes = getSurfboardNodes;
31
+ const getSurfboardNodeNames = function (list, filter) {
32
+ return (0, filter_1.applyFilter)(list, filter)
33
+ .map(nodeListMapper)
34
+ .filter((item) => item !== undefined)
35
+ .map((item) => item[0])
36
+ .join(', ');
37
+ };
38
+ exports.getSurfboardNodeNames = getSurfboardNodeNames;
39
+ function nodeListMapper(nodeConfig) {
40
+ switch (nodeConfig.type) {
41
+ case types_1.NodeTypeEnum.Shadowsocks: {
42
+ if (nodeConfig.obfs && ['ws', 'wss'].includes(nodeConfig.obfs)) {
43
+ logger.warn(`不支持为 Surfboard 生成 v2ray-plugin 的 Shadowsocks 节点,节点 ${nodeConfig.nodeName} 会被省略`);
44
+ return void 0;
45
+ }
46
+ return [
47
+ nodeConfig.nodeName,
48
+ [
49
+ nodeConfig.nodeName,
40
50
  [
41
51
  'ss',
42
- config.hostname,
43
- config.port,
44
- 'encrypt-method=' + config.method,
45
- ...(0, index_1.pickAndFormatStringList)(config, [
46
- 'password',
47
- 'udp-relay',
48
- 'obfs',
49
- 'obfs-host',
50
- ]),
52
+ nodeConfig.hostname,
53
+ nodeConfig.port,
54
+ 'encrypt-method=' + nodeConfig.method,
55
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['password', 'udpRelay', 'obfs', 'obfsHost'], {
56
+ keyFormat: 'kebabCase',
57
+ }),
51
58
  ].join(', '),
52
- ].join(' = ');
53
- }
54
- case types_1.NodeTypeEnum.HTTPS: {
55
- const config = nodeConfig;
56
- return [
57
- config.nodeName,
59
+ ].join(' = '),
60
+ ];
61
+ }
62
+ case types_1.NodeTypeEnum.HTTPS: {
63
+ return [
64
+ nodeConfig.nodeName,
65
+ [
66
+ nodeConfig.nodeName,
58
67
  [
59
68
  'https',
60
- config.hostname,
61
- config.port,
62
- config.username,
63
- config.password,
64
- ...(typeof config.skipCertVerify === 'boolean'
65
- ? [`skip-cert-verify=${config.skipCertVerify}`]
69
+ nodeConfig.hostname,
70
+ nodeConfig.port,
71
+ nodeConfig.username,
72
+ nodeConfig.password,
73
+ ...(typeof nodeConfig.skipCertVerify === 'boolean'
74
+ ? [`skip-cert-verify=${nodeConfig.skipCertVerify}`]
66
75
  : []),
67
- ...(0, index_1.pickAndFormatStringList)(config, ['sni']),
76
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['sni']),
68
77
  ].join(', '),
69
- ].join(' = ');
70
- }
71
- case types_1.NodeTypeEnum.HTTP: {
72
- const config = nodeConfig;
73
- return [
74
- config.nodeName,
78
+ ].join(' = '),
79
+ ];
80
+ }
81
+ case types_1.NodeTypeEnum.HTTP: {
82
+ return [
83
+ nodeConfig.nodeName,
84
+ [
85
+ nodeConfig.nodeName,
75
86
  [
76
87
  'http',
77
- config.hostname,
78
- config.port,
79
- config.username,
80
- config.password,
88
+ nodeConfig.hostname,
89
+ nodeConfig.port,
90
+ nodeConfig.username,
91
+ nodeConfig.password,
81
92
  ].join(', '),
82
- ].join(' = ');
93
+ ].join(' = '),
94
+ ];
95
+ }
96
+ case types_1.NodeTypeEnum.Vmess: {
97
+ const result = [
98
+ 'vmess',
99
+ nodeConfig.hostname,
100
+ nodeConfig.port,
101
+ `username=${nodeConfig.uuid}`,
102
+ ];
103
+ if (['chacha20-ietf-poly1305', 'aes-128-gcm'].includes(nodeConfig.method)) {
104
+ result.push(`encrypt-method=${nodeConfig.method}`);
83
105
  }
84
- case types_1.NodeTypeEnum.Vmess: {
85
- const config = nodeConfig;
86
- const configList = [
87
- 'vmess',
88
- config.hostname,
89
- config.port,
90
- `username=${config.uuid}`,
91
- ];
92
- if (['chacha20-ietf-poly1305', 'aes-128-gcm'].includes(config.method)) {
93
- configList.push(`encrypt-method=${config.method}`);
94
- }
95
- if (config.network === 'ws') {
96
- configList.push('ws=true');
97
- configList.push(`ws-path=${config.path}`);
98
- configList.push('ws-headers=' +
99
- JSON.stringify((0, exports.getSurfboardExtendHeaders)(Object.assign({ host: config.host || config.hostname, 'user-agent': constant_1.OBFS_UA }, lodash_1.default.omit(config.wsHeaders, ['host'])))));
100
- }
101
- if (config.tls) {
102
- configList.push('tls=true', ...(typeof config.skipCertVerify === 'boolean'
103
- ? [`skip-cert-verify=${config.skipCertVerify}`]
104
- : []), ...(config.host ? [`sni=${config.host}`] : []));
105
- }
106
- if ((_a = nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.surfboardConfig) === null || _a === void 0 ? void 0 : _a.vmessAEAD) {
107
- configList.push('vmess-aead=true');
108
- }
109
- else {
110
- configList.push('vmess-aead=false');
111
- }
112
- return [config.nodeName, configList.join(', ')].join(' = ');
106
+ if (nodeConfig.network === 'ws') {
107
+ result.push('ws=true');
108
+ result.push(`ws-path=${nodeConfig.path}`);
109
+ result.push('ws-headers=' +
110
+ JSON.stringify((0, exports.getSurfboardExtendHeaders)({
111
+ host: nodeConfig.host || nodeConfig.hostname,
112
+ 'user-agent': constant_1.OBFS_UA,
113
+ ...lodash_1.default.omit(nodeConfig.wsHeaders, ['host']), // host 本质上是一个头信息,所以可能存在冲突的情况。以 host 属性为准。
114
+ })));
113
115
  }
114
- case types_1.NodeTypeEnum.Trojan: {
115
- const configList = [
116
- 'trojan',
117
- nodeConfig.hostname,
118
- `${nodeConfig.port}`,
119
- `password=${nodeConfig.password}`,
120
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['sni']),
121
- ...(typeof nodeConfig.skipCertVerify === 'boolean'
122
- ? [`skip-cert-verify=${nodeConfig.skipCertVerify}`]
123
- : []),
124
- ];
125
- if (nodeConfig.network === 'ws') {
126
- configList.push('ws=true');
127
- configList.push(`ws-path=${nodeConfig.wsPath}`);
128
- if (nodeConfig.wsHeaders) {
129
- configList.push('ws-headers=' +
130
- JSON.stringify((0, exports.getSurfboardExtendHeaders)(nodeConfig.wsHeaders)));
131
- }
132
- }
133
- return [nodeConfig.nodeName, configList.join(', ')].join(' = ');
116
+ if (nodeConfig.tls) {
117
+ result.push('tls=true', ...(typeof nodeConfig.skipCertVerify === 'boolean'
118
+ ? [`skip-cert-verify=${nodeConfig.skipCertVerify}`]
119
+ : []), ...(nodeConfig.host ? [`sni=${nodeConfig.host}`] : []));
134
120
  }
135
- case types_1.NodeTypeEnum.Socks5: {
136
- const config = [
137
- nodeConfig.tls === true ? 'socks5-tls' : 'socks5',
138
- nodeConfig.hostname,
139
- nodeConfig.port,
140
- ...(0, index_1.pickAndFormatStringList)(nodeConfig, [
141
- 'username',
142
- 'password',
143
- 'sni',
144
- ]),
145
- ];
146
- if (nodeConfig.tls === true) {
147
- config.push(...(typeof nodeConfig.skipCertVerify === 'boolean'
148
- ? [`skip-cert-verify=${nodeConfig.skipCertVerify}`]
149
- : []), ...(typeof nodeConfig.clientCert === 'string'
150
- ? [`client-cert=${nodeConfig.clientCert}`]
151
- : []));
121
+ if (nodeConfig?.surfboardConfig?.vmessAEAD) {
122
+ result.push('vmess-aead=true');
123
+ }
124
+ else {
125
+ result.push('vmess-aead=false');
126
+ }
127
+ return [
128
+ nodeConfig.nodeName,
129
+ [nodeConfig.nodeName, result.join(', ')].join(' = '),
130
+ ];
131
+ }
132
+ case types_1.NodeTypeEnum.Trojan: {
133
+ const result = [
134
+ 'trojan',
135
+ nodeConfig.hostname,
136
+ `${nodeConfig.port}`,
137
+ `password=${nodeConfig.password}`,
138
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['sni']),
139
+ ...(typeof nodeConfig.skipCertVerify === 'boolean'
140
+ ? [`skip-cert-verify=${nodeConfig.skipCertVerify}`]
141
+ : []),
142
+ ];
143
+ if (nodeConfig.network === 'ws') {
144
+ result.push('ws=true');
145
+ result.push(`ws-path=${nodeConfig.wsPath}`);
146
+ if (nodeConfig.wsHeaders) {
147
+ result.push('ws-headers=' +
148
+ JSON.stringify((0, exports.getSurfboardExtendHeaders)(nodeConfig.wsHeaders)));
152
149
  }
153
- return [nodeConfig.nodeName, config.join(', ')].join(' = ');
154
150
  }
155
- // istanbul ignore next
156
- default:
157
- logger.warn(`不支持为 Surfboard 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
158
- return void 0;
151
+ return [
152
+ nodeConfig.nodeName,
153
+ [nodeConfig.nodeName, result.join(', ')].join(' = '),
154
+ ];
159
155
  }
160
- })
161
- .filter((item) => item !== undefined);
162
- return result.join('\n');
163
- };
164
- exports.getSurfboardNodes = getSurfboardNodes;
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VyZmJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3N1cmZib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBOEM7QUFDOUMsb0RBQXVCO0FBQ3ZCLDBDQUEwRDtBQUMxRCxvQ0FTa0I7QUFDbEIsbUNBQWtEO0FBQ2xELHFDQUF1QztBQUV2QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO0FBRTVELE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsU0FBaUMsRUFDekIsRUFBRTtJQUNWLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDMUIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUM7QUFOVyxRQUFBLHlCQUF5Qiw2QkFNcEM7QUFFRjs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsVUFDL0IsSUFBMkMsRUFDM0MsTUFBa0Q7SUFFbEQsdUJBQXVCO0lBQ3ZCLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1FBQzNELE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQWtCLENBQUMsQ0FBQztLQUNyQztJQUVELE1BQU0sTUFBTSxHQUFhLElBQUEsb0JBQVcsRUFBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO1NBQy9DLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBc0IsRUFBRTs7UUFDdEMsUUFBUSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLEtBQUssb0JBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDN0IsTUFBTSxNQUFNLEdBQUcsVUFBbUMsQ0FBQztnQkFF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
156
+ case types_1.NodeTypeEnum.Socks5: {
157
+ const result = [
158
+ nodeConfig.tls === true ? 'socks5-tls' : 'socks5',
159
+ nodeConfig.hostname,
160
+ nodeConfig.port,
161
+ ...(0, index_1.pickAndFormatStringList)(nodeConfig, ['username', 'password', 'sni']),
162
+ ];
163
+ if (nodeConfig.tls === true) {
164
+ result.push(...(typeof nodeConfig.skipCertVerify === 'boolean'
165
+ ? [`skip-cert-verify=${nodeConfig.skipCertVerify}`]
166
+ : []), ...(typeof nodeConfig.clientCert === 'string'
167
+ ? [`client-cert=${nodeConfig.clientCert}`]
168
+ : []));
169
+ }
170
+ return [
171
+ nodeConfig.nodeName,
172
+ [nodeConfig.nodeName, result.join(', ')].join(' = '),
173
+ ];
174
+ }
175
+ // istanbul ignore next
176
+ default:
177
+ logger.warn(`不支持为 Surfboard 生成 ${nodeConfig.type} 的节点,节点 ${nodeConfig.nodeName} 会被省略`);
178
+ return void 0;
179
+ }
180
+ }
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VyZmJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3N1cmZib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSwyQ0FBNkM7QUFDN0Msb0RBQXNCO0FBRXRCLDBDQUFxQztBQUNyQyxvQ0FLaUI7QUFDakIsbUNBQWlEO0FBQ2pELHFDQUFzQztBQUV0QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsQ0FBQyxDQUFBO0FBRTNELE1BQU0seUJBQXlCLEdBQUcsQ0FDdkMsU0FBaUMsRUFDekIsRUFBRTtJQUNWLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDMUIsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFNBQVMsSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztTQUMxRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDZCxDQUFDLENBQUE7QUFOWSxRQUFBLHlCQUF5Qiw2QkFNckM7QUFFRDs7R0FFRztBQUNJLE1BQU0saUJBQWlCLEdBQUcsVUFDL0IsSUFBMkMsRUFDM0MsTUFBOEM7SUFFOUMsTUFBTSxNQUFNLEdBQWEsSUFBQSxvQkFBVyxFQUFDLElBQUksRUFBRSxNQUFNLENBQUM7U0FDL0MsR0FBRyxDQUFDLGNBQWMsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQTRCLEVBQUUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO1NBQzlELEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFekIsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQVZZLFFBQUEsaUJBQWlCLHFCQVU3QjtBQUVNLE1BQU0scUJBQXFCLEdBQUcsVUFD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
@@ -1,6 +1,8 @@
1
- import { NodeFilterType, PossibleNodeConfigType, SortedNodeNameFilterType } from '../types';
1
+ import { NodeFilterType, PossibleNodeConfigType, SortedNodeFilterType } from '../types';
2
2
  export declare const getSurgeExtendHeaders: (wsHeaders: Record<string, string>) => string;
3
3
  /**
4
4
  * @see https://manual.nssurge.com/policy/proxy.html
5
5
  */
6
- export declare const getSurgeNodes: (list: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeNameFilterType) => string;
6
+ export declare const getSurgeNodes: (nodeList: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;
7
+ export declare const getSurgeWireguardNodes: (nodeList: ReadonlyArray<PossibleNodeConfigType>) => string;
8
+ export declare const getSurgeNodeNames: (nodeList: ReadonlyArray<PossibleNodeConfigType>, filter?: NodeFilterType | SortedNodeFilterType) => string;