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
@@ -0,0 +1 @@
1
+ export declare const msToSeconds: (ms: number) => number;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.msToSeconds = void 0;
4
+ const msToSeconds = (ms) => Math.floor(ms / 1000);
5
+ exports.msToSeconds = msToSeconds;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFPLE1BQU0sV0FBVyxHQUFHLENBQUMsRUFBVSxFQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQTtBQUEzRCxRQUFBLFdBQVcsZUFBZ0QifQ==
@@ -14,12 +14,16 @@ const index_1 = require("./index");
14
14
  const logger = (0, logger_1.createLogger)({ service: 'surgio:utils:tmp-helper' });
15
15
  const tmpDir = path_1.default.join(os_1.default.tmpdir(), constant_1.TMP_FOLDER_NAME);
16
16
  class TmpHelper {
17
+ cacheKey;
18
+ maxAge;
17
19
  constructor(cacheKey, maxAge) {
18
20
  this.cacheKey = cacheKey;
19
21
  this.maxAge = maxAge;
20
22
  }
21
23
  }
22
24
  class TmpFile {
25
+ cacheKey;
26
+ maxAge;
23
27
  constructor(cacheKey, maxAge) {
24
28
  this.cacheKey = cacheKey;
25
29
  this.maxAge = maxAge;
@@ -59,6 +63,9 @@ class TmpFile {
59
63
  }
60
64
  exports.TmpFile = TmpFile;
61
65
  class TmpRedis {
66
+ cacheKey;
67
+ maxAge;
68
+ redisClient;
62
69
  constructor(cacheKey, maxAge) {
63
70
  this.cacheKey = cacheKey;
64
71
  this.maxAge = maxAge;
@@ -93,4 +100,4 @@ const createTmpFactory = (baseDir, cacheType = 'default') => {
93
100
  }
94
101
  };
95
102
  exports.createTmpFactory = createTmpFactory;
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG1wLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy90bXAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUE4QztBQUM5Qyw0Q0FBb0I7QUFDcEIsZ0RBQXdCO0FBQ3hCLHdEQUEwQjtBQUcxQiwwQ0FBOEM7QUFDOUMscURBQTZCO0FBQzdCLG1DQUFzQztBQUV0QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFDO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsWUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLDBCQUFlLENBQUMsQ0FBQztBQUV2RCxNQUFlLFNBQVM7SUFDdEIsWUFBNkIsUUFBZ0IsRUFBUyxNQUFlO1FBQXhDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO0lBQUcsQ0FBQztDQUsxRTtBQUVELE1BQWEsT0FBTztJQUNsQixZQUFtQixRQUFnQixFQUFTLE1BQWU7UUFBeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVM7UUFDekQsa0JBQUUsQ0FBQyxVQUFVLENBQUMsY0FBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsa0JBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBZTtRQUNyQyxNQUFNLGtCQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEMsT0FBTztZQUNQLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixZQUFZLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7U0FDbkMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUss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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG1wLWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90bXAtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUE2QztBQUM3Qyw0Q0FBbUI7QUFDbkIsZ0RBQXVCO0FBQ3ZCLHdEQUF5QjtBQUd6QiwwQ0FBNkM7QUFDN0MscURBQTRCO0FBQzVCLG1DQUFxQztBQUVyQyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsQ0FBQyxDQUFBO0FBQ25FLE1BQU0sTUFBTSxHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsWUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLDBCQUFlLENBQUMsQ0FBQTtBQUV0RCxNQUFlLFNBQVM7SUFDTztJQUF5QjtJQUF0RCxZQUE2QixRQUFnQixFQUFTLE1BQWU7UUFBeEMsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVM7SUFBRyxDQUFDO0NBSzFFO0FBRUQsTUFBYSxPQUFPO0lBQ0M7SUFBeUI7SUFBNUMsWUFBbUIsUUFBZ0IsRUFBUyxNQUFlO1FBQXhDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ3pELGtCQUFFLENBQUMsVUFBVSxDQUFDLGNBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLGtCQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQy9ELENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQWU7UUFDckMsTUFBTSxrQkFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2hDLE9BQU87WUFDUCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsWUFBWSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO1NBQ25DLENBQUMsQ0FB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
@@ -14,17 +14,25 @@ const parseTrojanUri = (str) => {
14
14
  const allowInsecure = scheme.searchParams.get('allowInsecure') === '1' ||
15
15
  scheme.searchParams.get('allowInsecure') === 'true';
16
16
  const sni = scheme.searchParams.get('sni') || scheme.searchParams.get('peer');
17
- return Object.assign(Object.assign({ type: types_1.NodeTypeEnum.Trojan, hostname: scheme.hostname, port: scheme.port, password: scheme.username, nodeName: scheme.hash
17
+ return {
18
+ type: types_1.NodeTypeEnum.Trojan,
19
+ hostname: scheme.hostname,
20
+ port: scheme.port,
21
+ password: scheme.username,
22
+ nodeName: scheme.hash
18
23
  ? decodeURIComponent(scheme.hash.slice(1))
19
- : `${scheme.hostname}:${scheme.port}` }, (allowInsecure
20
- ? {
21
- skipCertVerify: true,
22
- }
23
- : null)), (sni
24
- ? {
25
- sni,
26
- }
27
- : null));
24
+ : `${scheme.hostname}:${scheme.port}`,
25
+ ...(allowInsecure
26
+ ? {
27
+ skipCertVerify: true,
28
+ }
29
+ : null),
30
+ ...(sni
31
+ ? {
32
+ sni,
33
+ }
34
+ : null),
35
+ };
28
36
  };
29
37
  exports.parseTrojanUri = parseTrojanUri;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJvamFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3V0aWxzL3Ryb2phbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBOEM7QUFDOUMsNkJBQTBCO0FBRTFCLG9DQUEwRDtBQUUxRCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO0FBRXpELE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBVyxFQUFvQixFQUFFO0lBQzlELE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRWhDLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTVCLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0tBQ3hDO0lBRUQsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEdBQUc7UUFDaEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssTUFBTSxDQUFDO0lBQ3RELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTlFLHFDQUNFLElBQUksRUFBRSxvQkFBWSxDQUFDLE1BQU0sRUFDekIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxFQUNqQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFDekIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxJQUFJO1lBQ25CLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFDcEMsQ0FBQyxhQUFhO1FBQ2YsQ0FBQyxDQUFDO1lBQ0UsY0FBYyxFQUFFLElBQUk7U0FDckI7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQ04sQ0FBQyxHQUFHO1FBQ0wsQ0FBQyxDQUFDO1lBQ0UsR0FBRztTQUNKO1FBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUNUO0FBQ0osQ0FBQyxDQUFDO0FBakNXLFFBQUEsY0FBYyxrQkFpQ3pCIn0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJvamFuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3Ryb2phbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBNkM7QUFFN0MsNkJBQXlCO0FBRXpCLG9DQUF5RDtBQUV6RCxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFZLEVBQUMsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFBO0FBRXhELE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBVyxFQUFvQixFQUFFO0lBQzlELE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxDQUFBO0lBRS9CLE1BQU0sTUFBTSxHQUFHLElBQUksU0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBRTNCLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7UUFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFBO0tBQ3ZDO0lBRUQsTUFBTSxhQUFhLEdBQ2pCLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEdBQUc7UUFDaEQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssTUFBTSxDQUFBO0lBQ3JELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBRTdFLE9BQU87UUFDTCxJQUFJLEVBQUUsb0JBQVksQ0FBQyxNQUFNO1FBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtRQUN6QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUk7UUFDakIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1FBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSTtZQUNuQixDQUFDLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDMUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFO1FBQ3ZDLEdBQUcsQ0FBQyxhQUFhO1lBQ2YsQ0FBQyxDQUFDO2dCQUNFLGNBQWMsRUFBRSxJQUFJO2FBQ3JCO1lBQ0gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULEdBQUcsQ0FBQyxHQUFHO1lBQ0wsQ0FBQyxDQUFDO2dCQUNFLEdBQUc7YUFDSjtZQUNILENBQUMsQ0FBQyxJQUFJLENBQUM7S0FDVixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBakNZLFFBQUEsY0FBYyxrQkFpQzFCIn0=
@@ -26,7 +26,7 @@ const formatVmessUri = (nodeConfig, options) => {
26
26
  });
27
27
  }
28
28
  if (nodeConfig.host) {
29
- if (options === null || options === void 0 ? void 0 : options.isMellow) {
29
+ if (options?.isMellow) {
30
30
  queries[`ws.host`] = nodeConfig.host;
31
31
  }
32
32
  else {
@@ -38,4 +38,4 @@ const formatVmessUri = (nodeConfig, options) => {
38
38
  return `vmess://${uri.join('')}?${queryObject.toString()}`;
39
39
  };
40
40
  exports.formatVmessUri = formatVmessUri;
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvdXRpbHMvdjJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXNDO0FBR3RDLGtEQUFrRDtBQUMzQyxNQUFNLGNBQWMsR0FBRyxDQUM1QixVQUEyQixFQUMzQixPQUF3QyxFQUNoQyxFQUFFO0lBQ1YsTUFBTSxHQUFHLEdBQWE7UUFDcEIsVUFBVSxDQUFDLElBQUk7UUFDZixHQUFHO1FBQ0gsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDM0MsVUFBVSxDQUFDLElBQUksSUFBSSxHQUFHO0tBQ3ZCLENBQUM7SUFDRixNQUFNLE9BQU8sR0FBMkI7UUFDdEMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBQzNCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87S0FDdkMsQ0FBQztJQUVGLElBQUksVUFBVSxDQUFDLGNBQWMsRUFBRTtRQUM3QixPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxNQUFNLENBQUM7S0FDdkM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1FBQy9CLElBQUksT0FBTyxVQUFVLENBQUMsU0FBUyxLQUFLLFdBQVcsRUFBRTtZQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLFNBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDM0Q7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ25CLElBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFFBQVEsRUFBRTtnQkFDckIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7YUFDdEM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQzthQUM5QztTQUNGO0tBQ0Y7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLHFCQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFakQsT0FBTyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7QUFDN0QsQ0FBQyxDQUFDO0FBdkNXLFFBQUEsY0FBYyxrQkF1Q3pCIn0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdjJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXFDO0FBR3JDLGtEQUFrRDtBQUMzQyxNQUFNLGNBQWMsR0FBRyxDQUM1QixVQUEyQixFQUMzQixPQUF3QyxFQUNoQyxFQUFFO0lBQ1YsTUFBTSxHQUFHLEdBQWE7UUFDcEIsVUFBVSxDQUFDLElBQUk7UUFDZixHQUFHO1FBQ0gsR0FBRyxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDM0MsVUFBVSxDQUFDLElBQUksSUFBSSxHQUFHO0tBQ3ZCLENBQUE7SUFDRCxNQUFNLE9BQU8sR0FBMkI7UUFDdEMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO1FBQzNCLEdBQUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87S0FDdkMsQ0FBQTtJQUVELElBQUksVUFBVSxDQUFDLGNBQWMsRUFBRTtRQUM3QixPQUFPLENBQUMsbUJBQW1CLENBQUMsR0FBRyxNQUFNLENBQUE7S0FDdEM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFO1FBQy9CLElBQUksT0FBTyxVQUFVLENBQUMsU0FBUyxLQUFLLFdBQVcsRUFBRTtZQUMvQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDaEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ3RCLE9BQU8sQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDLFNBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtpQkFDMUQ7WUFDSCxDQUFDLENBQUMsQ0FBQTtTQUNIO1FBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFO1lBQ25CLElBQUksT0FBTyxFQUFFLFFBQVEsRUFBRTtnQkFDckIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUE7YUFDckM7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQTthQUM3QztTQUNGO0tBQ0Y7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLHFCQUFlLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFaEQsT0FBTyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUE7QUFDNUQsQ0FBQyxDQUFBO0FBdkNZLFFBQUEsY0FBYyxrQkF1QzFCIn0=
@@ -0,0 +1,35 @@
1
+ import { z } from 'zod';
2
+ export declare const ArtifactValidator: z.ZodObject<{
3
+ name: z.ZodString;
4
+ template: z.ZodString;
5
+ provider: z.ZodString;
6
+ categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
7
+ combineProviders: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
8
+ customParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
9
+ customFilters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
10
+ destDir: z.ZodOptional<z.ZodString>;
11
+ downloadUrl: z.ZodOptional<z.ZodString>;
12
+ templateString: z.ZodOptional<z.ZodString>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ name: string;
15
+ template: string;
16
+ provider: string;
17
+ categories?: string[] | undefined;
18
+ combineProviders?: string[] | undefined;
19
+ customParams?: Record<string, unknown> | undefined;
20
+ customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined;
21
+ destDir?: string | undefined;
22
+ downloadUrl?: string | undefined;
23
+ templateString?: string | undefined;
24
+ }, {
25
+ name: string;
26
+ template: string;
27
+ provider: string;
28
+ categories?: string[] | undefined;
29
+ combineProviders?: string[] | undefined;
30
+ customParams?: Record<string, unknown> | undefined;
31
+ customFilters?: Record<string, (...args: unknown[]) => unknown> | undefined;
32
+ destDir?: string | undefined;
33
+ downloadUrl?: string | undefined;
34
+ templateString?: string | undefined;
35
+ }>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArtifactValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.ArtifactValidator = zod_1.z.object({
6
+ name: zod_1.z.string(),
7
+ template: zod_1.z.string(),
8
+ provider: zod_1.z.string(),
9
+ categories: zod_1.z.array(zod_1.z.string()).optional(),
10
+ combineProviders: zod_1.z.array(zod_1.z.string()).optional(),
11
+ customParams: zod_1.z.record(zod_1.z.unknown()).optional(),
12
+ customFilters: zod_1.z.record(zod_1.z.function()).optional(),
13
+ destDir: zod_1.z.ostring(),
14
+ downloadUrl: zod_1.z.ostring(),
15
+ templateString: zod_1.z.ostring(),
16
+ });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFFVixRQUFBLGlCQUFpQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsVUFBVSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFDLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2hELFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM5QyxhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDaEQsT0FBTyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7SUFDcEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7SUFDeEIsY0FBYyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7Q0FDNUIsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,121 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const IntegersVersionValidator: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
4
+ export declare const SimpleNodeConfigValidator: z.ZodObject<{
5
+ type: z.ZodNativeEnum<typeof NodeTypeEnum>;
6
+ nodeName: z.ZodString;
7
+ enable: z.ZodOptional<z.ZodBoolean>;
8
+ tfo: z.ZodOptional<z.ZodBoolean>;
9
+ mptcp: z.ZodOptional<z.ZodBoolean>;
10
+ shadowTls: z.ZodOptional<z.ZodObject<{
11
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
12
+ password: z.ZodString;
13
+ sni: z.ZodString;
14
+ }, "strip", z.ZodTypeAny, {
15
+ password: string;
16
+ sni: string;
17
+ version?: number | undefined;
18
+ }, {
19
+ password: string;
20
+ sni: string;
21
+ version?: string | number | undefined;
22
+ }>>;
23
+ underlyingProxy: z.ZodOptional<z.ZodString>;
24
+ testUrl: z.ZodOptional<z.ZodString>;
25
+ }, "strip", z.ZodTypeAny, {
26
+ type: NodeTypeEnum;
27
+ nodeName: string;
28
+ enable?: boolean | undefined;
29
+ tfo?: boolean | undefined;
30
+ mptcp?: boolean | undefined;
31
+ shadowTls?: {
32
+ password: string;
33
+ sni: string;
34
+ version?: number | undefined;
35
+ } | undefined;
36
+ underlyingProxy?: string | undefined;
37
+ testUrl?: string | undefined;
38
+ }, {
39
+ type: NodeTypeEnum;
40
+ nodeName: string;
41
+ enable?: boolean | undefined;
42
+ tfo?: boolean | undefined;
43
+ mptcp?: boolean | undefined;
44
+ shadowTls?: {
45
+ password: string;
46
+ sni: string;
47
+ version?: string | number | undefined;
48
+ } | undefined;
49
+ underlyingProxy?: string | undefined;
50
+ testUrl?: string | undefined;
51
+ }>;
52
+ export declare const TlsNodeConfigValidator: z.ZodObject<{
53
+ type: z.ZodNativeEnum<typeof NodeTypeEnum>;
54
+ nodeName: z.ZodString;
55
+ enable: z.ZodOptional<z.ZodBoolean>;
56
+ tfo: z.ZodOptional<z.ZodBoolean>;
57
+ mptcp: z.ZodOptional<z.ZodBoolean>;
58
+ shadowTls: z.ZodOptional<z.ZodObject<{
59
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
60
+ password: z.ZodString;
61
+ sni: z.ZodString;
62
+ }, "strip", z.ZodTypeAny, {
63
+ password: string;
64
+ sni: string;
65
+ version?: number | undefined;
66
+ }, {
67
+ password: string;
68
+ sni: string;
69
+ version?: string | number | undefined;
70
+ }>>;
71
+ underlyingProxy: z.ZodOptional<z.ZodString>;
72
+ testUrl: z.ZodOptional<z.ZodString>;
73
+ hostname: z.ZodString;
74
+ port: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
75
+ tls13: z.ZodOptional<z.ZodBoolean>;
76
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
77
+ sni: z.ZodOptional<z.ZodString>;
78
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
79
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ type: NodeTypeEnum;
82
+ port: string | number;
83
+ nodeName: string;
84
+ hostname: string;
85
+ enable?: boolean | undefined;
86
+ tfo?: boolean | undefined;
87
+ mptcp?: boolean | undefined;
88
+ shadowTls?: {
89
+ password: string;
90
+ sni: string;
91
+ version?: number | undefined;
92
+ } | undefined;
93
+ underlyingProxy?: string | undefined;
94
+ testUrl?: string | undefined;
95
+ tls13?: boolean | undefined;
96
+ skipCertVerify?: boolean | undefined;
97
+ sni?: string | undefined;
98
+ alpn?: [string, ...string[]] | undefined;
99
+ serverCertFingerprintSha256?: string | undefined;
100
+ }, {
101
+ type: NodeTypeEnum;
102
+ port: string | number;
103
+ nodeName: string;
104
+ hostname: string;
105
+ enable?: boolean | undefined;
106
+ tfo?: boolean | undefined;
107
+ mptcp?: boolean | undefined;
108
+ shadowTls?: {
109
+ password: string;
110
+ sni: string;
111
+ version?: string | number | undefined;
112
+ } | undefined;
113
+ underlyingProxy?: string | undefined;
114
+ testUrl?: string | undefined;
115
+ tls13?: boolean | undefined;
116
+ skipCertVerify?: boolean | undefined;
117
+ sni?: string | undefined;
118
+ alpn?: [string, ...string[]] | undefined;
119
+ serverCertFingerprintSha256?: string | undefined;
120
+ }>;
121
+ export declare const PortValidator: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PortValidator = exports.TlsNodeConfigValidator = exports.SimpleNodeConfigValidator = exports.IntegersVersionValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ exports.IntegersVersionValidator = zod_1.z
7
+ .union([zod_1.z.string(), zod_1.z.number()])
8
+ .transform((v, ctx) => {
9
+ const version = Number(v);
10
+ if (version > 0 && version < 65536) {
11
+ return version;
12
+ }
13
+ else {
14
+ ctx.addIssue({
15
+ code: zod_1.z.ZodIssueCode.custom,
16
+ message: '版本号必须为 0 ~ 65535 之间的整数',
17
+ });
18
+ return zod_1.z.NEVER;
19
+ }
20
+ });
21
+ exports.SimpleNodeConfigValidator = zod_1.z.object({
22
+ type: zod_1.z.nativeEnum(types_1.NodeTypeEnum),
23
+ nodeName: zod_1.z.string(),
24
+ enable: zod_1.z.boolean().optional(),
25
+ // TCP features
26
+ tfo: zod_1.z.boolean().optional(),
27
+ mptcp: zod_1.z.boolean().optional(),
28
+ shadowTls: zod_1.z
29
+ .object({
30
+ version: exports.IntegersVersionValidator.optional(),
31
+ password: zod_1.z.string(),
32
+ sni: zod_1.z.string(),
33
+ })
34
+ .optional(),
35
+ // Misc
36
+ underlyingProxy: zod_1.z.string().optional(),
37
+ testUrl: zod_1.z.string().optional(),
38
+ });
39
+ exports.TlsNodeConfigValidator = exports.SimpleNodeConfigValidator.extend({
40
+ hostname: zod_1.z.string(),
41
+ port: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]),
42
+ tls13: zod_1.z.oboolean(),
43
+ skipCertVerify: zod_1.z.oboolean(),
44
+ sni: zod_1.z.ostring(),
45
+ alpn: zod_1.z.array(zod_1.z.string()).nonempty().optional(),
46
+ serverCertFingerprintSha256: zod_1.z.ostring(),
47
+ });
48
+ exports.PortValidator = zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).refine((v) => {
49
+ const port = Number(v);
50
+ return port > 0 && port < 65536;
51
+ });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUV2QixvQ0FBdUM7QUFFMUIsUUFBQSx3QkFBd0IsR0FBRyxPQUFDO0tBQ3RDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztLQUMvQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFVLEVBQUU7SUFDNUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBRXpCLElBQUksT0FBTyxHQUFHLENBQUMsSUFBSSxPQUFPLEdBQUcsS0FBSyxFQUFFO1FBQ2xDLE9BQU8sT0FBTyxDQUFBO0tBQ2Y7U0FBTTtRQUNMLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDWCxJQUFJLEVBQUUsT0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSx3QkFBd0I7U0FDbEMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxPQUFDLENBQUMsS0FBSyxDQUFBO0tBQ2Y7QUFDSCxDQUFDLENBQUMsQ0FBQTtBQUVTLFFBQUEseUJBQXlCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxJQUFJLEVBQUUsT0FBQyxDQUFDLFVBQVUsQ0FBQyxvQkFBWSxDQUFDO0lBQ2hDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLE1BQU0sRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBRTlCLGVBQWU7SUFDZixHQUFHLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixTQUFTLEVBQUUsT0FBQztTQUNULE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxnQ0FBd0IsQ0FBQyxRQUFRLEVBQUU7UUFDNUMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDcEIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7S0FDaEIsQ0FBQztTQUNELFFBQVEsRUFBRTtJQUViLE9BQU87SUFDUCxlQUFlLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN0QyxPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQixDQUFDLENBQUE7QUFFVyxRQUFBLHNCQUFzQixHQUFHLGlDQUF5QixDQUFDLE1BQU0sQ0FBQztJQUNyRSxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2QyxLQUFLLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNuQixjQUFjLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1QixHQUFHLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNoQixJQUFJLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0MsMkJBQTJCLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtDQUN6QyxDQUFDLENBQUE7QUFFVyxRQUFBLGFBQWEsR0FBRyxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDMUUsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3RCLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFBO0FBQ2pDLENBQUMsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod';
2
+ import type { PossibleNodeConfigType } from '../types';
3
+ type NodeFilterType = (nodeConfig: PossibleNodeConfigType) => boolean;
4
+ export declare const NodeFilterTypeValidator: z.ZodType<NodeFilterType, z.ZodTypeDef, NodeFilterType>;
5
+ type SortedNodeFilterType = {
6
+ readonly filter: <T extends PossibleNodeConfigType>(nodeList: ReadonlyArray<T>) => ReadonlyArray<T>;
7
+ readonly supportSort: true;
8
+ };
9
+ export declare const SortedNodeFilterTypeValidator: z.ZodType<SortedNodeFilterType, z.ZodTypeDef, SortedNodeFilterType>;
10
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SortedNodeFilterTypeValidator = exports.NodeFilterTypeValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.NodeFilterTypeValidator = zod_1.z.custom((val) => {
6
+ return typeof val === 'function';
7
+ });
8
+ exports.SortedNodeFilterTypeValidator = zod_1.z.custom((val) => {
9
+ return (typeof val === 'object' &&
10
+ val !== null &&
11
+ 'filter' in val &&
12
+ typeof val.filter === 'function' &&
13
+ ('supportSort' in val ? typeof val.supportSort === 'boolean' : true));
14
+ });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQU1WLFFBQUEsdUJBQXVCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBaUIsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUN0RSxPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQTtBQUNsQyxDQUFDLENBQUMsQ0FBQTtBQVNXLFFBQUEsNkJBQTZCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FDbkQsQ0FBQyxHQUFHLEVBQUUsRUFBRTtJQUNOLE9BQU8sQ0FDTCxPQUFPLEdBQUcsS0FBSyxRQUFRO1FBQ3ZCLEdBQUcsS0FBSyxJQUFJO1FBQ1osUUFBUSxJQUFJLEdBQUc7UUFDZixPQUFPLEdBQUcsQ0FBQyxNQUFNLEtBQUssVUFBVTtRQUNoQyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLFdBQVcsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUNyRSxDQUFBO0FBQ0gsQ0FBQyxDQUNGLENBQUEifQ==
@@ -0,0 +1,7 @@
1
+ import { Promisable } from 'type-fest';
2
+ import { z } from 'zod';
3
+ import { GetNodeListParams } from '../provider';
4
+ import { PossibleNodeConfigType } from '../types';
5
+ type AfterFetchNodeListHook = <T extends PossibleNodeConfigType>(nodeList: T[], customParams: GetNodeListParams) => Promisable<T[] | undefined | void>;
6
+ export declare const AfterFetchNodeListHookValidator: z.ZodType<AfterFetchNodeListHook, z.ZodTypeDef, AfterFetchNodeListHook>;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AfterFetchNodeListHookValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.AfterFetchNodeListHookValidator = zod_1.z.custom((val) => {
6
+ return typeof val === 'function';
7
+ });
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9va3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9ob29rcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2QkFBdUI7QUFVVixRQUFBLCtCQUErQixHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQ3JELENBQUMsR0FBRyxFQUFFLEVBQUU7SUFDTixPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQTtBQUNsQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,137 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const HttpNodeConfigValidator: z.ZodObject<{
4
+ nodeName: z.ZodString;
5
+ enable: z.ZodOptional<z.ZodBoolean>;
6
+ tfo: z.ZodOptional<z.ZodBoolean>;
7
+ mptcp: z.ZodOptional<z.ZodBoolean>;
8
+ shadowTls: z.ZodOptional<z.ZodObject<{
9
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
10
+ password: z.ZodString;
11
+ sni: z.ZodString;
12
+ }, "strip", z.ZodTypeAny, {
13
+ password: string;
14
+ sni: string;
15
+ version?: number | undefined;
16
+ }, {
17
+ password: string;
18
+ sni: string;
19
+ version?: string | number | undefined;
20
+ }>>;
21
+ underlyingProxy: z.ZodOptional<z.ZodString>;
22
+ testUrl: z.ZodOptional<z.ZodString>;
23
+ type: z.ZodLiteral<NodeTypeEnum.HTTP>;
24
+ hostname: z.ZodString;
25
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
26
+ username: z.ZodString;
27
+ password: z.ZodString;
28
+ }, "strip", z.ZodTypeAny, {
29
+ type: NodeTypeEnum.HTTP;
30
+ port: string | number;
31
+ nodeName: string;
32
+ password: string;
33
+ hostname: string;
34
+ username: string;
35
+ enable?: boolean | undefined;
36
+ tfo?: boolean | undefined;
37
+ mptcp?: boolean | undefined;
38
+ shadowTls?: {
39
+ password: string;
40
+ sni: string;
41
+ version?: number | undefined;
42
+ } | undefined;
43
+ underlyingProxy?: string | undefined;
44
+ testUrl?: string | undefined;
45
+ }, {
46
+ type: NodeTypeEnum.HTTP;
47
+ port: string | number;
48
+ nodeName: string;
49
+ password: string;
50
+ hostname: string;
51
+ username: string;
52
+ enable?: boolean | undefined;
53
+ tfo?: boolean | undefined;
54
+ mptcp?: boolean | undefined;
55
+ shadowTls?: {
56
+ password: string;
57
+ sni: string;
58
+ version?: string | number | undefined;
59
+ } | undefined;
60
+ underlyingProxy?: string | undefined;
61
+ testUrl?: string | undefined;
62
+ }>;
63
+ export declare const HttpsNodeConfigValidator: z.ZodObject<{
64
+ port: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
65
+ nodeName: z.ZodString;
66
+ enable: z.ZodOptional<z.ZodBoolean>;
67
+ tfo: z.ZodOptional<z.ZodBoolean>;
68
+ mptcp: z.ZodOptional<z.ZodBoolean>;
69
+ sni: z.ZodOptional<z.ZodString>;
70
+ shadowTls: z.ZodOptional<z.ZodObject<{
71
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
72
+ password: z.ZodString;
73
+ sni: z.ZodString;
74
+ }, "strip", z.ZodTypeAny, {
75
+ password: string;
76
+ sni: string;
77
+ version?: number | undefined;
78
+ }, {
79
+ password: string;
80
+ sni: string;
81
+ version?: string | number | undefined;
82
+ }>>;
83
+ underlyingProxy: z.ZodOptional<z.ZodString>;
84
+ testUrl: z.ZodOptional<z.ZodString>;
85
+ hostname: z.ZodString;
86
+ tls13: z.ZodOptional<z.ZodBoolean>;
87
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
88
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
89
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
90
+ type: z.ZodLiteral<NodeTypeEnum.HTTPS>;
91
+ username: z.ZodString;
92
+ password: z.ZodString;
93
+ }, "strip", z.ZodTypeAny, {
94
+ type: NodeTypeEnum.HTTPS;
95
+ port: string | number;
96
+ nodeName: string;
97
+ password: string;
98
+ hostname: string;
99
+ username: string;
100
+ enable?: boolean | undefined;
101
+ tfo?: boolean | undefined;
102
+ mptcp?: boolean | undefined;
103
+ sni?: string | undefined;
104
+ shadowTls?: {
105
+ password: string;
106
+ sni: string;
107
+ version?: number | undefined;
108
+ } | undefined;
109
+ underlyingProxy?: string | undefined;
110
+ testUrl?: string | undefined;
111
+ tls13?: boolean | undefined;
112
+ skipCertVerify?: boolean | undefined;
113
+ alpn?: [string, ...string[]] | undefined;
114
+ serverCertFingerprintSha256?: string | undefined;
115
+ }, {
116
+ type: NodeTypeEnum.HTTPS;
117
+ port: string | number;
118
+ nodeName: string;
119
+ password: string;
120
+ hostname: string;
121
+ username: string;
122
+ enable?: boolean | undefined;
123
+ tfo?: boolean | undefined;
124
+ mptcp?: boolean | undefined;
125
+ sni?: string | undefined;
126
+ shadowTls?: {
127
+ password: string;
128
+ sni: string;
129
+ version?: string | number | undefined;
130
+ } | undefined;
131
+ underlyingProxy?: string | undefined;
132
+ testUrl?: string | undefined;
133
+ tls13?: boolean | undefined;
134
+ skipCertVerify?: boolean | undefined;
135
+ alpn?: [string, ...string[]] | undefined;
136
+ serverCertFingerprintSha256?: string | undefined;
137
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpsNodeConfigValidator = exports.HttpNodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.HttpNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.HTTP),
9
+ hostname: zod_1.z.string(),
10
+ port: common_1.PortValidator,
11
+ username: zod_1.z.string(),
12
+ password: zod_1.z.string(),
13
+ });
14
+ exports.HttpsNodeConfigValidator = common_1.TlsNodeConfigValidator.extend({
15
+ type: zod_1.z.literal(types_1.NodeTypeEnum.HTTPS),
16
+ username: zod_1.z.string(),
17
+ password: zod_1.z.string(),
18
+ });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL2h0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXVCO0FBRXZCLG9DQUF1QztBQUN2QyxxQ0FJaUI7QUFFSixRQUFBLHVCQUF1QixHQUFHLGtDQUF5QixDQUFDLE1BQU0sQ0FBQztJQUN0RSxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLElBQUksQ0FBQztJQUNsQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsc0JBQWE7SUFDbkIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDckIsQ0FBQyxDQUFBO0FBRVcsUUFBQSx3QkFBd0IsR0FBRywrQkFBc0IsQ0FBQyxNQUFNLENBQUM7SUFDcEUsSUFBSSxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsb0JBQVksQ0FBQyxLQUFLLENBQUM7SUFDbkMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDckIsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,15 @@
1
+ export * from './wireguard';
2
+ export * from './shadowsocks';
3
+ export * from './shadowsocksr';
4
+ export * from './snell';
5
+ export * from './vmess';
6
+ export * from './trojan';
7
+ export * from './tuic';
8
+ export * from './socks5';
9
+ export * from './http';
10
+ export * from './provider';
11
+ export * from './common';
12
+ export * from './surgio-config';
13
+ export * from './artifact';
14
+ export * from './filter';
15
+ export * from './hooks';
@@ -0,0 +1,32 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./wireguard"), exports);
18
+ __exportStar(require("./shadowsocks"), exports);
19
+ __exportStar(require("./shadowsocksr"), exports);
20
+ __exportStar(require("./snell"), exports);
21
+ __exportStar(require("./vmess"), exports);
22
+ __exportStar(require("./trojan"), exports);
23
+ __exportStar(require("./tuic"), exports);
24
+ __exportStar(require("./socks5"), exports);
25
+ __exportStar(require("./http"), exports);
26
+ __exportStar(require("./provider"), exports);
27
+ __exportStar(require("./common"), exports);
28
+ __exportStar(require("./surgio-config"), exports);
29
+ __exportStar(require("./artifact"), exports);
30
+ __exportStar(require("./filter"), exports);
31
+ __exportStar(require("./hooks"), exports);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTJCO0FBQzNCLGdEQUE2QjtBQUM3QixpREFBOEI7QUFDOUIsMENBQXVCO0FBQ3ZCLDBDQUF1QjtBQUN2QiwyQ0FBd0I7QUFDeEIseUNBQXNCO0FBQ3RCLDJDQUF3QjtBQUN4Qix5Q0FBc0I7QUFDdEIsNkNBQTBCO0FBQzFCLDJDQUF3QjtBQUN4QixrREFBK0I7QUFDL0IsNkNBQTBCO0FBQzFCLDJDQUF3QjtBQUN4QiwwQ0FBdUIifQ==