mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-06-28 00:24:19 +00:00
fix(hysteria): clamp udpIdleTimeout to xray-core's accepted 2-600s range (#5117)
The schema and form inputs allowed any value >= 1, but xray-core rejects UdpIdleTimeout outside 2-600 seconds at startup, so an out-of-range value silently killed the whole config.
This commit is contained in:
@@ -19,7 +19,7 @@ export default function HysteriaFields({ form }: { form: FormInstance }) {
|
||||
label={t('pages.inbounds.form.udpIdleTimeout')}
|
||||
name={['streamSettings', 'hysteriaSettings', 'udpIdleTimeout']}
|
||||
>
|
||||
<InputNumber min={1} style={{ width: '100%' }} />
|
||||
<InputNumber min={2} max={600} style={{ width: '100%' }} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item label={t('pages.inbounds.form.masquerade')}>
|
||||
|
||||
@@ -25,7 +25,7 @@ export default function HysteriaForm({ form }: { form: FormInstance }) {
|
||||
label={t('pages.inbounds.form.udpIdleTimeout')}
|
||||
name={['streamSettings', 'hysteriaSettings', 'udpIdleTimeout']}
|
||||
>
|
||||
<InputNumber min={1} style={{ width: '100%' }} />
|
||||
<InputNumber min={2} max={600} style={{ width: '100%' }} />
|
||||
</Form.Item>
|
||||
|
||||
<Form.Item label={t('pages.inbounds.form.masquerade')}>
|
||||
|
||||
@@ -25,7 +25,8 @@ export type HysteriaMasquerade = z.infer<typeof HysteriaMasqueradeSchema>;
|
||||
export const HysteriaStreamSettingsSchema = z.object({
|
||||
version: z.literal(2).default(2),
|
||||
auth: z.string().default(''),
|
||||
udpIdleTimeout: z.number().int().min(1).default(60),
|
||||
// Xray-core rejects values outside 2-600 seconds at startup.
|
||||
udpIdleTimeout: z.number().int().min(2).max(600).default(60),
|
||||
masquerade: HysteriaMasqueradeSchema.optional(),
|
||||
});
|
||||
export type HysteriaStreamSettings = z.infer<typeof HysteriaStreamSettingsSchema>;
|
||||
|
||||
Reference in New Issue
Block a user