surgio 2.25.3 → 3.0.0-alpha.1

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 (265) hide show
  1. package/LICENSE +1 -1
  2. package/bin/dev +17 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/run +8 -0
  5. package/bin/run.cmd +3 -0
  6. package/build/base-command.d.ts +19 -0
  7. package/build/base-command.js +75 -0
  8. package/build/base-command.js.map +1 -0
  9. package/build/commands/check.d.ts +10 -0
  10. package/build/commands/check.js +88 -0
  11. package/build/commands/check.js.map +1 -0
  12. package/build/commands/clean-cache.d.ts +6 -0
  13. package/build/commands/clean-cache.js +29 -0
  14. package/build/commands/clean-cache.js.map +1 -0
  15. package/build/commands/doctor.d.ts +6 -0
  16. package/build/commands/doctor.js +21 -0
  17. package/build/commands/doctor.js.map +1 -0
  18. package/build/commands/generate.d.ts +7 -0
  19. package/build/commands/generate.js +93 -0
  20. package/build/commands/generate.js.map +1 -0
  21. package/build/commands/lint.d.ts +6 -0
  22. package/build/commands/lint.js +36 -0
  23. package/build/commands/lint.js.map +1 -0
  24. package/build/commands/new.d.ts +6 -0
  25. package/build/commands/new.js +36 -0
  26. package/build/commands/new.js.map +1 -0
  27. package/build/commands/subscriptions.d.ts +7 -0
  28. package/build/commands/subscriptions.js +96 -0
  29. package/build/commands/subscriptions.js.map +1 -0
  30. package/build/commands/upload.d.ts +6 -0
  31. package/build/commands/upload.js +89 -0
  32. package/build/commands/upload.js.map +1 -0
  33. package/build/config.d.ts +6 -0
  34. package/build/config.js +151 -0
  35. package/build/config.js.map +1 -0
  36. package/build/configurables.d.ts +80 -0
  37. package/build/configurables.js +52 -0
  38. package/build/configurables.js.map +1 -0
  39. package/build/constant/constant.d.ts +16 -16
  40. package/build/constant/constant.js +3 -13
  41. package/build/constant/constant.js.map +1 -0
  42. package/build/constant/env.js +1 -1
  43. package/build/constant/env.js.map +1 -0
  44. package/build/constant/error.js +1 -1
  45. package/build/constant/error.js.map +1 -0
  46. package/build/constant/index.js +1 -1
  47. package/build/constant/index.js.map +1 -0
  48. package/build/generator/artifact.d.ts +302 -67
  49. package/build/generator/artifact.js +141 -101
  50. package/build/generator/artifact.js.map +1 -0
  51. package/build/generator/index.d.ts +2 -0
  52. package/build/generator/index.js +19 -0
  53. package/build/generator/index.js.map +1 -0
  54. package/build/generator/template.js +2 -28
  55. package/build/generator/template.js.map +1 -0
  56. package/build/hooks/init.d.ts +3 -0
  57. package/build/hooks/init.js +33 -0
  58. package/build/hooks/init.js.map +1 -0
  59. package/build/index.d.ts +68 -66
  60. package/build/index.js +11 -51
  61. package/build/index.js.map +1 -0
  62. package/build/internal.d.ts +5 -0
  63. package/build/internal.js +25 -0
  64. package/build/internal.js.map +1 -0
  65. package/build/misc/deprecation.d.ts +1 -6
  66. package/build/misc/deprecation.js +1 -8
  67. package/build/misc/deprecation.js.map +1 -0
  68. package/build/misc/flag_cn.d.ts +49 -50
  69. package/build/misc/flag_cn.js +3 -3
  70. package/build/misc/flag_cn.js.map +1 -0
  71. package/build/provider/BlackSSLProvider.d.ts +4 -3
  72. package/build/provider/BlackSSLProvider.js +28 -16
  73. package/build/provider/BlackSSLProvider.js.map +1 -0
  74. package/build/provider/ClashProvider.d.ts +7 -10
  75. package/build/provider/ClashProvider.js +168 -76
  76. package/build/provider/ClashProvider.js.map +1 -0
  77. package/build/provider/CustomProvider.d.ts +4 -3
  78. package/build/provider/CustomProvider.js +98 -54
  79. package/build/provider/CustomProvider.js.map +1 -0
  80. package/build/provider/Provider.d.ts +9 -22
  81. package/build/provider/Provider.js +34 -69
  82. package/build/provider/Provider.js.map +1 -0
  83. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
  84. package/build/provider/ShadowsocksJsonSubscribeProvider.js +31 -21
  85. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +1 -0
  86. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
  87. package/build/provider/ShadowsocksSubscribeProvider.js +33 -27
  88. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -0
  89. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
  90. package/build/provider/ShadowsocksrSubscribeProvider.js +33 -23
  91. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -0
  92. package/build/provider/SsdProvider.d.ts +5 -8
  93. package/build/provider/SsdProvider.js +59 -39
  94. package/build/provider/SsdProvider.js.map +1 -0
  95. package/build/provider/TrojanProvider.d.ts +5 -8
  96. package/build/provider/TrojanProvider.js +40 -30
  97. package/build/provider/TrojanProvider.js.map +1 -0
  98. package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
  99. package/build/provider/V2rayNSubscribeProvider.js +64 -33
  100. package/build/provider/V2rayNSubscribeProvider.js.map +1 -0
  101. package/build/provider/index.d.ts +16 -2
  102. package/build/provider/index.js +12 -5
  103. package/build/provider/index.js.map +1 -0
  104. package/build/provider/types.d.ts +10 -1
  105. package/build/provider/types.js +1 -1
  106. package/build/provider/types.js.map +1 -0
  107. package/build/redis.js +1 -1
  108. package/build/redis.js.map +1 -0
  109. package/build/types.d.ts +42 -236
  110. package/build/types.js +2 -1
  111. package/build/types.js.map +1 -0
  112. package/build/utils/cache.js +29 -27
  113. package/build/utils/cache.js.map +1 -0
  114. package/build/utils/clash.d.ts +204 -3
  115. package/build/utils/clash.js +247 -110
  116. package/build/utils/clash.js.map +1 -0
  117. package/build/utils/constant.js +1 -1
  118. package/build/utils/constant.js.map +1 -0
  119. package/build/utils/dns.js +1 -1
  120. package/build/utils/dns.js.map +1 -0
  121. package/build/utils/doctor.d.ts +2 -0
  122. package/build/utils/doctor.js +38 -0
  123. package/build/utils/doctor.js.map +1 -0
  124. package/build/utils/env-flag.js +2 -2
  125. package/build/utils/env-flag.js.map +1 -0
  126. package/build/utils/error-helper.d.ts +2 -2
  127. package/build/utils/error-helper.js +51 -16
  128. package/build/utils/error-helper.js.map +1 -0
  129. package/build/utils/errors.d.ts +19 -0
  130. package/build/utils/errors.js +60 -0
  131. package/build/utils/errors.js.map +1 -0
  132. package/build/utils/filter.d.ts +46 -43
  133. package/build/utils/filter.js +57 -59
  134. package/build/utils/filter.js.map +1 -0
  135. package/build/utils/flag.js +6 -6
  136. package/build/utils/flag.js.map +1 -0
  137. package/build/utils/http-client.js +38 -5
  138. package/build/utils/http-client.js.map +1 -0
  139. package/build/utils/index.d.ts +14 -21
  140. package/build/utils/index.js +102 -118
  141. package/build/utils/index.js.map +1 -0
  142. package/build/utils/linter.js +5 -2
  143. package/build/utils/linter.js.map +1 -0
  144. package/build/utils/loon.d.ts +3 -2
  145. package/build/utils/loon.js +67 -5
  146. package/build/utils/loon.js.map +1 -0
  147. package/build/utils/quantumult.d.ts +3 -3
  148. package/build/utils/quantumult.js +190 -258
  149. package/build/utils/quantumult.js.map +1 -0
  150. package/build/utils/relayable-url.js +1 -1
  151. package/build/utils/relayable-url.js.map +1 -0
  152. package/build/utils/remote-snippet.js +37 -14
  153. package/build/utils/remote-snippet.js.map +1 -0
  154. package/build/utils/ss.js +27 -17
  155. package/build/utils/ss.js.map +1 -0
  156. package/build/utils/ssr.js +3 -4
  157. package/build/utils/ssr.js.map +1 -0
  158. package/build/utils/subscription.js +10 -9
  159. package/build/utils/subscription.js.map +1 -0
  160. package/build/utils/surfboard.d.ts +3 -2
  161. package/build/utils/surfboard.js +142 -126
  162. package/build/utils/surfboard.js.map +1 -0
  163. package/build/utils/surge.d.ts +4 -2
  164. package/build/utils/surge.js +328 -300
  165. package/build/utils/surge.js.map +1 -0
  166. package/build/utils/time.d.ts +1 -0
  167. package/build/utils/time.js +6 -0
  168. package/build/utils/time.js.map +1 -0
  169. package/build/utils/tmp-helper.js +8 -1
  170. package/build/utils/tmp-helper.js.map +1 -0
  171. package/build/utils/trojan.js +19 -11
  172. package/build/utils/trojan.js.map +1 -0
  173. package/build/validators/artifact.d.ts +35 -0
  174. package/build/validators/artifact.js +17 -0
  175. package/build/validators/artifact.js.map +1 -0
  176. package/build/validators/common.d.ts +121 -0
  177. package/build/validators/common.js +65 -0
  178. package/build/validators/common.js.map +1 -0
  179. package/build/validators/filter.d.ts +10 -0
  180. package/build/validators/filter.js +15 -0
  181. package/build/validators/filter.js.map +1 -0
  182. package/build/validators/hooks.d.ts +9 -0
  183. package/build/validators/hooks.js +11 -0
  184. package/build/validators/hooks.js.map +1 -0
  185. package/build/validators/http.d.ts +137 -0
  186. package/build/validators/http.js +19 -0
  187. package/build/validators/http.js.map +1 -0
  188. package/build/validators/index.d.ts +15 -0
  189. package/build/validators/index.js +32 -0
  190. package/build/validators/index.js.map +1 -0
  191. package/build/validators/provider.d.ts +114 -0
  192. package/build/validators/provider.js +42 -0
  193. package/build/validators/provider.js.map +1 -0
  194. package/build/validators/shadowsocks.d.ts +86 -0
  195. package/build/validators/shadowsocks.js +29 -0
  196. package/build/validators/shadowsocks.js.map +1 -0
  197. package/build/validators/shadowsocksr.d.ts +77 -0
  198. package/build/validators/shadowsocksr.js +19 -0
  199. package/build/validators/shadowsocksr.js.map +1 -0
  200. package/build/validators/snell.d.ts +71 -0
  201. package/build/validators/snell.js +17 -0
  202. package/build/validators/snell.js.map +1 -0
  203. package/build/validators/socks5.d.ts +77 -0
  204. package/build/validators/socks5.js +19 -0
  205. package/build/validators/socks5.js.map +1 -0
  206. package/build/validators/surgio-config.d.ts +307 -0
  207. package/build/validators/surgio-config.js +95 -0
  208. package/build/validators/surgio-config.js.map +1 -0
  209. package/build/validators/trojan.d.ts +86 -0
  210. package/build/validators/trojan.js +15 -0
  211. package/build/validators/trojan.js.map +1 -0
  212. package/build/validators/tuic.d.ts +301 -0
  213. package/build/validators/tuic.js +21 -0
  214. package/build/validators/tuic.js.map +1 -0
  215. package/build/validators/vmess.d.ts +92 -0
  216. package/build/validators/vmess.js +29 -0
  217. package/build/validators/vmess.js.map +1 -0
  218. package/build/validators/wireguard.d.ts +123 -0
  219. package/build/validators/wireguard.js +26 -0
  220. package/build/validators/wireguard.js.map +1 -0
  221. package/config.d.ts +1 -0
  222. package/config.js +1 -0
  223. package/constant.d.ts +1 -0
  224. package/constant.js +1 -0
  225. package/generator.d.ts +1 -0
  226. package/generator.js +1 -0
  227. package/hygen-template/artifact/new/index.js +15 -15
  228. package/hygen-template/provider/new/index.js +8 -7
  229. package/hygen-template/template/new/index.js +3 -3
  230. package/index.d.ts +1 -0
  231. package/index.js +1 -0
  232. package/internal.d.ts +1 -0
  233. package/internal.js +1 -0
  234. package/package.json +120 -80
  235. package/provider.d.ts +1 -0
  236. package/provider.js +1 -0
  237. package/utils.d.ts +1 -0
  238. package/utils.js +1 -0
  239. package/bin/surgio.js +0 -8
  240. package/build/command/check.d.ts +0 -9
  241. package/build/command/check.js +0 -79
  242. package/build/command/clean-cache.d.ts +0 -8
  243. package/build/command/clean-cache.js +0 -43
  244. package/build/command/doctor.d.ts +0 -9
  245. package/build/command/doctor.js +0 -63
  246. package/build/command/generate.d.ts +0 -8
  247. package/build/command/generate.js +0 -64
  248. package/build/command/lint.d.ts +0 -7
  249. package/build/command/lint.js +0 -42
  250. package/build/command/new.d.ts +0 -7
  251. package/build/command/new.js +0 -44
  252. package/build/command/subscriptions.d.ts +0 -10
  253. package/build/command/subscriptions.js +0 -87
  254. package/build/command/upload.d.ts +0 -9
  255. package/build/command/upload.js +0 -101
  256. package/build/generate.d.ts +0 -4
  257. package/build/generate.js +0 -75
  258. package/build/utils/command.d.ts +0 -2
  259. package/build/utils/command.js +0 -23
  260. package/build/utils/config.d.ts +0 -6
  261. package/build/utils/config.js +0 -245
  262. package/build/utils/patch-proxy.d.ts +0 -1
  263. package/build/utils/patch-proxy.js +0 -19
  264. package/build/utils/v2ray.d.ts +0 -4
  265. package/build/utils/v2ray.js +0 -41
@@ -1,4 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
@@ -8,12 +31,12 @@ const bluebird_1 = __importDefault(require("bluebird"));
8
31
  const logger_1 = require("@surgio/logger");
9
32
  const detect_newline_1 = __importDefault(require("detect-newline"));
10
33
  const nunjucks_1 = __importDefault(require("nunjucks"));
11
- const espree_1 = __importDefault(require("espree"));
34
+ const parser = __importStar(require("@typescript-eslint/parser"));
12
35
  const constant_1 = require("../constant");
13
36
  const cache_1 = require("./cache");
14
- const config_1 = require("./config");
15
37
  const env_flag_1 = require("./env-flag");
16
38
  const http_client_1 = __importDefault(require("./http-client"));
39
+ const config_1 = require("../config");
17
40
  const index_1 = require("./index");
18
41
  const tmp_helper_1 = require("./tmp-helper");
19
42
  const parseMacro = (snippet) => {
@@ -22,7 +45,7 @@ const parseMacro = (snippet) => {
22
45
  if (!match) {
23
46
  throw new Error('该片段不包含可用的宏');
24
47
  }
25
- const ast = espree_1.default.parse(match[1], { ecmaVersion: 6 });
48
+ const ast = parser.parse(match[1], { ecmaVersion: 6 });
26
49
  let statement;
27
50
  for (const node of ast.body) {
28
51
  if (node.type === 'ExpressionStatement') {
@@ -30,15 +53,16 @@ const parseMacro = (snippet) => {
30
53
  break;
31
54
  }
32
55
  }
33
- if (!statement ||
34
- statement.expression.type !== 'CallExpression' ||
35
- statement.expression.callee.name !== 'main') {
36
- throw new Error('该片段不包含可用的宏');
56
+ if (statement &&
57
+ statement.expression.type === 'CallExpression' &&
58
+ 'name' in statement.expression.callee &&
59
+ statement.expression.callee.name === 'main') {
60
+ return {
61
+ functionName: statement.expression.callee.name,
62
+ arguments: statement.expression.arguments.map((item) => item.name),
63
+ };
37
64
  }
38
- return {
39
- functionName: statement.expression.callee.name,
40
- arguments: statement.expression.arguments.map((item) => item.name),
41
- };
65
+ throw new Error('该片段不包含可用的宏');
42
66
  };
43
67
  exports.parseMacro = parseMacro;
44
68
  const addProxyToSurgeRuleSet = (str, proxyName) => {
@@ -95,8 +119,7 @@ const renderSurgioSnippet = (str, args) => {
95
119
  };
96
120
  exports.renderSurgioSnippet = renderSurgioSnippet;
97
121
  const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
98
- var _a, _b;
99
- const cacheType = ((_b = (_a = (0, config_1.getConfig)()) === null || _a === void 0 ? void 0 : _a.cache) === null || _b === void 0 ? void 0 : _b.type) || 'default';
122
+ const cacheType = (0, config_1.getConfig)()?.cache?.type || 'default';
100
123
  const tmpFactory = (0, tmp_helper_1.createTmpFactory)(constant_1.CACHE_KEYS.RemoteSnippets, cacheType);
101
124
  function load(url) {
102
125
  return http_client_1.default
@@ -156,4 +179,4 @@ const loadRemoteSnippetList = (remoteSnippetList, cacheSnippet = true) => {
156
179
  });
157
180
  };
158
181
  exports.loadRemoteSnippetList = loadRemoteSnippetList;
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLXNuaXBwZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvcmVtb3RlLXNuaXBwZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsd0RBQWdDO0FBQ2hDLDJDQUF3QztBQUN4QyxvRUFBMkM7QUFDM0Msd0RBQWdDO0FBQ2hDLG9EQUF5RDtBQUN6RCwwQ0FBeUM7QUFHekMsbUNBQXNDO0FBQ3RDLHFDQUFxQztBQUNyQyx5Q0FBZ0Y7QUFDaEYsZ0VBQXVDO0FBQ3ZDLG1DQUFnQztBQUNoQyw2Q0FBZ0Q7QUFFekMsTUFBTSxVQUFVLEdBQUcsQ0FDeEIsT0FBZSxFQUlmLEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQztJQUN0QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRWxDLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO0tBQy9CO0lBRUQsTUFBTSxHQUFHLEdBQUcsZ0JBQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkQsSUFBSSxTQUE4QyxDQUFDO0lBRW5ELEtBQUssTUFBTSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksRUFBRTtRQUMzQixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUsscUJBQXFCLEVBQUU7WUFDdkMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUNqQixNQUFNO1NBQ1A7S0FDRjtJQUVELElBQ0UsQ0FBQyxTQUFTO1FBQ1YsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssZ0JBQWdCO1FBQzlDLFNBQVMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQzNDO1FBQ0EsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLENB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
182
+ //# sourceMappingURL=remote-snippet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-snippet.js","sourceRoot":"","sources":["../../src/utils/remote-snippet.ts"],"names":[],"mappings":"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"}
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=ss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ss.js","sourceRoot":"","sources":["../../src/utils/ss.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAC7C,6BAAyB;AAEzB,oCAA8D;AAC9D,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"}
@@ -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=ssr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ssr.js","sourceRoot":"","sources":["../../src/utils/ssr.ts"],"names":[],"mappings":";;;AAAA,2CAA6C;AAE7C,oCAA+D;AAC/D,mCAA2C;AAE3C,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAA;AAE5D;;;;GAIG;AACI,MAAM,WAAW,GAAG,CAAC,GAAW,EAA0B,EAAE;IACjE,MAAM,MAAM,GAAG,IAAA,yBAAiB,EAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAE3C,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;IAE/B,QAAQ;IACR,WAAW,CAAC,KAAK,EAAE,CAAA;IAEnB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC/D,MAAM,QAAQ,GAAG,IAAA,yBAAiB,EAAC,SAAS,CAAC,GAAG,EAAY,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAY,CAAA;IACtC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAY,CAAA;IACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAY,CAAA;IAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,EAAY,CAAA;IACtC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO;QAC7B,CAAC,CAAC,IAAA,yBAAiB,EAAC,MAAM,CAAC,OAAO,CAAC;QACnC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAA;IAEzB,OAAO;QACL,IAAI,EAAE,oBAAY,CAAC,YAAY;QAC/B,QAAQ;QACR,QAAQ;QACR,IAAI;QACJ,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,QAAQ;QACR,UAAU,EAAE,IAAA,yBAAiB,EAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACzE,SAAS,EAAE,IAAA,yBAAiB,EAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;KACxE,CAAA;AACH,CAAC,CAAA;AAlCY,QAAA,WAAW,eAkCvB;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QACvD,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACb,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -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) => {
@@ -19,9 +19,10 @@ const parseSubscriptionUserInfo = (str) => {
19
19
  return;
20
20
  }
21
21
  const pair = item.split('=');
22
+ const key = pair[0].trim();
22
23
  const value = Number(pair[1].trim());
23
- if (!Number.isNaN(value)) {
24
- res[pair[0].trim()] = Number(pair[1].trim());
24
+ if (key in res && !Number.isNaN(value)) {
25
+ res[key] = value;
25
26
  }
26
27
  });
27
28
  return res;
@@ -51,17 +52,17 @@ const parseSubscriptionNode = (dataString, expireString) => {
51
52
  exports.parseSubscriptionNode = parseSubscriptionNode;
52
53
  const formatSubscriptionUserInfo = (userInfo) => {
53
54
  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, {
55
+ upload: (0, filesize_1.filesize)(userInfo.upload, { base: 2 }),
56
+ download: (0, filesize_1.filesize)(userInfo.download, { base: 2 }),
57
+ used: (0, filesize_1.filesize)(userInfo.upload + userInfo.download, { base: 2 }),
58
+ left: (0, filesize_1.filesize)(userInfo.total - userInfo.upload - userInfo.download, {
58
59
  base: 2,
59
60
  }),
60
- total: (0, filesize_1.default)(userInfo.total, { base: 2 }),
61
+ total: (0, filesize_1.filesize)(userInfo.total, { base: 2 }),
61
62
  expire: userInfo.expire
62
63
  ? `${(0, date_fns_1.format)(new Date(userInfo.expire * 1000), 'yyyy-MM-dd')} (${(0, date_fns_1.formatDistanceToNow)(new Date(userInfo.expire * 1000))})`
63
64
  : '无数据',
64
65
  };
65
66
  };
66
67
  exports.formatSubscriptionUserInfo = formatSubscriptionUserInfo;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3N1YnNjcmlwdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx3REFBZ0M7QUFDaEMsa0RBQTBCO0FBQzFCLHVDQUF1RDtBQUloRCxNQUFNLHlCQUF5QixHQUFHLENBQ3ZDLEdBQVcsRUFDVyxFQUFFO0lBQ3hCLE1BQU0sR0FBRyxHQUFHO1FBQ1YsTUFBTSxFQUFFLENBQUM7UUFDVCxRQUFRLEVBQUUsQ0FBQztRQUNYLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxFQUFFLENBQUM7S0FDVixDQUFDO0lBRUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTztTQUNSO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM3QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDeEIsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUM5QztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUF2QlcsUUFBQSx5QkFBeUIsNkJBdUJwQztBQUVLLE1BQU0scUJBQXFCLEdBQUcsQ0FDbkMsVUFBa0IsRUFDbEIsWUFBb0IsRUFDYyxFQUFFO0lBQ3BDLG1DQUFtQztJQUNuQywyQ0FBMkM7SUFFM0MsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFckQsSUFBSSxTQUFTLElBQUksV0FBVyxFQUFFO1FBQzVCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDM0MsTUFBTSxRQUFRLEdBQUcsZUFBSyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUVyRSxPQUFPO1lBQ0wsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsS0FBSyxHQUFHLFFBQVE7WUFDMUIsS0FBSztZQUNMLE1BQU07U0FDUCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0FBQ0gsQ0FBQyxDQUFDO0FBekJXLFFBQUEscUJBQXFCLHlCQXlCaEM7QUFFSyxNQUFNLDBCQUEwQixHQUFHLENBQ3hDLFFBQThCLEVBUTlCLEVBQUU7SUFDRixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUEsa0JBQVEsRUFBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlDLFFBQVEsRUFBRSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxJQUFJLEVBQUUsSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxJQUFJLEVBQUUsSUFBQSxrQkFBUSxFQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ25FLElBQUksRUFBRSxDQUFDO1NBQ1IsQ0FBQztRQUNGLEtBQUssRUFBRSxJQUFBLGtCQUFRLEVBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM1QyxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDckIsQ0FBQyxDQUFDLEdBQUcsSUFBQSxpQkFBTSxFQUNQLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQ2hDLFlBQVksQ0FDYixLQUFLLElBQUEsOEJBQW1CLEVBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHO1lBQ2hFLENBQUMsQ0FBQyxLQUFLO0tBQ1YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpCVyxRQUFBLDBCQUEwQiw4QkF5QnJDIn0=
68
+ //# sourceMappingURL=subscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription.js","sourceRoot":"","sources":["../../src/utils/subscription.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAmC;AACnC,kDAAyB;AACzB,uCAAsD;AAI/C,MAAM,yBAAyB,GAAG,CACvC,GAAW,EACW,EAAE;IACxB,MAAM,GAAG,GAAG;QACV,MAAM,EAAE,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;KACV,CAAA;IAED,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC9B,IAAI,CAAC,IAAI,EAAE;YACT,OAAM;SACP;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QAEpC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACtC,GAAG,CAAC,GAAuB,CAAC,GAAG,KAAK,CAAA;SACrC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAxBY,QAAA,yBAAyB,6BAwBrC;AAEM,MAAM,qBAAqB,GAAG,CACnC,UAAkB,EAClB,YAAoB,EACc,EAAE;IACpC,mCAAmC;IACnC,2CAA2C;IAE3C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACxE,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IAEpD,IAAI,SAAS,IAAI,WAAW,EAAE;QAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAA;QAC1C,MAAM,QAAQ,GAAG,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;QAEpE,OAAO;YACL,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,KAAK,GAAG,QAAQ;YAC1B,KAAK;YACL,MAAM;SACP,CAAA;KACF;SAAM;QACL,OAAO,SAAS,CAAA;KACjB;AACH,CAAC,CAAA;AAzBY,QAAA,qBAAqB,yBAyBjC;AAEM,MAAM,0BAA0B,GAAG,CACxC,QAA8B,EAQ9B,EAAE;IACF,OAAO;QACL,MAAM,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAW;QACxD,QAAQ,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAW;QAC5D,IAAI,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAW;QAC1E,IAAI,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE;YACnE,IAAI,EAAE,CAAC;SACR,CAAW;QACZ,KAAK,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAW;QACtD,MAAM,EAAE,QAAQ,CAAC,MAAM;YACrB,CAAC,CAAC,GAAG,IAAA,iBAAM,EACP,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAChC,YAAY,CACb,KAAK,IAAA,8BAAmB,EAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG;YAChE,CAAC,CAAC,KAAK;KACV,CAAA;AACH,CAAC,CAAA;AAzBY,QAAA,0BAA0B,8BAyBtC"}
@@ -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=surfboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surfboard.js","sourceRoot":"","sources":["../../src/utils/surfboard.ts"],"names":[],"mappings":"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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;