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
@@ -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=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,gDAA6B;AAC7B,iDAA8B;AAC9B,0CAAuB;AACvB,0CAAuB;AACvB,2CAAwB;AACxB,yCAAsB;AACtB,2CAAwB;AACxB,yCAAsB;AACtB,6CAA0B;AAC1B,2CAAwB;AACxB,kDAA+B;AAC/B,6CAA0B;AAC1B,2CAAwB;AACxB,0CAAuB"}
@@ -0,0 +1,114 @@
1
+ import { z } from 'zod';
2
+ import { SupportProviderEnum } from '../types';
3
+ export declare const ProviderValidator: z.ZodObject<{
4
+ type: z.ZodNativeEnum<typeof SupportProviderEnum>;
5
+ addFlag: z.ZodOptional<z.ZodBoolean>;
6
+ removeExistingFlag: z.ZodOptional<z.ZodBoolean>;
7
+ mptcp: z.ZodOptional<z.ZodBoolean>;
8
+ tfo: z.ZodOptional<z.ZodBoolean>;
9
+ underlyingProxy: z.ZodOptional<z.ZodString>;
10
+ startPort: z.ZodOptional<z.ZodNumber>;
11
+ relayUrl: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString]>>;
12
+ requestUserAgent: z.ZodOptional<z.ZodString>;
13
+ renameNode: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodString], z.ZodUnknown>, z.ZodUnion<[z.ZodString, z.ZodUndefined, z.ZodVoid]>>>;
14
+ customFilters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodType<(nodeConfig: import("../types").PossibleNodeConfigType) => boolean, z.ZodTypeDef, (nodeConfig: import("../types").PossibleNodeConfigType) => boolean>, z.ZodType<{
15
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
16
+ readonly supportSort: true;
17
+ }, z.ZodTypeDef, {
18
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
19
+ readonly supportSort: true;
20
+ }>]>>>;
21
+ nodeFilter: z.ZodOptional<z.ZodUnion<[z.ZodType<(nodeConfig: import("../types").PossibleNodeConfigType) => boolean, z.ZodTypeDef, (nodeConfig: import("../types").PossibleNodeConfigType) => boolean>, z.ZodType<{
22
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
23
+ readonly supportSort: true;
24
+ }, z.ZodTypeDef, {
25
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
26
+ readonly supportSort: true;
27
+ }>]>>;
28
+ netflixFilter: z.ZodOptional<z.ZodUnion<[z.ZodType<(nodeConfig: import("../types").PossibleNodeConfigType) => boolean, z.ZodTypeDef, (nodeConfig: import("../types").PossibleNodeConfigType) => boolean>, z.ZodType<{
29
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
30
+ readonly supportSort: true;
31
+ }, z.ZodTypeDef, {
32
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
33
+ readonly supportSort: true;
34
+ }>]>>;
35
+ youtubePremiumFilter: z.ZodOptional<z.ZodUnion<[z.ZodType<(nodeConfig: import("../types").PossibleNodeConfigType) => boolean, z.ZodTypeDef, (nodeConfig: import("../types").PossibleNodeConfigType) => boolean>, z.ZodType<{
36
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
37
+ readonly supportSort: true;
38
+ }, z.ZodTypeDef, {
39
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
40
+ readonly supportSort: true;
41
+ }>]>>;
42
+ hooks: z.ZodOptional<z.ZodObject<{
43
+ afterNodeListResponse: z.ZodOptional<z.ZodType<(<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>), z.ZodTypeDef, <T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>>>;
44
+ onError: z.ZodOptional<z.ZodType<(error: Error) => unknown, z.ZodTypeDef, (error: Error) => unknown>>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ afterNodeListResponse?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
47
+ onError?: ((error: Error) => unknown) | undefined;
48
+ }, {
49
+ afterNodeListResponse?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
50
+ onError?: ((error: Error) => unknown) | undefined;
51
+ }>>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ type: SupportProviderEnum;
54
+ addFlag?: boolean | undefined;
55
+ removeExistingFlag?: boolean | undefined;
56
+ mptcp?: boolean | undefined;
57
+ tfo?: boolean | undefined;
58
+ underlyingProxy?: string | undefined;
59
+ startPort?: number | undefined;
60
+ relayUrl?: string | boolean | undefined;
61
+ requestUserAgent?: string | undefined;
62
+ renameNode?: ((args_0: string, ...args_1: unknown[]) => string | void | undefined) | undefined;
63
+ customFilters?: Record<string, ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
64
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
65
+ readonly supportSort: true;
66
+ }> | undefined;
67
+ nodeFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
68
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
69
+ readonly supportSort: true;
70
+ } | undefined;
71
+ netflixFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
72
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
73
+ readonly supportSort: true;
74
+ } | undefined;
75
+ youtubePremiumFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
76
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
77
+ readonly supportSort: true;
78
+ } | undefined;
79
+ hooks?: {
80
+ afterNodeListResponse?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
81
+ onError?: ((error: Error) => unknown) | undefined;
82
+ } | undefined;
83
+ }, {
84
+ type: SupportProviderEnum;
85
+ addFlag?: boolean | undefined;
86
+ removeExistingFlag?: boolean | undefined;
87
+ mptcp?: boolean | undefined;
88
+ tfo?: boolean | undefined;
89
+ underlyingProxy?: string | undefined;
90
+ startPort?: number | undefined;
91
+ relayUrl?: string | boolean | undefined;
92
+ requestUserAgent?: string | undefined;
93
+ renameNode?: ((args_0: string, ...args_1: unknown[]) => string | void | undefined) | undefined;
94
+ customFilters?: Record<string, ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
95
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
96
+ readonly supportSort: true;
97
+ }> | undefined;
98
+ nodeFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
99
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
100
+ readonly supportSort: true;
101
+ } | undefined;
102
+ netflixFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
103
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
104
+ readonly supportSort: true;
105
+ } | undefined;
106
+ youtubePremiumFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
107
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
108
+ readonly supportSort: true;
109
+ } | undefined;
110
+ hooks?: {
111
+ afterNodeListResponse?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
112
+ onError?: ((error: Error) => unknown) | undefined;
113
+ } | undefined;
114
+ }>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProviderValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const filter_1 = require("./filter");
7
+ const hooks_1 = require("./hooks");
8
+ exports.ProviderValidator = zod_1.z.object({
9
+ type: zod_1.z.nativeEnum(types_1.SupportProviderEnum),
10
+ addFlag: zod_1.z.oboolean(),
11
+ removeExistingFlag: zod_1.z.oboolean(),
12
+ mptcp: zod_1.z.oboolean(),
13
+ tfo: zod_1.z.oboolean(),
14
+ underlyingProxy: zod_1.z.ostring(),
15
+ startPort: zod_1.z.number().min(1024).max(65535).optional(),
16
+ relayUrl: zod_1.z.union([zod_1.z.boolean(), zod_1.z.string().url()]).optional(),
17
+ requestUserAgent: zod_1.z.ostring(),
18
+ renameNode: zod_1.z
19
+ .function()
20
+ .args(zod_1.z.string())
21
+ .returns(zod_1.z.union([zod_1.z.string(), zod_1.z.undefined(), zod_1.z.void()]))
22
+ .optional(),
23
+ customFilters: zod_1.z
24
+ .record(zod_1.z.union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator]))
25
+ .optional(),
26
+ nodeFilter: zod_1.z
27
+ .union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator])
28
+ .optional(),
29
+ netflixFilter: zod_1.z
30
+ .union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator])
31
+ .optional(),
32
+ youtubePremiumFilter: zod_1.z
33
+ .union([filter_1.NodeFilterTypeValidator, filter_1.SortedNodeFilterTypeValidator])
34
+ .optional(),
35
+ hooks: zod_1.z
36
+ .object({
37
+ afterNodeListResponse: hooks_1.AfterNodeListResponseHookValidator.optional(),
38
+ onError: hooks_1.OnErrorHookValidator.optional(),
39
+ })
40
+ .optional(),
41
+ });
42
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/validators/provider.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAA8C;AAC9C,qCAGiB;AACjB,mCAGgB;AAEH,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,OAAC,CAAC,UAAU,CAAC,2BAAmB,CAAC;IACvC,OAAO,EAAE,OAAC,CAAC,QAAQ,EAAE;IACrB,kBAAkB,EAAE,OAAC,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,OAAC,CAAC,QAAQ,EAAE;IACnB,GAAG,EAAE,OAAC,CAAC,QAAQ,EAAE;IACjB,eAAe,EAAE,OAAC,CAAC,OAAO,EAAE;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;IACrD,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D,gBAAgB,EAAE,OAAC,CAAC,OAAO,EAAE;IAC7B,UAAU,EAAE,OAAC;SACV,QAAQ,EAAE;SACV,IAAI,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SAChB,OAAO,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,SAAS,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SACvD,QAAQ,EAAE;IACb,aAAa,EAAE,OAAC;SACb,MAAM,CAAC,OAAC,CAAC,KAAK,CAAC,CAAC,gCAAuB,EAAE,sCAA6B,CAAC,CAAC,CAAC;SACzE,QAAQ,EAAE;IACb,UAAU,EAAE,OAAC;SACV,KAAK,CAAC,CAAC,gCAAuB,EAAE,sCAA6B,CAAC,CAAC;SAC/D,QAAQ,EAAE;IACb,aAAa,EAAE,OAAC;SACb,KAAK,CAAC,CAAC,gCAAuB,EAAE,sCAA6B,CAAC,CAAC;SAC/D,QAAQ,EAAE;IACb,oBAAoB,EAAE,OAAC;SACpB,KAAK,CAAC,CAAC,gCAAuB,EAAE,sCAA6B,CAAC,CAAC;SAC/D,QAAQ,EAAE;IACb,KAAK,EAAE,OAAC;SACL,MAAM,CAAC;QACN,qBAAqB,EAAE,0CAAkC,CAAC,QAAQ,EAAE;QACpE,OAAO,EAAE,4BAAoB,CAAC,QAAQ,EAAE;KACzC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA"}
@@ -0,0 +1,86 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const ShadowsocksNodeConfigValidator: z.ZodObject<{
4
+ mptcp: z.ZodOptional<z.ZodBoolean>;
5
+ tfo: z.ZodOptional<z.ZodBoolean>;
6
+ underlyingProxy: z.ZodOptional<z.ZodString>;
7
+ nodeName: z.ZodString;
8
+ enable: z.ZodOptional<z.ZodBoolean>;
9
+ shadowTls: z.ZodOptional<z.ZodObject<{
10
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
11
+ password: z.ZodString;
12
+ sni: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ password: string;
15
+ sni: string;
16
+ version?: string | number | undefined;
17
+ }, {
18
+ password: string;
19
+ sni: string;
20
+ version?: string | number | undefined;
21
+ }>>;
22
+ testUrl: z.ZodOptional<z.ZodString>;
23
+ type: z.ZodLiteral<NodeTypeEnum.Shadowsocks>;
24
+ hostname: z.ZodString;
25
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
26
+ method: z.ZodString;
27
+ password: z.ZodString;
28
+ udpRelay: z.ZodOptional<z.ZodBoolean>;
29
+ obfs: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"tls">, z.ZodLiteral<"http">, z.ZodLiteral<"ws">, z.ZodLiteral<"wss">]>>;
30
+ obfsHost: z.ZodOptional<z.ZodString>;
31
+ obfsUri: z.ZodOptional<z.ZodString>;
32
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
33
+ wsHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
34
+ tls13: z.ZodOptional<z.ZodBoolean>;
35
+ mux: z.ZodOptional<z.ZodBoolean>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ type: NodeTypeEnum.Shadowsocks;
38
+ password: string;
39
+ nodeName: string;
40
+ hostname: string;
41
+ port: string | number;
42
+ method: string;
43
+ mptcp?: boolean | undefined;
44
+ tfo?: boolean | undefined;
45
+ underlyingProxy?: string | undefined;
46
+ enable?: boolean | undefined;
47
+ shadowTls?: {
48
+ password: string;
49
+ sni: string;
50
+ version?: string | number | undefined;
51
+ } | undefined;
52
+ testUrl?: string | undefined;
53
+ udpRelay?: boolean | undefined;
54
+ obfs?: "tls" | "http" | "ws" | "wss" | undefined;
55
+ obfsHost?: string | undefined;
56
+ obfsUri?: string | undefined;
57
+ skipCertVerify?: boolean | undefined;
58
+ wsHeaders?: Record<string, string> | undefined;
59
+ tls13?: boolean | undefined;
60
+ mux?: boolean | undefined;
61
+ }, {
62
+ type: NodeTypeEnum.Shadowsocks;
63
+ password: string;
64
+ nodeName: string;
65
+ hostname: string;
66
+ port: string | number;
67
+ method: string;
68
+ mptcp?: boolean | undefined;
69
+ tfo?: boolean | undefined;
70
+ underlyingProxy?: string | undefined;
71
+ enable?: boolean | undefined;
72
+ shadowTls?: {
73
+ password: string;
74
+ sni: string;
75
+ version?: string | number | undefined;
76
+ } | undefined;
77
+ testUrl?: string | undefined;
78
+ udpRelay?: boolean | undefined;
79
+ obfs?: "tls" | "http" | "ws" | "wss" | undefined;
80
+ obfsHost?: string | undefined;
81
+ obfsUri?: string | undefined;
82
+ skipCertVerify?: boolean | undefined;
83
+ wsHeaders?: Record<string, string> | undefined;
84
+ tls13?: boolean | undefined;
85
+ mux?: boolean | undefined;
86
+ }>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShadowsocksNodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.ShadowsocksNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Shadowsocks),
9
+ hostname: zod_1.z.string(),
10
+ port: common_1.PortValidator,
11
+ method: zod_1.z.string(),
12
+ password: zod_1.z.string(),
13
+ udpRelay: zod_1.z.oboolean(),
14
+ obfs: zod_1.z
15
+ .union([
16
+ zod_1.z.literal('tls'),
17
+ zod_1.z.literal('http'),
18
+ zod_1.z.literal('ws'),
19
+ zod_1.z.literal('wss'),
20
+ ])
21
+ .optional(),
22
+ obfsHost: zod_1.z.ostring(),
23
+ obfsUri: zod_1.z.ostring(),
24
+ skipCertVerify: zod_1.z.oboolean(),
25
+ wsHeaders: zod_1.z.record(zod_1.z.string()).optional(),
26
+ tls13: zod_1.z.oboolean(),
27
+ mux: zod_1.z.oboolean(),
28
+ });
29
+ //# sourceMappingURL=shadowsocks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowsocks.js","sourceRoot":"","sources":["../../src/validators/shadowsocks.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAAuC;AACvC,qCAAmE;AAEtD,QAAA,8BAA8B,GAAG,kCAAyB,CAAC,MAAM,CAAC;IAC7E,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,WAAW,CAAC;IACzC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,sBAAa;IACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,OAAC,CAAC,QAAQ,EAAE;IACtB,IAAI,EAAE,OAAC;SACJ,KAAK,CAAC;QACL,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAChB,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACf,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;KACjB,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,cAAc,EAAE,OAAC,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,KAAK,EAAE,OAAC,CAAC,QAAQ,EAAE;IACnB,GAAG,EAAE,OAAC,CAAC,QAAQ,EAAE;CAClB,CAAC,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const ShadowsocksrNodeConfigValidator: z.ZodObject<{
4
+ mptcp: z.ZodOptional<z.ZodBoolean>;
5
+ tfo: z.ZodOptional<z.ZodBoolean>;
6
+ underlyingProxy: z.ZodOptional<z.ZodString>;
7
+ nodeName: z.ZodString;
8
+ enable: z.ZodOptional<z.ZodBoolean>;
9
+ shadowTls: z.ZodOptional<z.ZodObject<{
10
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
11
+ password: z.ZodString;
12
+ sni: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ password: string;
15
+ sni: string;
16
+ version?: string | number | undefined;
17
+ }, {
18
+ password: string;
19
+ sni: string;
20
+ version?: string | number | undefined;
21
+ }>>;
22
+ testUrl: z.ZodOptional<z.ZodString>;
23
+ type: z.ZodLiteral<NodeTypeEnum.Shadowsocksr>;
24
+ hostname: z.ZodString;
25
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
26
+ method: z.ZodString;
27
+ password: z.ZodString;
28
+ obfs: z.ZodString;
29
+ obfsparam: z.ZodString;
30
+ protocol: z.ZodString;
31
+ protoparam: z.ZodString;
32
+ udpRelay: z.ZodOptional<z.ZodBoolean>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ type: NodeTypeEnum.Shadowsocksr;
35
+ password: string;
36
+ nodeName: string;
37
+ hostname: string;
38
+ port: string | number;
39
+ method: string;
40
+ obfs: string;
41
+ obfsparam: string;
42
+ protocol: string;
43
+ protoparam: string;
44
+ mptcp?: boolean | undefined;
45
+ tfo?: boolean | undefined;
46
+ underlyingProxy?: string | undefined;
47
+ enable?: boolean | undefined;
48
+ shadowTls?: {
49
+ password: string;
50
+ sni: string;
51
+ version?: string | number | undefined;
52
+ } | undefined;
53
+ testUrl?: string | undefined;
54
+ udpRelay?: boolean | undefined;
55
+ }, {
56
+ type: NodeTypeEnum.Shadowsocksr;
57
+ password: string;
58
+ nodeName: string;
59
+ hostname: string;
60
+ port: string | number;
61
+ method: string;
62
+ obfs: string;
63
+ obfsparam: string;
64
+ protocol: string;
65
+ protoparam: string;
66
+ mptcp?: boolean | undefined;
67
+ tfo?: boolean | undefined;
68
+ underlyingProxy?: string | undefined;
69
+ enable?: boolean | undefined;
70
+ shadowTls?: {
71
+ password: string;
72
+ sni: string;
73
+ version?: string | number | undefined;
74
+ } | undefined;
75
+ testUrl?: string | undefined;
76
+ udpRelay?: boolean | undefined;
77
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShadowsocksrNodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.ShadowsocksrNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Shadowsocksr),
9
+ hostname: zod_1.z.string(),
10
+ port: common_1.PortValidator,
11
+ method: zod_1.z.string(),
12
+ password: zod_1.z.string(),
13
+ obfs: zod_1.z.string(),
14
+ obfsparam: zod_1.z.string(),
15
+ protocol: zod_1.z.string(),
16
+ protoparam: zod_1.z.string(),
17
+ udpRelay: zod_1.z.oboolean(),
18
+ });
19
+ //# sourceMappingURL=shadowsocksr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shadowsocksr.js","sourceRoot":"","sources":["../../src/validators/shadowsocksr.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAAuC;AACvC,qCAAmE;AAEtD,QAAA,+BAA+B,GAAG,kCAAyB,CAAC,MAAM,CAC7E;IACE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,YAAY,CAAC;IAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,sBAAa;IACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,OAAC,CAAC,QAAQ,EAAE;CACvB,CACF,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const SnellNodeConfigValidator: z.ZodObject<{
4
+ mptcp: z.ZodOptional<z.ZodBoolean>;
5
+ tfo: z.ZodOptional<z.ZodBoolean>;
6
+ underlyingProxy: z.ZodOptional<z.ZodString>;
7
+ nodeName: z.ZodString;
8
+ enable: z.ZodOptional<z.ZodBoolean>;
9
+ shadowTls: z.ZodOptional<z.ZodObject<{
10
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
11
+ password: z.ZodString;
12
+ sni: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ password: string;
15
+ sni: string;
16
+ version?: string | number | undefined;
17
+ }, {
18
+ password: string;
19
+ sni: string;
20
+ version?: string | number | undefined;
21
+ }>>;
22
+ testUrl: z.ZodOptional<z.ZodString>;
23
+ type: z.ZodLiteral<NodeTypeEnum.Snell>;
24
+ hostname: z.ZodString;
25
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
26
+ psk: z.ZodString;
27
+ obfs: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"http">, z.ZodLiteral<"tls">]>>;
28
+ obfsHost: z.ZodOptional<z.ZodString>;
29
+ reuse: z.ZodOptional<z.ZodBoolean>;
30
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
31
+ }, "strip", z.ZodTypeAny, {
32
+ type: NodeTypeEnum.Snell;
33
+ nodeName: string;
34
+ hostname: string;
35
+ port: string | number;
36
+ psk: string;
37
+ mptcp?: boolean | undefined;
38
+ tfo?: boolean | undefined;
39
+ underlyingProxy?: string | undefined;
40
+ enable?: boolean | undefined;
41
+ shadowTls?: {
42
+ password: string;
43
+ sni: string;
44
+ version?: string | number | undefined;
45
+ } | undefined;
46
+ testUrl?: string | undefined;
47
+ obfs?: "tls" | "http" | undefined;
48
+ obfsHost?: string | undefined;
49
+ reuse?: boolean | undefined;
50
+ version?: string | number | undefined;
51
+ }, {
52
+ type: NodeTypeEnum.Snell;
53
+ nodeName: string;
54
+ hostname: string;
55
+ port: string | number;
56
+ psk: string;
57
+ mptcp?: boolean | undefined;
58
+ tfo?: boolean | undefined;
59
+ underlyingProxy?: string | undefined;
60
+ enable?: boolean | undefined;
61
+ shadowTls?: {
62
+ password: string;
63
+ sni: string;
64
+ version?: string | number | undefined;
65
+ } | undefined;
66
+ testUrl?: string | undefined;
67
+ obfs?: "tls" | "http" | undefined;
68
+ obfsHost?: string | undefined;
69
+ reuse?: boolean | undefined;
70
+ version?: string | number | undefined;
71
+ }>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SnellNodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.SnellNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Snell),
9
+ hostname: zod_1.z.string(),
10
+ port: common_1.PortValidator,
11
+ psk: zod_1.z.string(),
12
+ obfs: zod_1.z.union([zod_1.z.literal('http'), zod_1.z.literal('tls')]).optional(),
13
+ obfsHost: zod_1.z.ostring(),
14
+ reuse: zod_1.z.oboolean(),
15
+ version: common_1.IntegersVersionValidator.optional(),
16
+ });
17
+ //# sourceMappingURL=snell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snell.js","sourceRoot":"","sources":["../../src/validators/snell.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAAuC;AACvC,qCAIiB;AAEJ,QAAA,wBAAwB,GAAG,kCAAyB,CAAC,MAAM,CAAC;IACvE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,sBAAa;IACnB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/D,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,KAAK,EAAE,OAAC,CAAC,QAAQ,EAAE;IACnB,OAAO,EAAE,iCAAwB,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAA"}
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const Socks5NodeConfigValidator: z.ZodObject<{
4
+ mptcp: z.ZodOptional<z.ZodBoolean>;
5
+ tfo: z.ZodOptional<z.ZodBoolean>;
6
+ underlyingProxy: z.ZodOptional<z.ZodString>;
7
+ nodeName: z.ZodString;
8
+ enable: z.ZodOptional<z.ZodBoolean>;
9
+ shadowTls: z.ZodOptional<z.ZodObject<{
10
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
11
+ password: z.ZodString;
12
+ sni: z.ZodString;
13
+ }, "strip", z.ZodTypeAny, {
14
+ password: string;
15
+ sni: string;
16
+ version?: string | number | undefined;
17
+ }, {
18
+ password: string;
19
+ sni: string;
20
+ version?: string | number | undefined;
21
+ }>>;
22
+ testUrl: z.ZodOptional<z.ZodString>;
23
+ type: z.ZodLiteral<NodeTypeEnum.Socks5>;
24
+ hostname: z.ZodString;
25
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
26
+ username: z.ZodOptional<z.ZodString>;
27
+ password: z.ZodOptional<z.ZodString>;
28
+ udpRelay: z.ZodOptional<z.ZodBoolean>;
29
+ tls: z.ZodOptional<z.ZodBoolean>;
30
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
31
+ sni: z.ZodOptional<z.ZodString>;
32
+ clientCert: z.ZodOptional<z.ZodString>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ type: NodeTypeEnum.Socks5;
35
+ nodeName: string;
36
+ hostname: string;
37
+ port: string | number;
38
+ mptcp?: boolean | undefined;
39
+ tfo?: boolean | undefined;
40
+ underlyingProxy?: string | undefined;
41
+ enable?: boolean | undefined;
42
+ shadowTls?: {
43
+ password: string;
44
+ sni: string;
45
+ version?: string | number | undefined;
46
+ } | undefined;
47
+ testUrl?: string | undefined;
48
+ username?: string | undefined;
49
+ password?: string | undefined;
50
+ udpRelay?: boolean | undefined;
51
+ tls?: boolean | undefined;
52
+ skipCertVerify?: boolean | undefined;
53
+ sni?: string | undefined;
54
+ clientCert?: string | undefined;
55
+ }, {
56
+ type: NodeTypeEnum.Socks5;
57
+ nodeName: string;
58
+ hostname: string;
59
+ port: string | number;
60
+ mptcp?: boolean | undefined;
61
+ tfo?: boolean | undefined;
62
+ underlyingProxy?: string | undefined;
63
+ enable?: boolean | undefined;
64
+ shadowTls?: {
65
+ password: string;
66
+ sni: string;
67
+ version?: string | number | undefined;
68
+ } | undefined;
69
+ testUrl?: string | undefined;
70
+ username?: string | undefined;
71
+ password?: string | undefined;
72
+ udpRelay?: boolean | undefined;
73
+ tls?: boolean | undefined;
74
+ skipCertVerify?: boolean | undefined;
75
+ sni?: string | undefined;
76
+ clientCert?: string | undefined;
77
+ }>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Socks5NodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.Socks5NodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Socks5),
9
+ hostname: zod_1.z.string(),
10
+ port: common_1.PortValidator,
11
+ username: zod_1.z.ostring(),
12
+ password: zod_1.z.ostring(),
13
+ udpRelay: zod_1.z.oboolean(),
14
+ tls: zod_1.z.oboolean(),
15
+ skipCertVerify: zod_1.z.oboolean(),
16
+ sni: zod_1.z.ostring(),
17
+ clientCert: zod_1.z.ostring(),
18
+ });
19
+ //# sourceMappingURL=socks5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socks5.js","sourceRoot":"","sources":["../../src/validators/socks5.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAAuC;AACvC,qCAAmE;AAEtD,QAAA,yBAAyB,GAAG,kCAAyB,CAAC,MAAM,CAAC;IACxE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,MAAM,CAAC;IACpC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,sBAAa;IACnB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,QAAQ,EAAE;IACtB,GAAG,EAAE,OAAC,CAAC,QAAQ,EAAE;IACjB,cAAc,EAAE,OAAC,CAAC,QAAQ,EAAE;IAC5B,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAA"}