diff --git a/frontend/src/pages/inbounds/InboundFormModal.new.tsx b/frontend/src/pages/inbounds/InboundFormModal.new.tsx index dd2a7d90..35006924 100644 --- a/frontend/src/pages/inbounds/InboundFormModal.new.tsx +++ b/frontend/src/pages/inbounds/InboundFormModal.new.tsx @@ -107,6 +107,11 @@ export default function InboundFormModalNew({ const mixedUdpOn = Form.useWatch(['settings', 'udp'], form) ?? false; const network = Form.useWatch(['streamSettings', 'network'], form) ?? ''; const streamEnabled = canEnableStream({ protocol }); + const xhttpMode = Form.useWatch(['streamSettings', 'xhttpSettings', 'mode'], form); + const xhttpObfsMode = Form.useWatch(['streamSettings', 'xhttpSettings', 'xPaddingObfsMode'], form) ?? false; + const xhttpSessionPlacement = Form.useWatch(['streamSettings', 'xhttpSettings', 'sessionPlacement'], form); + const xhttpSeqPlacement = Form.useWatch(['streamSettings', 'xhttpSettings', 'seqPlacement'], form); + const xhttpUplinkPlacement = Form.useWatch(['streamSettings', 'xhttpSettings', 'uplinkDataPlacement'], form); const wgSecretKey = Form.useWatch(['settings', 'secretKey'], form); const wgPubKey = typeof wgSecretKey === 'string' && wgSecretKey.length > 0 ? Wireguard.generateKeypair(wgSecretKey).publicKey @@ -866,6 +871,189 @@ export default function InboundFormModalNew({ )} + {network === 'xhttp' && ( + <> + + + + + + + + + + {xhttpMode === 'packet-up' && ( + <> + + + + + + + + )} + {xhttpMode === 'stream-up' && ( + + + + )} + + + + + + + + + + + + + {xhttpObfsMode && ( + <> + + + + + + + + + + + + + + )} + + + + {xhttpSessionPlacement && xhttpSessionPlacement !== 'path' && ( + + + + )} + + + + {xhttpSeqPlacement && xhttpSeqPlacement !== 'path' && ( + + + + )} + {xhttpMode === 'packet-up' && ( + <> + + + + {xhttpUplinkPlacement && xhttpUplinkPlacement !== 'body' && ( + + + + )} + + )} + + + + + )} + {network === 'httpupgrade' && ( <>