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,109 @@
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
+ afterFetchNodeList: 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
+ }, "strip", z.ZodTypeAny, {
45
+ afterFetchNodeList?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
46
+ }, {
47
+ afterFetchNodeList?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
48
+ }>>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ type: SupportProviderEnum;
51
+ addFlag?: boolean | undefined;
52
+ removeExistingFlag?: boolean | undefined;
53
+ mptcp?: boolean | undefined;
54
+ tfo?: boolean | undefined;
55
+ underlyingProxy?: string | undefined;
56
+ startPort?: number | undefined;
57
+ relayUrl?: string | boolean | undefined;
58
+ requestUserAgent?: string | undefined;
59
+ renameNode?: ((args_0: string, ...args_1: unknown[]) => string | void | undefined) | undefined;
60
+ customFilters?: Record<string, ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
61
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
62
+ readonly supportSort: true;
63
+ }> | undefined;
64
+ nodeFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
65
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
66
+ readonly supportSort: true;
67
+ } | undefined;
68
+ netflixFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
69
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
70
+ readonly supportSort: true;
71
+ } | undefined;
72
+ youtubePremiumFilter?: ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
73
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
74
+ readonly supportSort: true;
75
+ } | undefined;
76
+ hooks?: {
77
+ afterFetchNodeList?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
78
+ } | undefined;
79
+ }, {
80
+ type: SupportProviderEnum;
81
+ addFlag?: boolean | undefined;
82
+ removeExistingFlag?: boolean | undefined;
83
+ mptcp?: boolean | undefined;
84
+ tfo?: boolean | undefined;
85
+ underlyingProxy?: string | undefined;
86
+ startPort?: number | undefined;
87
+ relayUrl?: string | boolean | undefined;
88
+ requestUserAgent?: string | undefined;
89
+ renameNode?: ((args_0: string, ...args_1: unknown[]) => string | void | undefined) | undefined;
90
+ customFilters?: Record<string, ((nodeConfig: import("../types").PossibleNodeConfigType) => boolean) | {
91
+ readonly filter: <T extends import("../types").PossibleNodeConfigType>(nodeList: readonly T[]) => readonly T[];
92
+ readonly supportSort: true;
93
+ }> | undefined;
94
+ nodeFilter?: ((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
+ netflixFilter?: ((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
+ youtubePremiumFilter?: ((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
+ hooks?: {
107
+ afterFetchNodeList?: (<T_1 extends import("../types").PossibleNodeConfigType>(nodeList: T_1[], customParams: import("../provider").GetNodeListParams) => import("type-fest").Promisable<void | T_1[] | undefined>) | undefined;
108
+ } | undefined;
109
+ }>;
@@ -0,0 +1,41 @@
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
+ afterFetchNodeList: hooks_1.AfterFetchNodeListHookValidator.optional(),
38
+ })
39
+ .optional(),
40
+ });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFFdkIsb0NBQThDO0FBQzlDLHFDQUdpQjtBQUNqQixtQ0FBeUQ7QUFFNUMsUUFBQSxpQkFBaUIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLElBQUksRUFBRSxPQUFDLENBQUMsVUFBVSxDQUFDLDJCQUFtQixDQUFDO0lBQ3ZDLE9BQU8sRUFBRSxPQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3JCLGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbkIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxRQUFRLEVBQUU7SUFDakIsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRCxRQUFRLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM3RCxnQkFBZ0IsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0lBQzdCLFVBQVUsRUFBRSxPQUFDO1NBQ1YsUUFBUSxFQUFFO1NBQ1YsSUFBSSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUNoQixPQUFPLENBQUMsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsT0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN2RCxRQUFRLEVBQUU7SUFDYixhQUFhLEVBQUUsT0FBQztTQUNiLE1BQU0sQ0FBQyxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsZ0NBQXVCLEVBQUUsc0NBQTZCLENBQUMsQ0FBQyxDQUFDO1NBQ3pFLFFBQVEsRUFBRTtJQUNiLFVBQVUsRUFBRSxPQUFDO1NBQ1YsS0FBSyxDQUFDLENBQUMsZ0NBQXVCLEVBQUUsc0NBQTZCLENBQUMsQ0FBQztTQUMvRCxRQUFRLEVBQUU7SUFDYixhQUFhLEVBQUUsT0FBQztTQUNiLEtBQUssQ0FBQyxDQUFDLGdDQUF1QixFQUFFLHNDQUE2QixDQUFDLENBQUM7U0FDL0QsUUFBUSxFQUFFO0lBQ2Isb0JBQW9CLEVBQUUsT0FBQztTQUNwQixLQUFLLENBQUMsQ0FBQyxnQ0FBdUIsRUFBRSxzQ0FBNkIsQ0FBQyxDQUFDO1NBQy9ELFFBQVEsRUFBRTtJQUNiLEtBQUssRUFBRSxPQUFDO1NBQ0wsTUFBTSxDQUFDO1FBQ04sa0JBQWtCLEVBQUUsdUNBQStCLENBQUMsUUFBUSxFQUFFO0tBQy9ELENBQUM7U0FDRCxRQUFRLEVBQUU7Q0FDZCxDQUFDLENBQUEifQ==
@@ -0,0 +1,86 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const ShadowsocksNodeConfigValidator: 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.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
+ port: string | number;
39
+ nodeName: string;
40
+ password: string;
41
+ hostname: string;
42
+ method: string;
43
+ enable?: boolean | undefined;
44
+ tfo?: boolean | undefined;
45
+ mptcp?: boolean | undefined;
46
+ shadowTls?: {
47
+ password: string;
48
+ sni: string;
49
+ version?: number | undefined;
50
+ } | undefined;
51
+ underlyingProxy?: string | 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
+ port: string | number;
64
+ nodeName: string;
65
+ password: string;
66
+ hostname: string;
67
+ method: string;
68
+ enable?: boolean | undefined;
69
+ tfo?: boolean | undefined;
70
+ mptcp?: boolean | undefined;
71
+ shadowTls?: {
72
+ password: string;
73
+ sni: string;
74
+ version?: string | number | undefined;
75
+ } | undefined;
76
+ underlyingProxy?: string | 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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhZG93c29ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9zaGFkb3dzb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFFdkIsb0NBQXVDO0FBQ3ZDLHFDQUFtRTtBQUV0RCxRQUFBLDhCQUE4QixHQUFHLGtDQUF5QixDQUFDLE1BQU0sQ0FBQztJQUM3RSxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLFdBQVcsQ0FBQztJQUN6QyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsc0JBQWE7SUFDbkIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEIsSUFBSSxFQUFFLE9BQUM7U0FDSixLQUFLLENBQUM7UUFDTCxPQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztRQUNoQixPQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNqQixPQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUNmLE9BQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO0tBQ2pCLENBQUM7U0FDRCxRQUFRLEVBQUU7SUFDYixRQUFRLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNyQixPQUFPLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNwQixjQUFjLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1QixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsS0FBSyxFQUFFLE9BQUMsQ0FBQyxRQUFRLEVBQUU7SUFDbkIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDbEIsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const ShadowsocksrNodeConfigValidator: 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.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
+ port: string | number;
36
+ nodeName: string;
37
+ password: string;
38
+ hostname: string;
39
+ method: string;
40
+ obfs: string;
41
+ obfsparam: string;
42
+ protocol: string;
43
+ protoparam: string;
44
+ enable?: boolean | undefined;
45
+ tfo?: boolean | undefined;
46
+ mptcp?: boolean | undefined;
47
+ shadowTls?: {
48
+ password: string;
49
+ sni: string;
50
+ version?: number | undefined;
51
+ } | undefined;
52
+ underlyingProxy?: string | undefined;
53
+ testUrl?: string | undefined;
54
+ udpRelay?: boolean | undefined;
55
+ }, {
56
+ type: NodeTypeEnum.Shadowsocksr;
57
+ port: string | number;
58
+ nodeName: string;
59
+ password: string;
60
+ hostname: string;
61
+ method: string;
62
+ obfs: string;
63
+ obfsparam: string;
64
+ protocol: string;
65
+ protoparam: string;
66
+ enable?: boolean | undefined;
67
+ tfo?: boolean | undefined;
68
+ mptcp?: boolean | undefined;
69
+ shadowTls?: {
70
+ password: string;
71
+ sni: string;
72
+ version?: string | number | undefined;
73
+ } | undefined;
74
+ underlyingProxy?: string | 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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhZG93c29ja3NyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvc2hhZG93c29ja3NyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUV2QixvQ0FBdUM7QUFDdkMscUNBQW1FO0FBRXRELFFBQUEsK0JBQStCLEdBQUcsa0NBQXlCLENBQUMsTUFBTSxDQUM3RTtJQUNFLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFZLENBQUMsWUFBWSxDQUFDO0lBQzFDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLElBQUksRUFBRSxzQkFBYTtJQUNuQixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNyQixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0QixRQUFRLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtDQUN2QixDQUNGLENBQUEifQ==
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const SnellNodeConfigValidator: 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.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
+ port: string | number;
34
+ nodeName: string;
35
+ hostname: string;
36
+ psk: string;
37
+ enable?: boolean | undefined;
38
+ tfo?: boolean | undefined;
39
+ mptcp?: boolean | undefined;
40
+ shadowTls?: {
41
+ password: string;
42
+ sni: string;
43
+ version?: number | undefined;
44
+ } | undefined;
45
+ underlyingProxy?: string | 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
+ port: string | number;
54
+ nodeName: string;
55
+ hostname: string;
56
+ psk: string;
57
+ enable?: boolean | undefined;
58
+ tfo?: boolean | undefined;
59
+ mptcp?: boolean | undefined;
60
+ shadowTls?: {
61
+ password: string;
62
+ sni: string;
63
+ version?: string | number | undefined;
64
+ } | undefined;
65
+ underlyingProxy?: string | 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,20 @@
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: zod_1.z
16
+ .union([zod_1.z.string(), zod_1.z.number()])
17
+ .refine((v) => Number(v))
18
+ .optional(),
19
+ });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25lbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy9zbmVsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFFdkIsb0NBQXVDO0FBQ3ZDLHFDQUFtRTtBQUV0RCxRQUFBLHdCQUF3QixHQUFHLGtDQUF5QixDQUFDLE1BQU0sQ0FBQztJQUN2RSxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsc0JBQWE7SUFDbkIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixJQUFJLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQy9ELFFBQVEsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3JCLEtBQUssRUFBRSxPQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25CLE9BQU8sRUFBRSxPQUFDO1NBQ1AsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQy9CLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3hCLFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQSJ9
@@ -0,0 +1,77 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const Socks5NodeConfigValidator: 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.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
+ port: string | number;
36
+ nodeName: string;
37
+ hostname: string;
38
+ enable?: boolean | undefined;
39
+ tfo?: boolean | undefined;
40
+ mptcp?: boolean | undefined;
41
+ shadowTls?: {
42
+ password: string;
43
+ sni: string;
44
+ version?: number | undefined;
45
+ } | undefined;
46
+ underlyingProxy?: string | 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
+ port: string | number;
58
+ nodeName: string;
59
+ hostname: string;
60
+ enable?: boolean | undefined;
61
+ tfo?: boolean | undefined;
62
+ mptcp?: boolean | undefined;
63
+ shadowTls?: {
64
+ password: string;
65
+ sni: string;
66
+ version?: string | number | undefined;
67
+ } | undefined;
68
+ underlyingProxy?: string | 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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja3M1LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvc29ja3M1LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUV2QixvQ0FBdUM7QUFDdkMscUNBQW1FO0FBRXRELFFBQUEseUJBQXlCLEdBQUcsa0NBQXlCLENBQUMsTUFBTSxDQUFDO0lBQ3hFLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFZLENBQUMsTUFBTSxDQUFDO0lBQ3BDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLElBQUksRUFBRSxzQkFBYTtJQUNuQixRQUFRLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNyQixRQUFRLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNyQixRQUFRLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN0QixHQUFHLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNqQixjQUFjLEVBQUUsT0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM1QixHQUFHLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNoQixVQUFVLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRTtDQUN4QixDQUFDLENBQUEifQ==