surgio 2.25.2 → 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 -106
  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,301 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const TuicNodeV5ConfigValidator: z.ZodObject<{
4
+ port: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
5
+ nodeName: z.ZodString;
6
+ enable: z.ZodOptional<z.ZodBoolean>;
7
+ tfo: z.ZodOptional<z.ZodBoolean>;
8
+ mptcp: z.ZodOptional<z.ZodBoolean>;
9
+ sni: z.ZodOptional<z.ZodString>;
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
+ hostname: z.ZodString;
26
+ tls13: z.ZodOptional<z.ZodBoolean>;
27
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
28
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
29
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
30
+ type: z.ZodLiteral<NodeTypeEnum.Tuic>;
31
+ password: z.ZodString;
32
+ uuid: z.ZodString;
33
+ version: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
34
+ }, "strip", z.ZodTypeAny, {
35
+ type: NodeTypeEnum.Tuic;
36
+ port: string | number;
37
+ nodeName: string;
38
+ version: number;
39
+ password: string;
40
+ hostname: string;
41
+ uuid: string;
42
+ enable?: boolean | undefined;
43
+ tfo?: boolean | undefined;
44
+ mptcp?: boolean | undefined;
45
+ sni?: string | undefined;
46
+ shadowTls?: {
47
+ password: string;
48
+ sni: string;
49
+ version?: number | undefined;
50
+ } | undefined;
51
+ underlyingProxy?: string | undefined;
52
+ testUrl?: string | undefined;
53
+ tls13?: boolean | undefined;
54
+ skipCertVerify?: boolean | undefined;
55
+ alpn?: [string, ...string[]] | undefined;
56
+ serverCertFingerprintSha256?: string | undefined;
57
+ }, {
58
+ type: NodeTypeEnum.Tuic;
59
+ port: string | number;
60
+ nodeName: string;
61
+ version: string | number;
62
+ password: string;
63
+ hostname: string;
64
+ uuid: string;
65
+ enable?: boolean | undefined;
66
+ tfo?: boolean | undefined;
67
+ mptcp?: boolean | undefined;
68
+ sni?: string | 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
+ tls13?: boolean | undefined;
77
+ skipCertVerify?: boolean | undefined;
78
+ alpn?: [string, ...string[]] | undefined;
79
+ serverCertFingerprintSha256?: string | undefined;
80
+ }>;
81
+ export declare const TuicNodeV4ConfigValidator: z.ZodObject<{
82
+ port: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
83
+ nodeName: z.ZodString;
84
+ enable: z.ZodOptional<z.ZodBoolean>;
85
+ tfo: z.ZodOptional<z.ZodBoolean>;
86
+ mptcp: z.ZodOptional<z.ZodBoolean>;
87
+ sni: z.ZodOptional<z.ZodString>;
88
+ shadowTls: z.ZodOptional<z.ZodObject<{
89
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
90
+ password: z.ZodString;
91
+ sni: z.ZodString;
92
+ }, "strip", z.ZodTypeAny, {
93
+ password: string;
94
+ sni: string;
95
+ version?: number | undefined;
96
+ }, {
97
+ password: string;
98
+ sni: string;
99
+ version?: string | number | undefined;
100
+ }>>;
101
+ underlyingProxy: z.ZodOptional<z.ZodString>;
102
+ testUrl: z.ZodOptional<z.ZodString>;
103
+ hostname: z.ZodString;
104
+ tls13: z.ZodOptional<z.ZodBoolean>;
105
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
106
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
107
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
108
+ type: z.ZodLiteral<NodeTypeEnum.Tuic>;
109
+ token: z.ZodString;
110
+ }, "strip", z.ZodTypeAny, {
111
+ type: NodeTypeEnum.Tuic;
112
+ port: string | number;
113
+ nodeName: string;
114
+ hostname: string;
115
+ token: string;
116
+ enable?: boolean | undefined;
117
+ tfo?: boolean | undefined;
118
+ mptcp?: boolean | undefined;
119
+ sni?: string | undefined;
120
+ shadowTls?: {
121
+ password: string;
122
+ sni: string;
123
+ version?: number | undefined;
124
+ } | undefined;
125
+ underlyingProxy?: string | undefined;
126
+ testUrl?: string | undefined;
127
+ tls13?: boolean | undefined;
128
+ skipCertVerify?: boolean | undefined;
129
+ alpn?: [string, ...string[]] | undefined;
130
+ serverCertFingerprintSha256?: string | undefined;
131
+ }, {
132
+ type: NodeTypeEnum.Tuic;
133
+ port: string | number;
134
+ nodeName: string;
135
+ hostname: string;
136
+ token: string;
137
+ enable?: boolean | undefined;
138
+ tfo?: boolean | undefined;
139
+ mptcp?: boolean | undefined;
140
+ sni?: string | undefined;
141
+ shadowTls?: {
142
+ password: string;
143
+ sni: string;
144
+ version?: string | number | undefined;
145
+ } | undefined;
146
+ underlyingProxy?: string | undefined;
147
+ testUrl?: string | undefined;
148
+ tls13?: boolean | undefined;
149
+ skipCertVerify?: boolean | undefined;
150
+ alpn?: [string, ...string[]] | undefined;
151
+ serverCertFingerprintSha256?: string | undefined;
152
+ }>;
153
+ export declare const TuicNodeConfigValidator: z.ZodUnion<[z.ZodObject<{
154
+ port: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
155
+ nodeName: z.ZodString;
156
+ enable: z.ZodOptional<z.ZodBoolean>;
157
+ tfo: z.ZodOptional<z.ZodBoolean>;
158
+ mptcp: z.ZodOptional<z.ZodBoolean>;
159
+ sni: z.ZodOptional<z.ZodString>;
160
+ shadowTls: z.ZodOptional<z.ZodObject<{
161
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
162
+ password: z.ZodString;
163
+ sni: z.ZodString;
164
+ }, "strip", z.ZodTypeAny, {
165
+ password: string;
166
+ sni: string;
167
+ version?: number | undefined;
168
+ }, {
169
+ password: string;
170
+ sni: string;
171
+ version?: string | number | undefined;
172
+ }>>;
173
+ underlyingProxy: z.ZodOptional<z.ZodString>;
174
+ testUrl: z.ZodOptional<z.ZodString>;
175
+ hostname: z.ZodString;
176
+ tls13: z.ZodOptional<z.ZodBoolean>;
177
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
178
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
179
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
180
+ type: z.ZodLiteral<NodeTypeEnum.Tuic>;
181
+ token: z.ZodString;
182
+ }, "strip", z.ZodTypeAny, {
183
+ type: NodeTypeEnum.Tuic;
184
+ port: string | number;
185
+ nodeName: string;
186
+ hostname: string;
187
+ token: string;
188
+ enable?: boolean | undefined;
189
+ tfo?: boolean | undefined;
190
+ mptcp?: boolean | undefined;
191
+ sni?: string | undefined;
192
+ shadowTls?: {
193
+ password: string;
194
+ sni: string;
195
+ version?: number | undefined;
196
+ } | undefined;
197
+ underlyingProxy?: string | undefined;
198
+ testUrl?: string | undefined;
199
+ tls13?: boolean | undefined;
200
+ skipCertVerify?: boolean | undefined;
201
+ alpn?: [string, ...string[]] | undefined;
202
+ serverCertFingerprintSha256?: string | undefined;
203
+ }, {
204
+ type: NodeTypeEnum.Tuic;
205
+ port: string | number;
206
+ nodeName: string;
207
+ hostname: string;
208
+ token: string;
209
+ enable?: boolean | undefined;
210
+ tfo?: boolean | undefined;
211
+ mptcp?: boolean | undefined;
212
+ sni?: string | undefined;
213
+ shadowTls?: {
214
+ password: string;
215
+ sni: string;
216
+ version?: string | number | undefined;
217
+ } | undefined;
218
+ underlyingProxy?: string | undefined;
219
+ testUrl?: string | undefined;
220
+ tls13?: boolean | undefined;
221
+ skipCertVerify?: boolean | undefined;
222
+ alpn?: [string, ...string[]] | undefined;
223
+ serverCertFingerprintSha256?: string | undefined;
224
+ }>, z.ZodObject<{
225
+ port: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
226
+ nodeName: z.ZodString;
227
+ enable: z.ZodOptional<z.ZodBoolean>;
228
+ tfo: z.ZodOptional<z.ZodBoolean>;
229
+ mptcp: z.ZodOptional<z.ZodBoolean>;
230
+ sni: z.ZodOptional<z.ZodString>;
231
+ shadowTls: z.ZodOptional<z.ZodObject<{
232
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>>;
233
+ password: z.ZodString;
234
+ sni: z.ZodString;
235
+ }, "strip", z.ZodTypeAny, {
236
+ password: string;
237
+ sni: string;
238
+ version?: number | undefined;
239
+ }, {
240
+ password: string;
241
+ sni: string;
242
+ version?: string | number | undefined;
243
+ }>>;
244
+ underlyingProxy: z.ZodOptional<z.ZodString>;
245
+ testUrl: z.ZodOptional<z.ZodString>;
246
+ hostname: z.ZodString;
247
+ tls13: z.ZodOptional<z.ZodBoolean>;
248
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
249
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
250
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
251
+ type: z.ZodLiteral<NodeTypeEnum.Tuic>;
252
+ password: z.ZodString;
253
+ uuid: z.ZodString;
254
+ version: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, number, string | number>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ type: NodeTypeEnum.Tuic;
257
+ port: string | number;
258
+ nodeName: string;
259
+ version: number;
260
+ password: string;
261
+ hostname: string;
262
+ uuid: string;
263
+ enable?: boolean | undefined;
264
+ tfo?: boolean | undefined;
265
+ mptcp?: boolean | undefined;
266
+ sni?: string | undefined;
267
+ shadowTls?: {
268
+ password: string;
269
+ sni: string;
270
+ version?: number | undefined;
271
+ } | undefined;
272
+ underlyingProxy?: string | undefined;
273
+ testUrl?: string | undefined;
274
+ tls13?: boolean | undefined;
275
+ skipCertVerify?: boolean | undefined;
276
+ alpn?: [string, ...string[]] | undefined;
277
+ serverCertFingerprintSha256?: string | undefined;
278
+ }, {
279
+ type: NodeTypeEnum.Tuic;
280
+ port: string | number;
281
+ nodeName: string;
282
+ version: string | number;
283
+ password: string;
284
+ hostname: string;
285
+ uuid: string;
286
+ enable?: boolean | undefined;
287
+ tfo?: boolean | undefined;
288
+ mptcp?: boolean | undefined;
289
+ sni?: string | undefined;
290
+ shadowTls?: {
291
+ password: string;
292
+ sni: string;
293
+ version?: string | number | undefined;
294
+ } | undefined;
295
+ underlyingProxy?: string | undefined;
296
+ testUrl?: string | undefined;
297
+ tls13?: boolean | undefined;
298
+ skipCertVerify?: boolean | undefined;
299
+ alpn?: [string, ...string[]] | undefined;
300
+ serverCertFingerprintSha256?: string | undefined;
301
+ }>]>;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TuicNodeConfigValidator = exports.TuicNodeV4ConfigValidator = exports.TuicNodeV5ConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.TuicNodeV5ConfigValidator = common_1.TlsNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Tuic),
9
+ password: zod_1.z.string(),
10
+ uuid: zod_1.z.string(),
11
+ version: common_1.IntegersVersionValidator,
12
+ });
13
+ exports.TuicNodeV4ConfigValidator = common_1.TlsNodeConfigValidator.extend({
14
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Tuic),
15
+ token: zod_1.z.string(),
16
+ });
17
+ exports.TuicNodeConfigValidator = zod_1.z.union([
18
+ exports.TuicNodeV4ConfigValidator,
19
+ exports.TuicNodeV5ConfigValidator,
20
+ ]);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVpYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0b3JzL3R1aWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXVCO0FBRXZCLG9DQUF1QztBQUN2QyxxQ0FBMkU7QUFFOUQsUUFBQSx5QkFBeUIsR0FBRywrQkFBc0IsQ0FBQyxNQUFNLENBQUM7SUFDckUsSUFBSSxFQUFFLE9BQUMsQ0FBQyxPQUFPLENBQUMsb0JBQVksQ0FBQyxJQUFJLENBQUM7SUFDbEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsT0FBTyxFQUFFLGlDQUF3QjtDQUNsQyxDQUFDLENBQUE7QUFFVyxRQUFBLHlCQUF5QixHQUFHLCtCQUFzQixDQUFDLE1BQU0sQ0FBQztJQUNyRSxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLElBQUksQ0FBQztJQUNsQyxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNsQixDQUFDLENBQUE7QUFFVyxRQUFBLHVCQUF1QixHQUFHLE9BQUMsQ0FBQyxLQUFLLENBQUM7SUFDN0MsaUNBQXlCO0lBQ3pCLGlDQUF5QjtDQUMxQixDQUFDLENBQUEifQ==
@@ -0,0 +1,92 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const VmessNodeConfigValidator: 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.Vmess>;
24
+ hostname: z.ZodString;
25
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
26
+ method: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"aes-128-gcm">, z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodLiteral<"auto">]>;
27
+ uuid: z.ZodString;
28
+ alterId: z.ZodString;
29
+ network: z.ZodUnion<[z.ZodLiteral<"tcp">, z.ZodLiteral<"ws">]>;
30
+ tls: z.ZodBoolean;
31
+ host: z.ZodOptional<z.ZodString>;
32
+ path: z.ZodOptional<z.ZodString>;
33
+ udpRelay: z.ZodOptional<z.ZodBoolean>;
34
+ tls13: z.ZodOptional<z.ZodBoolean>;
35
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
36
+ wsHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
37
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
38
+ }, "strip", z.ZodTypeAny, {
39
+ type: NodeTypeEnum.Vmess;
40
+ port: string | number;
41
+ nodeName: string;
42
+ hostname: string;
43
+ method: "none" | "aes-128-gcm" | "chacha20-ietf-poly1305" | "auto";
44
+ tls: boolean;
45
+ uuid: string;
46
+ alterId: string;
47
+ network: "ws" | "tcp";
48
+ enable?: boolean | undefined;
49
+ tfo?: boolean | undefined;
50
+ mptcp?: boolean | undefined;
51
+ shadowTls?: {
52
+ password: string;
53
+ sni: string;
54
+ version?: number | undefined;
55
+ } | undefined;
56
+ underlyingProxy?: string | undefined;
57
+ testUrl?: string | undefined;
58
+ host?: string | undefined;
59
+ path?: string | undefined;
60
+ udpRelay?: boolean | undefined;
61
+ tls13?: boolean | undefined;
62
+ skipCertVerify?: boolean | undefined;
63
+ wsHeaders?: Record<string, string> | undefined;
64
+ serverCertFingerprintSha256?: string | undefined;
65
+ }, {
66
+ type: NodeTypeEnum.Vmess;
67
+ port: string | number;
68
+ nodeName: string;
69
+ hostname: string;
70
+ method: "none" | "aes-128-gcm" | "chacha20-ietf-poly1305" | "auto";
71
+ tls: boolean;
72
+ uuid: string;
73
+ alterId: string;
74
+ network: "ws" | "tcp";
75
+ enable?: boolean | undefined;
76
+ tfo?: boolean | undefined;
77
+ mptcp?: boolean | undefined;
78
+ shadowTls?: {
79
+ password: string;
80
+ sni: string;
81
+ version?: string | number | undefined;
82
+ } | undefined;
83
+ underlyingProxy?: string | undefined;
84
+ testUrl?: string | undefined;
85
+ host?: string | undefined;
86
+ path?: string | undefined;
87
+ udpRelay?: boolean | undefined;
88
+ tls13?: boolean | undefined;
89
+ skipCertVerify?: boolean | undefined;
90
+ wsHeaders?: Record<string, string> | undefined;
91
+ serverCertFingerprintSha256?: string | undefined;
92
+ }>;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VmessNodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ exports.VmessNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Vmess),
9
+ hostname: zod_1.z.string(),
10
+ port: common_1.PortValidator,
11
+ method: zod_1.z.union([
12
+ zod_1.z.literal('none'),
13
+ zod_1.z.literal('aes-128-gcm'),
14
+ zod_1.z.literal('chacha20-ietf-poly1305'),
15
+ zod_1.z.literal('auto'),
16
+ ]),
17
+ uuid: zod_1.z.string().uuid(),
18
+ alterId: zod_1.z.string(),
19
+ network: zod_1.z.union([zod_1.z.literal('tcp'), zod_1.z.literal('ws')]),
20
+ tls: zod_1.z.boolean(),
21
+ host: zod_1.z.ostring(),
22
+ path: zod_1.z.ostring(),
23
+ udpRelay: zod_1.z.oboolean(),
24
+ tls13: zod_1.z.oboolean(),
25
+ skipCertVerify: zod_1.z.oboolean(),
26
+ wsHeaders: zod_1.z.record(zod_1.z.string()).optional(),
27
+ serverCertFingerprintSha256: zod_1.z.ostring(),
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidm1lc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdG9ycy92bWVzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFFdkIsb0NBQXVDO0FBQ3ZDLHFDQUFtRTtBQUV0RCxRQUFBLHdCQUF3QixHQUFHLGtDQUF5QixDQUFDLE1BQU0sQ0FBQztJQUN2RSxJQUFJLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNwQixJQUFJLEVBQUUsc0JBQWE7SUFDbkIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUM7UUFDZCxPQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUNqQixPQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUN4QixPQUFDLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDO1FBQ25DLE9BQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO0tBQ2xCLENBQUM7SUFDRixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRTtJQUN2QixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNuQixPQUFPLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3JELEdBQUcsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0lBQ2hCLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0lBQ2pCLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0lBQ2pCLFFBQVEsRUFBRSxPQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3RCLEtBQUssRUFBRSxPQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25CLGNBQWMsRUFBRSxPQUFDLENBQUMsUUFBUSxFQUFFO0lBQzVCLFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQywyQkFBMkIsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFO0NBQ3pDLENBQUMsQ0FBQSJ9
@@ -0,0 +1,123 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const WireguardNodeConfigValidator: 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.Wireguard>;
24
+ selfIp: z.ZodString;
25
+ selfIpV6: z.ZodOptional<z.ZodString>;
26
+ preferIpv6: z.ZodOptional<z.ZodBoolean>;
27
+ privateKey: z.ZodString;
28
+ mtu: z.ZodOptional<z.ZodNumber>;
29
+ dnsServers: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
30
+ peers: z.ZodArray<z.ZodObject<{
31
+ publicKey: z.ZodString;
32
+ endpoint: z.ZodString;
33
+ allowedIps: z.ZodOptional<z.ZodString>;
34
+ keepalive: z.ZodOptional<z.ZodNumber>;
35
+ presharedKey: z.ZodOptional<z.ZodString>;
36
+ reservedBits: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ endpoint: string;
39
+ publicKey: string;
40
+ allowedIps?: string | undefined;
41
+ keepalive?: number | undefined;
42
+ presharedKey?: string | undefined;
43
+ reservedBits?: number[] | undefined;
44
+ }, {
45
+ endpoint: string;
46
+ publicKey: string;
47
+ allowedIps?: string | undefined;
48
+ keepalive?: number | undefined;
49
+ presharedKey?: string | undefined;
50
+ reservedBits?: number[] | undefined;
51
+ }>, "atleastone">;
52
+ reservedBits: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
53
+ }, "strip", z.ZodTypeAny, {
54
+ type: NodeTypeEnum.Wireguard;
55
+ nodeName: string;
56
+ selfIp: string;
57
+ privateKey: string;
58
+ peers: [{
59
+ endpoint: string;
60
+ publicKey: string;
61
+ allowedIps?: string | undefined;
62
+ keepalive?: number | undefined;
63
+ presharedKey?: string | undefined;
64
+ reservedBits?: number[] | undefined;
65
+ }, ...{
66
+ endpoint: string;
67
+ publicKey: string;
68
+ allowedIps?: string | undefined;
69
+ keepalive?: number | undefined;
70
+ presharedKey?: string | undefined;
71
+ reservedBits?: number[] | undefined;
72
+ }[]];
73
+ enable?: boolean | undefined;
74
+ tfo?: boolean | undefined;
75
+ mptcp?: boolean | undefined;
76
+ shadowTls?: {
77
+ password: string;
78
+ sni: string;
79
+ version?: number | undefined;
80
+ } | undefined;
81
+ underlyingProxy?: string | undefined;
82
+ testUrl?: string | undefined;
83
+ selfIpV6?: string | undefined;
84
+ preferIpv6?: boolean | undefined;
85
+ mtu?: number | undefined;
86
+ dnsServers?: [string, ...string[]] | undefined;
87
+ reservedBits?: number[] | undefined;
88
+ }, {
89
+ type: NodeTypeEnum.Wireguard;
90
+ nodeName: string;
91
+ selfIp: string;
92
+ privateKey: string;
93
+ peers: [{
94
+ endpoint: string;
95
+ publicKey: string;
96
+ allowedIps?: string | undefined;
97
+ keepalive?: number | undefined;
98
+ presharedKey?: string | undefined;
99
+ reservedBits?: number[] | undefined;
100
+ }, ...{
101
+ endpoint: string;
102
+ publicKey: string;
103
+ allowedIps?: string | undefined;
104
+ keepalive?: number | undefined;
105
+ presharedKey?: string | undefined;
106
+ reservedBits?: number[] | undefined;
107
+ }[]];
108
+ enable?: boolean | undefined;
109
+ tfo?: boolean | undefined;
110
+ mptcp?: boolean | undefined;
111
+ shadowTls?: {
112
+ password: string;
113
+ sni: string;
114
+ version?: string | number | undefined;
115
+ } | undefined;
116
+ underlyingProxy?: string | undefined;
117
+ testUrl?: string | undefined;
118
+ selfIpV6?: string | undefined;
119
+ preferIpv6?: boolean | undefined;
120
+ mtu?: number | undefined;
121
+ dnsServers?: [string, ...string[]] | undefined;
122
+ reservedBits?: number[] | undefined;
123
+ }>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WireguardNodeConfigValidator = void 0;
4
+ const zod_1 = require("zod");
5
+ const types_1 = require("../types");
6
+ const common_1 = require("./common");
7
+ const WireguardPeerConfigValidator = zod_1.z.object({
8
+ publicKey: zod_1.z.string(),
9
+ endpoint: zod_1.z.string().includes(':'),
10
+ allowedIps: zod_1.z.string().optional(),
11
+ keepalive: zod_1.z.number().optional(),
12
+ presharedKey: zod_1.z.string().optional(),
13
+ reservedBits: zod_1.z.array(zod_1.z.number()).optional(),
14
+ });
15
+ exports.WireguardNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
16
+ type: zod_1.z.literal(types_1.NodeTypeEnum.Wireguard),
17
+ selfIp: zod_1.z.string().ip({ version: 'v4' }),
18
+ selfIpV6: zod_1.z.string().ip({ version: 'v6' }).optional(),
19
+ preferIpv6: zod_1.z.boolean().optional(),
20
+ privateKey: zod_1.z.string(),
21
+ mtu: zod_1.z.number().optional(),
22
+ dnsServers: zod_1.z.array(zod_1.z.string().ip()).nonempty().optional(),
23
+ peers: zod_1.z.array(WireguardPeerConfigValidator).nonempty(),
24
+ reservedBits: zod_1.z.array(zod_1.z.number()).optional(),
25
+ });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lyZWd1YXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRvcnMvd2lyZWd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF1QjtBQUV2QixvQ0FBdUM7QUFDdkMscUNBQW9EO0FBRXBELE1BQU0sNEJBQTRCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNyQixRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7SUFDbEMsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsWUFBWSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0NBQzdDLENBQUMsQ0FBQTtBQUVXLFFBQUEsNEJBQTRCLEdBQUcsa0NBQXlCLENBQUMsTUFBTSxDQUFDO0lBQzNFLElBQUksRUFBRSxPQUFDLENBQUMsT0FBTyxDQUFDLG9CQUFZLENBQUMsU0FBUyxDQUFDO0lBQ3ZDLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3JELFVBQVUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3RCLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFCLFVBQVUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxRCxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN2RCxZQUFZLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDN0MsQ0FBQyxDQUFBIn0=
package/config.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './build/config'
package/config.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./build/config')
package/constant.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './build/constant'
package/constant.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./build/constant')
package/generator.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './build/generator'
package/generator.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./build/generator')