diff --git a/frontend/src/pages/inbounds/InboundFormModal.tsx b/frontend/src/pages/inbounds/InboundFormModal.tsx
index 43df00bd..0704cade 100644
--- a/frontend/src/pages/inbounds/InboundFormModal.tsx
+++ b/frontend/src/pages/inbounds/InboundFormModal.tsx
@@ -1157,7 +1157,17 @@ export default function InboundFormModal({
onChange={(v) => {
setFieldValue(
['streamSettings', 'tcpSettings', 'header'],
- v ? { type: 'http' } : { type: 'none' },
+ v
+ ? {
+ type: 'http',
+ request: {
+ version: '1.1',
+ method: 'GET',
+ path: ['/'],
+ headers: {},
+ },
+ }
+ : { type: 'none' },
);
}}
/>
@@ -1165,6 +1175,62 @@ 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. */}
+
+ prev.streamSettings?.tcpSettings?.header?.type
+ !== curr.streamSettings?.tcpSettings?.header?.type
+ }
+ >
+ {({ getFieldValue }) => {
+ const headerType = getFieldValue(
+ ['streamSettings', 'tcpSettings', 'header', 'type'],
+ ) as string | undefined;
+ if (headerType !== 'http') return null;
+ return (
+ <>
+
+ typeof v === 'string'
+ ? v.split(',').map((s) => s.trim()).filter(Boolean)
+ : Array.isArray(v) ? v : []
+ }
+ getValueProps={(v: unknown) => ({
+ value: Array.isArray(v) ? v.join(',') : '',
+ })}
+ >
+
+
+
+ typeof v === 'string'
+ ? v.split(',').map((s) => s.trim()).filter(Boolean)
+ : Array.isArray(v) ? v : ['/']
+ }
+ getValueProps={(v: unknown) => ({
+ value: Array.isArray(v) ? v.join(',') : '/',
+ })}
+ >
+
+
+ >
+ );
+ }}
+
>
)}
diff --git a/frontend/src/pages/xray/OutboundFormModal.tsx b/frontend/src/pages/xray/OutboundFormModal.tsx
index fffd5e15..ef39ad24 100644
--- a/frontend/src/pages/xray/OutboundFormModal.tsx
+++ b/frontend/src/pages/xray/OutboundFormModal.tsx
@@ -38,6 +38,7 @@ import {
OutboundDomainStrategies,
OutboundProtocols as Protocols,
SNIFFING_OPTION,
+ TCP_CONGESTION_OPTION,
TLS_FLOW_CONTROL,
USERS_SECURITY,
UTLS_FINGERPRINT,
@@ -1516,6 +1517,49 @@ export default function OutboundFormModal({
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
>
)}
>