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