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 |
3b7feef |
Mrdn |
2y ago |
.or(z.string()), |
| 10 |
3b7feef |
Mrdn |
2y ago |
path: z.string(), |
| 11 |
3b7feef |
Mrdn |
2y ago |
sni: z.string().optional(), |
| 12 |
3b7feef |
Mrdn |
2y ago |
host: z.string().optional(), |
| 13 |
3b7feef |
Mrdn |
2y ago |
security: z.enum(['inbound_default', 'none', 'tls']), |
| 14 |
3b7feef |
Mrdn |
2y ago |
alpn: z.enum(['none', 'h2', 'http/1.1', 'h2,http/1.1']).optional(), |
| 15 |
3b7feef |
Mrdn |
2y ago |
allowinsecure: z.boolean().default(false), |
| 16 |
3b7feef |
Mrdn |
2y ago |
fingerprint: z.enum([ |
| 17 |
3b7feef |
Mrdn |
2y ago |
"none", |
| 18 |
3b7feef |
Mrdn |
2y ago |
"chrome", |
| 19 |
3b7feef |
Mrdn |
2y ago |
"firefox", |
| 20 |
3b7feef |
Mrdn |
2y ago |
"safari", |
| 21 |
3b7feef |
Mrdn |
2y ago |
"ios", |
| 22 |
3b7feef |
Mrdn |
2y ago |
"android", |
| 23 |
3b7feef |
Mrdn |
2y ago |
"edge", |
| 24 |
3b7feef |
Mrdn |
2y ago |
"360", |
| 25 |
3b7feef |
Mrdn |
2y ago |
"qq", |
| 26 |
3b7feef |
Mrdn |
2y ago |
"random", |
| 27 |
3b7feef |
Mrdn |
2y ago |
"randomized", |
| 28 |
3b7feef |
Mrdn |
2y ago |
]).optional(), |
| 29 |
3b7feef |
Mrdn |
2y ago |
}); |