diff --git a/frontend/src/pages/inbounds/InboundFormModal.tsx b/frontend/src/pages/inbounds/InboundFormModal.tsx
index 6c7213ec..5df1a009 100644
--- a/frontend/src/pages/inbounds/InboundFormModal.tsx
+++ b/frontend/src/pages/inbounds/InboundFormModal.tsx
@@ -319,6 +319,9 @@ export default function InboundFormModal({
dest: window.location.hostname,
port: ib.port,
remark: '',
+ sni: '',
+ fingerprint: '',
+ alpn: [],
}];
} else {
ib.stream.externalProxy = [];
@@ -1617,6 +1620,14 @@ export default function InboundFormModal({
)}
{ ib.stream.xhttp.serverMaxHeaderBytes = Number(v) || 0; refresh(); }} />
{ ib.stream.xhttp.xPaddingBytes = e.target.value; refresh(); }} />
+
+
+
{ ib.stream.xhttp.xPaddingObfsMode = v; refresh(); }} />
{ib.stream.xhttp.xPaddingObfsMode && (
<>
@@ -1686,34 +1697,51 @@ export default function InboundFormModal({
{externalProxyOn && (
)}
{externalProxyOn && (
- {(ib.stream.externalProxy as { forceTls: string; dest: string; port: number; remark: string }[]).map((row, idx) => (
-
-
-
-
- { row.dest = e.target.value; refresh(); }} />
-
- { row.port = Number(v) || 0; refresh(); }} />
-
- { row.remark = e.target.value; refresh(); }} />
- { ib.stream.externalProxy.splice(idx, 1); refresh(); }}>
-
-
-
+ {(ib.stream.externalProxy as { forceTls: string; dest: string; port: number; remark: string; sni?: string; fingerprint?: string; alpn?: string[] }[]).map((row, idx) => (
+
+
+
+
+
+ { row.dest = e.target.value; refresh(); }} />
+
+ { row.port = Number(v) || 0; refresh(); }} />
+
+ { row.remark = e.target.value; refresh(); }} />
+ { ib.stream.externalProxy.splice(idx, 1); refresh(); }}>
+
+
+
+ {row.forceTls === 'tls' && (
+
+ { row.sni = e.target.value; refresh(); }} />
+
+
+
+ )}
+
))}
)}