1import { z } from "zod";
2
3export const HostSchema = z.object({
4 remark: z.string().min(1, 'Remark is required'),
5 address: z.string().min(1, 'Address is required'),
6 port: z.coerce.number()
7 .gte(1, 'Port must be more than 1')
8 .lte(65535, 'Port can not be more than 65535')
9 .or(z.string()).optional(),
10 path: z.string().optional(),
11 sni: z.string().optional(),
12 host: z.string().optional(),
13 security: z.enum(['inbound_default', 'none', 'tls']).default("inbound_default"),
14 alpn: z.enum(['h2', 'http/1.1', 'h2,http/1.1', 'none', '']).optional().default("none"),
15 allowinsecure: z.boolean().default(false).optional(),
16 fingerprint: z.enum([
17 "",
18 "none",
19 "chrome",
20 "firefox",
21 "safari",
22 "ios",
23 "android",
24 "edge",
25 "360",
26 "qq",
27 "random",
28 "randomized",
29 ]).optional().default("none"),
30});