gitscope
← marzneshin / v0.3.0-alpha9 / dashboard/src/features/hosts/schema/hosts-schema.ts
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/features/hosts/schema/hosts-schema.ts · TypeScript
Blame Raw
 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});