surgio 3.18.0 → 3.19.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.
@@ -0,0 +1,633 @@
1
+ import { z } from 'zod';
2
+ import { NodeTypeEnum } from '../types';
3
+ export declare const MasqueNodeConfigValidator: z.ZodEffects<z.ZodDiscriminatedUnion<"authMode", [z.ZodObject<{
4
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
5
+ nodeName: z.ZodString;
6
+ enable: z.ZodOptional<z.ZodBoolean>;
7
+ tfo: z.ZodOptional<z.ZodBoolean>;
8
+ mptcp: z.ZodOptional<z.ZodBoolean>;
9
+ ecn: z.ZodOptional<z.ZodBoolean>;
10
+ sni: z.ZodOptional<z.ZodString>;
11
+ shadowTls: z.ZodOptional<z.ZodObject<{
12
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
13
+ password: z.ZodString;
14
+ sni: z.ZodString;
15
+ }, "strip", z.ZodTypeAny, {
16
+ password: string;
17
+ sni: string;
18
+ version?: string | number | undefined;
19
+ }, {
20
+ password: string;
21
+ sni: string;
22
+ version?: string | number | undefined;
23
+ }>>;
24
+ blockQuic: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>;
25
+ portHopping: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
26
+ portHoppingInterval: z.ZodOptional<z.ZodNumber>;
27
+ underlyingProxy: z.ZodOptional<z.ZodString>;
28
+ testUrl: z.ZodOptional<z.ZodString>;
29
+ testTimeout: z.ZodOptional<z.ZodNumber>;
30
+ surgeConfig: z.ZodOptional<z.ZodObject<{
31
+ resolveHostname: z.ZodOptional<z.ZodBoolean>;
32
+ vmessAEAD: z.ZodOptional<z.ZodBoolean>;
33
+ }, "strip", z.ZodTypeAny, {
34
+ resolveHostname?: boolean | undefined;
35
+ vmessAEAD?: boolean | undefined;
36
+ }, {
37
+ resolveHostname?: boolean | undefined;
38
+ vmessAEAD?: boolean | undefined;
39
+ }>>;
40
+ surfboardConfig: z.ZodOptional<z.ZodObject<{
41
+ vmessAEAD: z.ZodOptional<z.ZodBoolean>;
42
+ }, "strip", z.ZodTypeAny, {
43
+ vmessAEAD?: boolean | undefined;
44
+ }, {
45
+ vmessAEAD?: boolean | undefined;
46
+ }>>;
47
+ quantumultXConfig: z.ZodOptional<z.ZodObject<{
48
+ vmessAEAD: z.ZodOptional<z.ZodBoolean>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ vmessAEAD?: boolean | undefined;
51
+ }, {
52
+ vmessAEAD?: boolean | undefined;
53
+ }>>;
54
+ clashConfig: z.ZodOptional<z.ZodObject<{
55
+ enableTuic: z.ZodOptional<z.ZodBoolean>;
56
+ enableShadowTls: z.ZodOptional<z.ZodBoolean>;
57
+ enableHysteria2: z.ZodOptional<z.ZodBoolean>;
58
+ enableVless: z.ZodOptional<z.ZodBoolean>;
59
+ clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>;
60
+ }, "strip", z.ZodTypeAny, {
61
+ enableTuic?: boolean | undefined;
62
+ enableShadowTls?: boolean | undefined;
63
+ enableHysteria2?: boolean | undefined;
64
+ enableVless?: boolean | undefined;
65
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
66
+ }, {
67
+ enableTuic?: boolean | undefined;
68
+ enableShadowTls?: boolean | undefined;
69
+ enableHysteria2?: boolean | undefined;
70
+ enableVless?: boolean | undefined;
71
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
72
+ }>>;
73
+ hostnameIp: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
74
+ binPath: z.ZodOptional<z.ZodString>;
75
+ localPort: z.ZodOptional<z.ZodNumber>;
76
+ interfaceName: z.ZodOptional<z.ZodString>;
77
+ ipVersion: z.ZodOptional<z.ZodString>;
78
+ hostname: z.ZodString;
79
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
80
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
81
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
82
+ clientFingerprint: z.ZodOptional<z.ZodString>;
83
+ } & {
84
+ type: z.ZodLiteral<NodeTypeEnum.Masque>;
85
+ authMode: z.ZodLiteral<"basic-auth">;
86
+ username: z.ZodOptional<z.ZodString>;
87
+ password: z.ZodOptional<z.ZodString>;
88
+ }, "strip", z.ZodTypeAny, {
89
+ port: string | number;
90
+ type: NodeTypeEnum.Masque;
91
+ nodeName: string;
92
+ hostname: string;
93
+ authMode: "basic-auth";
94
+ enable?: boolean | undefined;
95
+ tfo?: boolean | undefined;
96
+ mptcp?: boolean | undefined;
97
+ ecn?: boolean | undefined;
98
+ password?: string | undefined;
99
+ sni?: string | undefined;
100
+ shadowTls?: {
101
+ password: string;
102
+ sni: string;
103
+ version?: string | number | undefined;
104
+ } | undefined;
105
+ blockQuic?: "auto" | "on" | "off" | undefined;
106
+ portHopping?: string | undefined;
107
+ portHoppingInterval?: number | undefined;
108
+ underlyingProxy?: string | undefined;
109
+ testUrl?: string | undefined;
110
+ testTimeout?: number | undefined;
111
+ surgeConfig?: {
112
+ resolveHostname?: boolean | undefined;
113
+ vmessAEAD?: boolean | undefined;
114
+ } | undefined;
115
+ surfboardConfig?: {
116
+ vmessAEAD?: boolean | undefined;
117
+ } | undefined;
118
+ quantumultXConfig?: {
119
+ vmessAEAD?: boolean | undefined;
120
+ } | undefined;
121
+ clashConfig?: {
122
+ enableTuic?: boolean | undefined;
123
+ enableShadowTls?: boolean | undefined;
124
+ enableHysteria2?: boolean | undefined;
125
+ enableVless?: boolean | undefined;
126
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
127
+ } | undefined;
128
+ hostnameIp?: readonly string[] | undefined;
129
+ binPath?: string | undefined;
130
+ localPort?: number | undefined;
131
+ interfaceName?: string | undefined;
132
+ ipVersion?: string | undefined;
133
+ skipCertVerify?: boolean | undefined;
134
+ alpn?: [string, ...string[]] | undefined;
135
+ serverCertFingerprintSha256?: string | undefined;
136
+ clientFingerprint?: string | undefined;
137
+ username?: string | undefined;
138
+ }, {
139
+ port: string | number;
140
+ type: NodeTypeEnum.Masque;
141
+ nodeName: string;
142
+ hostname: string;
143
+ authMode: "basic-auth";
144
+ enable?: boolean | undefined;
145
+ tfo?: boolean | undefined;
146
+ mptcp?: boolean | undefined;
147
+ ecn?: boolean | undefined;
148
+ password?: string | undefined;
149
+ sni?: string | undefined;
150
+ shadowTls?: {
151
+ password: string;
152
+ sni: string;
153
+ version?: string | number | undefined;
154
+ } | undefined;
155
+ blockQuic?: "auto" | "on" | "off" | undefined;
156
+ portHopping?: string | undefined;
157
+ portHoppingInterval?: number | undefined;
158
+ underlyingProxy?: string | undefined;
159
+ testUrl?: string | undefined;
160
+ testTimeout?: number | undefined;
161
+ surgeConfig?: {
162
+ resolveHostname?: boolean | undefined;
163
+ vmessAEAD?: boolean | undefined;
164
+ } | undefined;
165
+ surfboardConfig?: {
166
+ vmessAEAD?: boolean | undefined;
167
+ } | undefined;
168
+ quantumultXConfig?: {
169
+ vmessAEAD?: boolean | undefined;
170
+ } | undefined;
171
+ clashConfig?: {
172
+ enableTuic?: boolean | undefined;
173
+ enableShadowTls?: boolean | undefined;
174
+ enableHysteria2?: boolean | undefined;
175
+ enableVless?: boolean | undefined;
176
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
177
+ } | undefined;
178
+ hostnameIp?: readonly string[] | undefined;
179
+ binPath?: string | undefined;
180
+ localPort?: number | undefined;
181
+ interfaceName?: string | undefined;
182
+ ipVersion?: string | undefined;
183
+ skipCertVerify?: boolean | undefined;
184
+ alpn?: [string, ...string[]] | undefined;
185
+ serverCertFingerprintSha256?: string | undefined;
186
+ clientFingerprint?: string | undefined;
187
+ username?: string | undefined;
188
+ }>, z.ZodObject<{
189
+ port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
190
+ nodeName: z.ZodString;
191
+ enable: z.ZodOptional<z.ZodBoolean>;
192
+ tfo: z.ZodOptional<z.ZodBoolean>;
193
+ mptcp: z.ZodOptional<z.ZodBoolean>;
194
+ ecn: z.ZodOptional<z.ZodBoolean>;
195
+ shadowTls: z.ZodOptional<z.ZodObject<{
196
+ version: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>;
197
+ password: z.ZodString;
198
+ sni: z.ZodString;
199
+ }, "strip", z.ZodTypeAny, {
200
+ password: string;
201
+ sni: string;
202
+ version?: string | number | undefined;
203
+ }, {
204
+ password: string;
205
+ sni: string;
206
+ version?: string | number | undefined;
207
+ }>>;
208
+ blockQuic: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"auto">, z.ZodLiteral<"on">, z.ZodLiteral<"off">]>>;
209
+ portHopping: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
210
+ portHoppingInterval: z.ZodOptional<z.ZodNumber>;
211
+ underlyingProxy: z.ZodOptional<z.ZodString>;
212
+ testUrl: z.ZodOptional<z.ZodString>;
213
+ testTimeout: z.ZodOptional<z.ZodNumber>;
214
+ surgeConfig: z.ZodOptional<z.ZodObject<{
215
+ resolveHostname: z.ZodOptional<z.ZodBoolean>;
216
+ vmessAEAD: z.ZodOptional<z.ZodBoolean>;
217
+ }, "strip", z.ZodTypeAny, {
218
+ resolveHostname?: boolean | undefined;
219
+ vmessAEAD?: boolean | undefined;
220
+ }, {
221
+ resolveHostname?: boolean | undefined;
222
+ vmessAEAD?: boolean | undefined;
223
+ }>>;
224
+ surfboardConfig: z.ZodOptional<z.ZodObject<{
225
+ vmessAEAD: z.ZodOptional<z.ZodBoolean>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ vmessAEAD?: boolean | undefined;
228
+ }, {
229
+ vmessAEAD?: boolean | undefined;
230
+ }>>;
231
+ quantumultXConfig: z.ZodOptional<z.ZodObject<{
232
+ vmessAEAD: z.ZodOptional<z.ZodBoolean>;
233
+ }, "strip", z.ZodTypeAny, {
234
+ vmessAEAD?: boolean | undefined;
235
+ }, {
236
+ vmessAEAD?: boolean | undefined;
237
+ }>>;
238
+ clashConfig: z.ZodOptional<z.ZodObject<{
239
+ enableTuic: z.ZodOptional<z.ZodBoolean>;
240
+ enableShadowTls: z.ZodOptional<z.ZodBoolean>;
241
+ enableHysteria2: z.ZodOptional<z.ZodBoolean>;
242
+ enableVless: z.ZodOptional<z.ZodBoolean>;
243
+ clashCore: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"clash">, z.ZodLiteral<"clash.meta">, z.ZodLiteral<"stash">]>>;
244
+ }, "strip", z.ZodTypeAny, {
245
+ enableTuic?: boolean | undefined;
246
+ enableShadowTls?: boolean | undefined;
247
+ enableHysteria2?: boolean | undefined;
248
+ enableVless?: boolean | undefined;
249
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
250
+ }, {
251
+ enableTuic?: boolean | undefined;
252
+ enableShadowTls?: boolean | undefined;
253
+ enableHysteria2?: boolean | undefined;
254
+ enableVless?: boolean | undefined;
255
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
256
+ }>>;
257
+ hostnameIp: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodString, "many">>>;
258
+ binPath: z.ZodOptional<z.ZodString>;
259
+ localPort: z.ZodOptional<z.ZodNumber>;
260
+ interfaceName: z.ZodOptional<z.ZodString>;
261
+ ipVersion: z.ZodOptional<z.ZodString>;
262
+ hostname: z.ZodString;
263
+ skipCertVerify: z.ZodOptional<z.ZodBoolean>;
264
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
265
+ serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
266
+ clientFingerprint: z.ZodOptional<z.ZodString>;
267
+ } & {
268
+ type: z.ZodLiteral<NodeTypeEnum.Masque>;
269
+ authMode: z.ZodLiteral<"key-pair">;
270
+ privateKey: z.ZodString;
271
+ publicKey: z.ZodString;
272
+ ip: z.ZodOptional<z.ZodString>;
273
+ ipv6: z.ZodOptional<z.ZodString>;
274
+ dnsServers: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
275
+ network: z.ZodOptional<z.ZodEnum<["h3", "h2", "h3-l4proxy"]>>;
276
+ sni: z.ZodOptional<z.ZodString>;
277
+ connectUri: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
278
+ mtu: z.ZodOptional<z.ZodNumber>;
279
+ keepalive: z.ZodOptional<z.ZodNumber>;
280
+ udpRelay: z.ZodOptional<z.ZodBoolean>;
281
+ remoteDnsResolve: z.ZodOptional<z.ZodBoolean>;
282
+ congestionController: z.ZodOptional<z.ZodLiteral<"bbr">>;
283
+ bbrProfile: z.ZodOptional<z.ZodEnum<["standard", "conservative", "aggressive"]>>;
284
+ handshakeTimeout: z.ZodOptional<z.ZodNumber>;
285
+ }, "strip", z.ZodTypeAny, {
286
+ port: string | number;
287
+ type: NodeTypeEnum.Masque;
288
+ nodeName: string;
289
+ hostname: string;
290
+ publicKey: string;
291
+ privateKey: string;
292
+ authMode: "key-pair";
293
+ enable?: boolean | undefined;
294
+ tfo?: boolean | undefined;
295
+ mptcp?: boolean | undefined;
296
+ ecn?: boolean | undefined;
297
+ sni?: string | undefined;
298
+ shadowTls?: {
299
+ password: string;
300
+ sni: string;
301
+ version?: string | number | undefined;
302
+ } | undefined;
303
+ blockQuic?: "auto" | "on" | "off" | undefined;
304
+ portHopping?: string | undefined;
305
+ portHoppingInterval?: number | undefined;
306
+ underlyingProxy?: string | undefined;
307
+ testUrl?: string | undefined;
308
+ testTimeout?: number | undefined;
309
+ surgeConfig?: {
310
+ resolveHostname?: boolean | undefined;
311
+ vmessAEAD?: boolean | undefined;
312
+ } | undefined;
313
+ surfboardConfig?: {
314
+ vmessAEAD?: boolean | undefined;
315
+ } | undefined;
316
+ quantumultXConfig?: {
317
+ vmessAEAD?: boolean | undefined;
318
+ } | undefined;
319
+ clashConfig?: {
320
+ enableTuic?: boolean | undefined;
321
+ enableShadowTls?: boolean | undefined;
322
+ enableHysteria2?: boolean | undefined;
323
+ enableVless?: boolean | undefined;
324
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
325
+ } | undefined;
326
+ hostnameIp?: readonly string[] | undefined;
327
+ binPath?: string | undefined;
328
+ localPort?: number | undefined;
329
+ interfaceName?: string | undefined;
330
+ ipVersion?: string | undefined;
331
+ skipCertVerify?: boolean | undefined;
332
+ alpn?: [string, ...string[]] | undefined;
333
+ serverCertFingerprintSha256?: string | undefined;
334
+ clientFingerprint?: string | undefined;
335
+ udpRelay?: boolean | undefined;
336
+ network?: "h2" | "h3" | "h3-l4proxy" | undefined;
337
+ mtu?: number | undefined;
338
+ dnsServers?: [string, ...string[]] | undefined;
339
+ keepalive?: number | undefined;
340
+ ipv6?: string | undefined;
341
+ ip?: string | undefined;
342
+ connectUri?: string | undefined;
343
+ remoteDnsResolve?: boolean | undefined;
344
+ congestionController?: "bbr" | undefined;
345
+ bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
346
+ handshakeTimeout?: number | undefined;
347
+ }, {
348
+ port: string | number;
349
+ type: NodeTypeEnum.Masque;
350
+ nodeName: string;
351
+ hostname: string;
352
+ publicKey: string;
353
+ privateKey: string;
354
+ authMode: "key-pair";
355
+ enable?: boolean | undefined;
356
+ tfo?: boolean | undefined;
357
+ mptcp?: boolean | undefined;
358
+ ecn?: boolean | undefined;
359
+ sni?: string | undefined;
360
+ shadowTls?: {
361
+ password: string;
362
+ sni: string;
363
+ version?: string | number | undefined;
364
+ } | undefined;
365
+ blockQuic?: "auto" | "on" | "off" | undefined;
366
+ portHopping?: string | undefined;
367
+ portHoppingInterval?: number | undefined;
368
+ underlyingProxy?: string | undefined;
369
+ testUrl?: string | undefined;
370
+ testTimeout?: number | undefined;
371
+ surgeConfig?: {
372
+ resolveHostname?: boolean | undefined;
373
+ vmessAEAD?: boolean | undefined;
374
+ } | undefined;
375
+ surfboardConfig?: {
376
+ vmessAEAD?: boolean | undefined;
377
+ } | undefined;
378
+ quantumultXConfig?: {
379
+ vmessAEAD?: boolean | undefined;
380
+ } | undefined;
381
+ clashConfig?: {
382
+ enableTuic?: boolean | undefined;
383
+ enableShadowTls?: boolean | undefined;
384
+ enableHysteria2?: boolean | undefined;
385
+ enableVless?: boolean | undefined;
386
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
387
+ } | undefined;
388
+ hostnameIp?: readonly string[] | undefined;
389
+ binPath?: string | undefined;
390
+ localPort?: number | undefined;
391
+ interfaceName?: string | undefined;
392
+ ipVersion?: string | undefined;
393
+ skipCertVerify?: boolean | undefined;
394
+ alpn?: [string, ...string[]] | undefined;
395
+ serverCertFingerprintSha256?: string | undefined;
396
+ clientFingerprint?: string | undefined;
397
+ udpRelay?: boolean | undefined;
398
+ network?: "h2" | "h3" | "h3-l4proxy" | undefined;
399
+ mtu?: number | undefined;
400
+ dnsServers?: [string, ...string[]] | undefined;
401
+ keepalive?: number | undefined;
402
+ ipv6?: string | undefined;
403
+ ip?: string | undefined;
404
+ connectUri?: string | undefined;
405
+ remoteDnsResolve?: boolean | undefined;
406
+ congestionController?: "bbr" | undefined;
407
+ bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
408
+ handshakeTimeout?: number | undefined;
409
+ }>]>, {
410
+ port: string | number;
411
+ type: NodeTypeEnum.Masque;
412
+ nodeName: string;
413
+ hostname: string;
414
+ authMode: "basic-auth";
415
+ enable?: boolean | undefined;
416
+ tfo?: boolean | undefined;
417
+ mptcp?: boolean | undefined;
418
+ ecn?: boolean | undefined;
419
+ password?: string | undefined;
420
+ sni?: string | undefined;
421
+ shadowTls?: {
422
+ password: string;
423
+ sni: string;
424
+ version?: string | number | undefined;
425
+ } | undefined;
426
+ blockQuic?: "auto" | "on" | "off" | undefined;
427
+ portHopping?: string | undefined;
428
+ portHoppingInterval?: number | undefined;
429
+ underlyingProxy?: string | undefined;
430
+ testUrl?: string | undefined;
431
+ testTimeout?: number | undefined;
432
+ surgeConfig?: {
433
+ resolveHostname?: boolean | undefined;
434
+ vmessAEAD?: boolean | undefined;
435
+ } | undefined;
436
+ surfboardConfig?: {
437
+ vmessAEAD?: boolean | undefined;
438
+ } | undefined;
439
+ quantumultXConfig?: {
440
+ vmessAEAD?: boolean | undefined;
441
+ } | undefined;
442
+ clashConfig?: {
443
+ enableTuic?: boolean | undefined;
444
+ enableShadowTls?: boolean | undefined;
445
+ enableHysteria2?: boolean | undefined;
446
+ enableVless?: boolean | undefined;
447
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
448
+ } | undefined;
449
+ hostnameIp?: readonly string[] | undefined;
450
+ binPath?: string | undefined;
451
+ localPort?: number | undefined;
452
+ interfaceName?: string | undefined;
453
+ ipVersion?: string | undefined;
454
+ skipCertVerify?: boolean | undefined;
455
+ alpn?: [string, ...string[]] | undefined;
456
+ serverCertFingerprintSha256?: string | undefined;
457
+ clientFingerprint?: string | undefined;
458
+ username?: string | undefined;
459
+ } | {
460
+ port: string | number;
461
+ type: NodeTypeEnum.Masque;
462
+ nodeName: string;
463
+ hostname: string;
464
+ publicKey: string;
465
+ privateKey: string;
466
+ authMode: "key-pair";
467
+ enable?: boolean | undefined;
468
+ tfo?: boolean | undefined;
469
+ mptcp?: boolean | undefined;
470
+ ecn?: boolean | undefined;
471
+ sni?: string | undefined;
472
+ shadowTls?: {
473
+ password: string;
474
+ sni: string;
475
+ version?: string | number | undefined;
476
+ } | undefined;
477
+ blockQuic?: "auto" | "on" | "off" | undefined;
478
+ portHopping?: string | undefined;
479
+ portHoppingInterval?: number | undefined;
480
+ underlyingProxy?: string | undefined;
481
+ testUrl?: string | undefined;
482
+ testTimeout?: number | undefined;
483
+ surgeConfig?: {
484
+ resolveHostname?: boolean | undefined;
485
+ vmessAEAD?: boolean | undefined;
486
+ } | undefined;
487
+ surfboardConfig?: {
488
+ vmessAEAD?: boolean | undefined;
489
+ } | undefined;
490
+ quantumultXConfig?: {
491
+ vmessAEAD?: boolean | undefined;
492
+ } | undefined;
493
+ clashConfig?: {
494
+ enableTuic?: boolean | undefined;
495
+ enableShadowTls?: boolean | undefined;
496
+ enableHysteria2?: boolean | undefined;
497
+ enableVless?: boolean | undefined;
498
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
499
+ } | undefined;
500
+ hostnameIp?: readonly string[] | undefined;
501
+ binPath?: string | undefined;
502
+ localPort?: number | undefined;
503
+ interfaceName?: string | undefined;
504
+ ipVersion?: string | undefined;
505
+ skipCertVerify?: boolean | undefined;
506
+ alpn?: [string, ...string[]] | undefined;
507
+ serverCertFingerprintSha256?: string | undefined;
508
+ clientFingerprint?: string | undefined;
509
+ udpRelay?: boolean | undefined;
510
+ network?: "h2" | "h3" | "h3-l4proxy" | undefined;
511
+ mtu?: number | undefined;
512
+ dnsServers?: [string, ...string[]] | undefined;
513
+ keepalive?: number | undefined;
514
+ ipv6?: string | undefined;
515
+ ip?: string | undefined;
516
+ connectUri?: string | undefined;
517
+ remoteDnsResolve?: boolean | undefined;
518
+ congestionController?: "bbr" | undefined;
519
+ bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
520
+ handshakeTimeout?: number | undefined;
521
+ }, {
522
+ port: string | number;
523
+ type: NodeTypeEnum.Masque;
524
+ nodeName: string;
525
+ hostname: string;
526
+ authMode: "basic-auth";
527
+ enable?: boolean | undefined;
528
+ tfo?: boolean | undefined;
529
+ mptcp?: boolean | undefined;
530
+ ecn?: boolean | undefined;
531
+ password?: string | undefined;
532
+ sni?: string | undefined;
533
+ shadowTls?: {
534
+ password: string;
535
+ sni: string;
536
+ version?: string | number | undefined;
537
+ } | undefined;
538
+ blockQuic?: "auto" | "on" | "off" | undefined;
539
+ portHopping?: string | undefined;
540
+ portHoppingInterval?: number | undefined;
541
+ underlyingProxy?: string | undefined;
542
+ testUrl?: string | undefined;
543
+ testTimeout?: number | undefined;
544
+ surgeConfig?: {
545
+ resolveHostname?: boolean | undefined;
546
+ vmessAEAD?: boolean | undefined;
547
+ } | undefined;
548
+ surfboardConfig?: {
549
+ vmessAEAD?: boolean | undefined;
550
+ } | undefined;
551
+ quantumultXConfig?: {
552
+ vmessAEAD?: boolean | undefined;
553
+ } | undefined;
554
+ clashConfig?: {
555
+ enableTuic?: boolean | undefined;
556
+ enableShadowTls?: boolean | undefined;
557
+ enableHysteria2?: boolean | undefined;
558
+ enableVless?: boolean | undefined;
559
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
560
+ } | undefined;
561
+ hostnameIp?: readonly string[] | undefined;
562
+ binPath?: string | undefined;
563
+ localPort?: number | undefined;
564
+ interfaceName?: string | undefined;
565
+ ipVersion?: string | undefined;
566
+ skipCertVerify?: boolean | undefined;
567
+ alpn?: [string, ...string[]] | undefined;
568
+ serverCertFingerprintSha256?: string | undefined;
569
+ clientFingerprint?: string | undefined;
570
+ username?: string | undefined;
571
+ } | {
572
+ port: string | number;
573
+ type: NodeTypeEnum.Masque;
574
+ nodeName: string;
575
+ hostname: string;
576
+ publicKey: string;
577
+ privateKey: string;
578
+ authMode: "key-pair";
579
+ enable?: boolean | undefined;
580
+ tfo?: boolean | undefined;
581
+ mptcp?: boolean | undefined;
582
+ ecn?: boolean | undefined;
583
+ sni?: string | undefined;
584
+ shadowTls?: {
585
+ password: string;
586
+ sni: string;
587
+ version?: string | number | undefined;
588
+ } | undefined;
589
+ blockQuic?: "auto" | "on" | "off" | undefined;
590
+ portHopping?: string | undefined;
591
+ portHoppingInterval?: number | undefined;
592
+ underlyingProxy?: string | undefined;
593
+ testUrl?: string | undefined;
594
+ testTimeout?: number | undefined;
595
+ surgeConfig?: {
596
+ resolveHostname?: boolean | undefined;
597
+ vmessAEAD?: boolean | undefined;
598
+ } | undefined;
599
+ surfboardConfig?: {
600
+ vmessAEAD?: boolean | undefined;
601
+ } | undefined;
602
+ quantumultXConfig?: {
603
+ vmessAEAD?: boolean | undefined;
604
+ } | undefined;
605
+ clashConfig?: {
606
+ enableTuic?: boolean | undefined;
607
+ enableShadowTls?: boolean | undefined;
608
+ enableHysteria2?: boolean | undefined;
609
+ enableVless?: boolean | undefined;
610
+ clashCore?: "clash" | "clash.meta" | "stash" | undefined;
611
+ } | undefined;
612
+ hostnameIp?: readonly string[] | undefined;
613
+ binPath?: string | undefined;
614
+ localPort?: number | undefined;
615
+ interfaceName?: string | undefined;
616
+ ipVersion?: string | undefined;
617
+ skipCertVerify?: boolean | undefined;
618
+ alpn?: [string, ...string[]] | undefined;
619
+ serverCertFingerprintSha256?: string | undefined;
620
+ clientFingerprint?: string | undefined;
621
+ udpRelay?: boolean | undefined;
622
+ network?: "h2" | "h3" | "h3-l4proxy" | undefined;
623
+ mtu?: number | undefined;
624
+ dnsServers?: [string, ...string[]] | undefined;
625
+ keepalive?: number | undefined;
626
+ ipv6?: string | undefined;
627
+ ip?: string | undefined;
628
+ connectUri?: string | undefined;
629
+ remoteDnsResolve?: boolean | undefined;
630
+ congestionController?: "bbr" | undefined;
631
+ bbrProfile?: "standard" | "conservative" | "aggressive" | undefined;
632
+ handshakeTimeout?: number | undefined;
633
+ }>;