Files
3x-ui/frontend/src/schemas/protocols/outbound/vmess.ts
T
MHSanaei 852b53db79 feat(xray): add loopback sniffing and per-segment fragment masks
- Loopback outbound: add sniffing support (xray-core #6320)

- FinalMask fragment: support per-segment lengths/delays arrays with legacy length/delay migration (xray-core #6334)

- Consolidate sniffing into a shared SniffingFields component and the canonical SniffingSchema across inbound, VLESS reverse, and loopback
2026-06-23 13:24:16 +02:00

23 lines
768 B
TypeScript

import { z } from 'zod';
import { PortSchema } from '@/schemas/primitives';
import { VmessSecuritySchema } from '@/schemas/protocols/shared/vmess';
export const VmessOutboundUserSchema = z.object({
id: z.uuid(),
security: VmessSecuritySchema.default('auto'),
});
export type VmessOutboundUser = z.infer<typeof VmessOutboundUserSchema>;
export const VmessOutboundServerSchema = z.object({
address: z.string().min(1),
port: PortSchema,
users: z.array(VmessOutboundUserSchema).min(1),
});
export type VmessOutboundServer = z.infer<typeof VmessOutboundServerSchema>;
export const VmessOutboundSettingsSchema = z.object({
vnext: z.array(VmessOutboundServerSchema).min(1),
});
export type VmessOutboundSettings = z.infer<typeof VmessOutboundSettingsSchema>;