From 72c717bffd86275f2586783be2aeca4f04837a6b Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Tue, 26 May 2026 02:25:56 +0200 Subject: [PATCH] feat(frontend): stream tab WS + gRPC + HTTPUpgrade sections (Pattern A) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the three medium-complexity network branches to the stream tab. Plain Form.Item paths into the corresponding *Settings keys — no Form.List wrappers since these schemas don't have arrays at the top level. WS: acceptProxyProtocol, host, path, heartbeatPeriod gRPC: serviceName, authority, multiMode HTTPUpgrade: acceptProxyProtocol, host, path Header editing is deferred to a later commit — WsHeaderMap is a Record on the wire, V2HeaderMap a Record, and the form needs an array-of-{name,value} UI that converts on edit. Worth building once and reusing across WS, HTTPUpgrade, XHTTP, TCP request/response, and Hysteria masquerade headers. XHTTP + external-proxy + sockopt + hysteria stream + finalmask hookup still pending. --- .../pages/inbounds/InboundFormModal.new.tsx | 72 +++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/frontend/src/pages/inbounds/InboundFormModal.new.tsx b/frontend/src/pages/inbounds/InboundFormModal.new.tsx index fcb23311..dd2a7d90 100644 --- a/frontend/src/pages/inbounds/InboundFormModal.new.tsx +++ b/frontend/src/pages/inbounds/InboundFormModal.new.tsx @@ -818,6 +818,78 @@ export default function InboundFormModalNew({ )} + {network === 'ws' && ( + <> + + + + + + + + + + + + + + )} + + {network === 'grpc' && ( + <> + + + + + + + + + + + )} + + {network === 'httpupgrade' && ( + <> + + + + + + + + + + + )} + {network === 'kcp' && ( <>