diff --git a/frontend/src/pages/inbounds/InboundFormModal.tsx b/frontend/src/pages/inbounds/InboundFormModal.tsx index 91f093fb..c871c49d 100644 --- a/frontend/src/pages/inbounds/InboundFormModal.tsx +++ b/frontend/src/pages/inbounds/InboundFormModal.tsx @@ -1311,9 +1311,9 @@ export default function InboundFormModal({ return { header: { type: 'none' } }; case 'kcp': return { - mtu: 1350, tti: 20, uplinkCapacity: 5, downlinkCapacity: 20, - congestion: false, readBufferSize: 2, writeBufferSize: 2, - header: { type: 'none' }, seed: '', + mtu: 1350, tti: 20, + uplinkCapacity: 5, downlinkCapacity: 20, + cwndMultiplier: 1, maxSendingWindow: 2097152, }; case 'ws': return { path: '/', host: '', headers: {}, heartbeatPeriod: 0 }; @@ -1545,10 +1545,13 @@ export default function InboundFormModal({ }} - {/* Host + path camouflage inputs only render when the Switch - above is on. Both are string[] on the wire; normalize + - getValueProps translate to/from comma-joined input. Mirrors - the symmetric outbound side. */} + {/* Per Xray docs (transports/raw.html#httpheaderobject), the + `request` object is honored only by outbound proxies; the + inbound listener reads `response`. Showing Host / Path / + Method / Version / request-headers on the inbound side was + a regression from this modal's earlier iteration — those + inputs wrote to the wire but xray-core ignored them. The + inbound modal now only exposes the response side. */}