fix(inbounds): allow port 0 for UDS inbounds (#4783)

Unix Domain Socket inbounds (listen path starting with /) use port 0, which xray-core ignores. Validation was hard-locked to a minimum of 1 in three places: the shared Zod PortSchema, the AntD InputNumber, and the Go Inbound model tag. Adds an InboundPortSchema (min 0) for the inbound form/API schemas, makes the port InputNumber min UDS-aware, and relaxes the Inbound model validate tag to gte=0. PortSchema and the Node model stay min 1.
This commit is contained in:
MHSanaei
2026-06-01 23:26:20 +02:00
parent 3657ed55dc
commit ccd0853b6c
6 changed files with 12 additions and 7 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
import { z } from 'zod';
import { PortSchema, SniffingSchema } from '@/schemas/primitives';
import { InboundPortSchema, SniffingSchema } from '@/schemas/primitives';
import { InboundSettingsSchema } from '@/schemas/protocols/inbound';
import { SecuritySettingsSchema } from '@/schemas/protocols/security';
import { NetworkSettingsSchema, StreamExtrasSchema } from '@/schemas/protocols/stream';
@@ -32,7 +32,7 @@ export const InboundCoreSchema = z.object({
enable: z.boolean().default(true),
expiryTime: z.number().int().default(0),
listen: z.string().default(''),
port: PortSchema,
port: InboundPortSchema,
tag: z.string().default(''),
sniffing: SniffingSchema.default({
enabled: false,