@gozargah/xray-schema 0.0.3 → 0.0.5

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.
package/dist/index.d.ts CHANGED
@@ -120,17 +120,18 @@ declare const inbound: z.ZodDiscriminatedUnion<[z.ZodObject<{
120
120
  }>>>;
121
121
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
122
122
  email: z.ZodOptional<z.ZodString>;
123
- method: z.ZodEnum<{
124
- "2022-blake3-aes-128-gcm": "2022-blake3-aes-128-gcm";
125
- "2022-blake3-aes-256-gcm": "2022-blake3-aes-256-gcm";
126
- "2022-blake3-chacha20-poly1305": "2022-blake3-chacha20-poly1305";
127
- }>;
123
+ method: z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-256-gcm">, z.ZodLiteral<"2022-blake3-chacha20-poly1305">]>]>;
128
124
  password: z.ZodString;
129
125
  users: z.ZodOptional<z.ZodArray<z.ZodObject<{
130
126
  password: z.ZodOptional<z.ZodString>;
131
127
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
132
128
  email: z.ZodString;
133
129
  }, z.core.$strip>>>;
130
+ clients: z.ZodOptional<z.ZodArray<z.ZodObject<{
131
+ password: z.ZodOptional<z.ZodString>;
132
+ level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
133
+ email: z.ZodString;
134
+ }, z.core.$strip>>>;
134
135
  }, z.core.$strip>, z.ZodObject<{
135
136
  network: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
136
137
  tcp: "tcp";
@@ -140,30 +141,18 @@ declare const inbound: z.ZodDiscriminatedUnion<[z.ZodObject<{
140
141
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
141
142
  password: z.ZodOptional<z.ZodString>;
142
143
  email: z.ZodOptional<z.ZodString>;
143
- method: z.ZodEnum<{
144
- "": "";
145
- none: "none";
146
- "aes-256-gcm": "aes-256-gcm";
147
- "aes-128-gcm": "aes-128-gcm";
148
- "chacha20-poly1305": "chacha20-poly1305";
149
- "chacha20-ietf-poly1305": "chacha20-ietf-poly1305";
150
- "xchacha20-poly1305": "xchacha20-poly1305";
151
- "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305";
152
- }>;
144
+ method: z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>;
153
145
  users: z.ZodOptional<z.ZodArray<z.ZodObject<{
154
146
  password: z.ZodOptional<z.ZodString>;
155
147
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
156
148
  email: z.ZodString;
157
- method: z.ZodOptional<z.ZodEnum<{
158
- "": "";
159
- none: "none";
160
- "aes-256-gcm": "aes-256-gcm";
161
- "aes-128-gcm": "aes-128-gcm";
162
- "chacha20-poly1305": "chacha20-poly1305";
163
- "chacha20-ietf-poly1305": "chacha20-ietf-poly1305";
164
- "xchacha20-poly1305": "xchacha20-poly1305";
165
- "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305";
166
- }>>;
149
+ method: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>>;
150
+ }, z.core.$strip>>>;
151
+ clients: z.ZodOptional<z.ZodArray<z.ZodObject<{
152
+ password: z.ZodOptional<z.ZodString>;
153
+ level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
154
+ email: z.ZodString;
155
+ method: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>>;
167
156
  }, z.core.$strip>>>;
168
157
  }, z.core.$strip>], "method">;
169
158
  }, z.core.$strip>, z.ZodObject<{
@@ -697,17 +686,18 @@ declare const xraySchema: z.ZodObject<{
697
686
  }>>>;
698
687
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
699
688
  email: z.ZodOptional<z.ZodString>;
700
- method: z.ZodEnum<{
701
- "2022-blake3-aes-128-gcm": "2022-blake3-aes-128-gcm";
702
- "2022-blake3-aes-256-gcm": "2022-blake3-aes-256-gcm";
703
- "2022-blake3-chacha20-poly1305": "2022-blake3-chacha20-poly1305";
704
- }>;
689
+ method: z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-256-gcm">, z.ZodLiteral<"2022-blake3-chacha20-poly1305">]>]>;
705
690
  password: z.ZodString;
706
691
  users: z.ZodOptional<z.ZodArray<z.ZodObject<{
707
692
  password: z.ZodOptional<z.ZodString>;
708
693
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
709
694
  email: z.ZodString;
710
695
  }, z.core.$strip>>>;
696
+ clients: z.ZodOptional<z.ZodArray<z.ZodObject<{
697
+ password: z.ZodOptional<z.ZodString>;
698
+ level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
699
+ email: z.ZodString;
700
+ }, z.core.$strip>>>;
711
701
  }, z.core.$strip>, z.ZodObject<{
712
702
  network: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
713
703
  tcp: "tcp";
@@ -717,30 +707,18 @@ declare const xraySchema: z.ZodObject<{
717
707
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
718
708
  password: z.ZodOptional<z.ZodString>;
719
709
  email: z.ZodOptional<z.ZodString>;
720
- method: z.ZodEnum<{
721
- "": "";
722
- none: "none";
723
- "aes-256-gcm": "aes-256-gcm";
724
- "aes-128-gcm": "aes-128-gcm";
725
- "chacha20-poly1305": "chacha20-poly1305";
726
- "chacha20-ietf-poly1305": "chacha20-ietf-poly1305";
727
- "xchacha20-poly1305": "xchacha20-poly1305";
728
- "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305";
729
- }>;
710
+ method: z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>;
730
711
  users: z.ZodOptional<z.ZodArray<z.ZodObject<{
731
712
  password: z.ZodOptional<z.ZodString>;
732
713
  level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
733
714
  email: z.ZodString;
734
- method: z.ZodOptional<z.ZodEnum<{
735
- "": "";
736
- none: "none";
737
- "aes-256-gcm": "aes-256-gcm";
738
- "aes-128-gcm": "aes-128-gcm";
739
- "chacha20-poly1305": "chacha20-poly1305";
740
- "chacha20-ietf-poly1305": "chacha20-ietf-poly1305";
741
- "xchacha20-poly1305": "xchacha20-poly1305";
742
- "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305";
743
- }>>;
715
+ method: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>>;
716
+ }, z.core.$strip>>>;
717
+ clients: z.ZodOptional<z.ZodArray<z.ZodObject<{
718
+ password: z.ZodOptional<z.ZodString>;
719
+ level: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
720
+ email: z.ZodString;
721
+ method: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>>;
744
722
  }, z.core.$strip>>>;
745
723
  }, z.core.$strip>], "method">;
746
724
  }, z.core.$strip>, z.ZodObject<{
@@ -1256,20 +1234,7 @@ declare const xraySchema: z.ZodObject<{
1256
1234
  port: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodString]>;
1257
1235
  email: z.ZodOptional<z.ZodString>;
1258
1236
  password: z.ZodDefault<z.ZodString>;
1259
- method: z.ZodUnion<readonly [z.ZodEnum<{
1260
- "2022-blake3-aes-128-gcm": "2022-blake3-aes-128-gcm";
1261
- "2022-blake3-aes-256-gcm": "2022-blake3-aes-256-gcm";
1262
- "2022-blake3-chacha20-poly1305": "2022-blake3-chacha20-poly1305";
1263
- }>, z.ZodEnum<{
1264
- "": "";
1265
- none: "none";
1266
- "aes-256-gcm": "aes-256-gcm";
1267
- "aes-128-gcm": "aes-128-gcm";
1268
- "chacha20-poly1305": "chacha20-poly1305";
1269
- "chacha20-ietf-poly1305": "chacha20-ietf-poly1305";
1270
- "xchacha20-poly1305": "xchacha20-poly1305";
1271
- "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305";
1272
- }>]>;
1237
+ method: z.ZodUnion<readonly [z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-256-gcm">, z.ZodLiteral<"2022-blake3-chacha20-poly1305">]>]>, z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>]>;
1273
1238
  uot: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1274
1239
  UoTVersion: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>>;
1275
1240
  level: z.ZodOptional<z.ZodDefault<z.ZodInt>>;
@@ -1279,20 +1244,7 @@ declare const xraySchema: z.ZodObject<{
1279
1244
  port: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodString]>;
1280
1245
  email: z.ZodOptional<z.ZodString>;
1281
1246
  password: z.ZodDefault<z.ZodString>;
1282
- method: z.ZodUnion<readonly [z.ZodEnum<{
1283
- "2022-blake3-aes-128-gcm": "2022-blake3-aes-128-gcm";
1284
- "2022-blake3-aes-256-gcm": "2022-blake3-aes-256-gcm";
1285
- "2022-blake3-chacha20-poly1305": "2022-blake3-chacha20-poly1305";
1286
- }>, z.ZodEnum<{
1287
- "": "";
1288
- none: "none";
1289
- "aes-256-gcm": "aes-256-gcm";
1290
- "aes-128-gcm": "aes-128-gcm";
1291
- "chacha20-poly1305": "chacha20-poly1305";
1292
- "chacha20-ietf-poly1305": "chacha20-ietf-poly1305";
1293
- "xchacha20-poly1305": "xchacha20-poly1305";
1294
- "xchacha20-ietf-poly1305": "xchacha20-ietf-poly1305";
1295
- }>]>;
1247
+ method: z.ZodUnion<readonly [z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"2022-blake3-aes-256-gcm">, z.ZodLiteral<"2022-blake3-chacha20-poly1305">]>]>, z.ZodUnion<[z.ZodLiteral<"aes-256-gcm">, z.ZodUnion<[z.ZodLiteral<"aes-128-gcm">, z.ZodUnion<[z.ZodLiteral<"chacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-poly1305">, z.ZodUnion<[z.ZodLiteral<"xchacha20-ietf-poly1305">, z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"">]>]>]>]>]>]>]>]>;
1296
1248
  uot: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1297
1249
  UoTVersion: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<2>]>>>;
1298
1250
  level: z.ZodOptional<z.ZodDefault<z.ZodInt>>;
@@ -1435,7 +1387,7 @@ declare const xraySchema: z.ZodObject<{
1435
1387
  }>>>;
1436
1388
  }, z.core.$strip>>;
1437
1389
  protocol: z.ZodLiteral<"vless">;
1438
- settings: z.ZodObject<{
1390
+ settings: z.ZodUnion<[z.ZodObject<{
1439
1391
  address: z.ZodString;
1440
1392
  port: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodString]>;
1441
1393
  id: z.ZodString;
@@ -1462,7 +1414,22 @@ declare const xraySchema: z.ZodObject<{
1462
1414
  routeOnly: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
1463
1415
  }, z.core.$strip>>;
1464
1416
  }, z.core.$strip>>;
1465
- }, z.core.$strip>;
1417
+ }, z.core.$strip>, z.ZodObject<{
1418
+ vnext: z.ZodArray<z.ZodObject<{
1419
+ address: z.ZodString;
1420
+ port: z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodString]>;
1421
+ users: z.ZodArray<z.ZodObject<{
1422
+ id: z.ZodString;
1423
+ encryption: z.ZodDefault<z.ZodString>;
1424
+ flow: z.ZodOptional<z.ZodEnum<{
1425
+ "": "";
1426
+ "xtls-rprx-vision": "xtls-rprx-vision";
1427
+ "xtls-rprx-vision-udp443": "xtls-rprx-vision-udp443";
1428
+ }>>;
1429
+ level: z.ZodOptional<z.ZodDefault<z.ZodInt>>;
1430
+ }, z.core.$strip>>;
1431
+ }, z.core.$strip>>;
1432
+ }, z.core.$strip>]>;
1466
1433
  }, z.core.$strip>, z.ZodObject<{
1467
1434
  sendThrough: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodEnum<{
1468
1435
  origin: "origin";
package/dist/index.js CHANGED
@@ -793,26 +793,13 @@ const socksInboundSchema = generalInboundSchema.extend({
793
793
  });
794
794
  //#endregion
795
795
  //#region src/inbounds/protocols/shadowsocks/shadowsocks.ts
796
- const ss22Methods = z.enum([
797
- "2022-blake3-aes-128-gcm",
798
- "2022-blake3-aes-256-gcm",
799
- "2022-blake3-chacha20-poly1305"
800
- ]);
796
+ const ss22Methods = z.literal("2022-blake3-aes-128-gcm").or(z.literal("2022-blake3-aes-256-gcm").or(z.literal("2022-blake3-chacha20-poly1305")));
801
797
  const ss22UserSchema = z.object({
802
798
  password: z.string().optional(),
803
799
  level: z.number().default(0).optional(),
804
800
  email: z.string().min(1)
805
801
  });
806
- const ssMethods = z.enum([
807
- "aes-256-gcm",
808
- "aes-128-gcm",
809
- "chacha20-poly1305",
810
- "chacha20-ietf-poly1305",
811
- "xchacha20-poly1305",
812
- "xchacha20-ietf-poly1305",
813
- "none",
814
- ""
815
- ]);
802
+ const ssMethods = z.literal("aes-256-gcm").or(z.literal("aes-128-gcm").or(z.literal("chacha20-poly1305").or(z.literal("chacha20-ietf-poly1305").or(z.literal("xchacha20-poly1305").or(z.literal("xchacha20-ietf-poly1305").or(z.literal("none").or(z.literal(""))))))));
816
803
  const ssUserSchema = z.object({
817
804
  password: z.string().optional(),
818
805
  level: z.number().default(0).optional(),
@@ -829,14 +816,20 @@ const ssSettingsBaseSchema = z.object({
829
816
  password: z.string().min(1).optional(),
830
817
  email: z.string().optional()
831
818
  });
832
- const shadowsocksSettingsSchema = z.discriminatedUnion("method", [ssSettingsBaseSchema.extend({
819
+ const ssUsers = z.array(ssUserSchema).optional();
820
+ const ssSettings = ssSettingsBaseSchema.extend({
821
+ method: ssMethods,
822
+ users: ssUsers,
823
+ clients: ssUsers
824
+ });
825
+ const ss22Users = z.array(ss22UserSchema).optional();
826
+ const ss22Settings = ssSettingsBaseSchema.extend({
833
827
  method: ss22Methods,
834
828
  password: z.string().min(1),
835
- users: z.array(ss22UserSchema).optional()
836
- }), ssSettingsBaseSchema.extend({
837
- method: ssMethods,
838
- users: z.array(ssUserSchema).optional()
839
- })]);
829
+ users: ss22Users,
830
+ clients: ss22Users
831
+ });
832
+ const shadowsocksSettingsSchema = z.discriminatedUnion("method", [ss22Settings, ssSettings]);
840
833
  const shadowsocksInboundSchema = generalInboundSchema.extend({
841
834
  protocol: z.literal("shadowsocks"),
842
835
  settings: shadowsocksSettingsSchema
@@ -1195,11 +1188,26 @@ const trojan = outboundSchemaBase.extend({
1195
1188
  });
1196
1189
  //#endregion
1197
1190
  //#region src/outbounds/vless/vless.ts
1198
- const vless = outboundSchemaBase.extend({
1199
- protocol: z.literal("vless"),
1200
- settings: z.object({
1201
- address: z.string(),
1202
- port: portLikeSchema,
1191
+ const vlessSettings = z.object({
1192
+ address: z.string(),
1193
+ port: portLikeSchema,
1194
+ id: z.string(),
1195
+ encryption: z.string().default("none"),
1196
+ flow: z.enum([
1197
+ "",
1198
+ "xtls-rprx-vision",
1199
+ "xtls-rprx-vision-udp443"
1200
+ ]).optional(),
1201
+ level: z.int().default(0).optional(),
1202
+ reverse: z.object({
1203
+ tag: z.string(),
1204
+ sniffing: sniffingSchema.optional()
1205
+ }).optional()
1206
+ });
1207
+ const vnext = z.object({ vnext: z.array(z.object({
1208
+ address: z.string(),
1209
+ port: portLikeSchema,
1210
+ users: z.array(z.object({
1203
1211
  id: z.string(),
1204
1212
  encryption: z.string().default("none"),
1205
1213
  flow: z.enum([
@@ -1207,12 +1215,12 @@ const vless = outboundSchemaBase.extend({
1207
1215
  "xtls-rprx-vision",
1208
1216
  "xtls-rprx-vision-udp443"
1209
1217
  ]).optional(),
1210
- level: z.int().default(0).optional(),
1211
- reverse: z.object({
1212
- tag: z.string(),
1213
- sniffing: sniffingSchema.optional()
1214
- }).optional()
1215
- })
1218
+ level: z.int().default(0).optional()
1219
+ }))
1220
+ })) });
1221
+ const vless = outboundSchemaBase.extend({
1222
+ protocol: z.literal("vless"),
1223
+ settings: vlessSettings.or(vnext)
1216
1224
  });
1217
1225
  //#endregion
1218
1226
  //#region src/outbounds/vmess/vmess.ts