Fix port knocking before SSH connect (#1013)

This commit is contained in:
ZacharyZcR
2026-07-10 08:02:55 +08:00
committed by GitHub
parent 50a6572ac1
commit 11ecb66b33
3 changed files with 123 additions and 13 deletions
+15
View File
@@ -1142,6 +1142,7 @@ wss.on("connection", async (ws: WebSocket, req) => {
socks5Username?: string;
socks5Password?: string;
socks5ProxyChain?: unknown;
portKnockSequence?: ConnectToHostData["hostConfig"]["portKnockSequence"];
terminalConfig?: ConnectToHostData["hostConfig"]["terminalConfig"];
enableSessionLogging?: boolean;
})
@@ -1185,6 +1186,20 @@ wss.on("connection", async (ws: WebSocket, req) => {
if (!hostConfig.terminalConfig && resolvedHostData.terminalConfig) {
hostConfig.terminalConfig = resolvedHostData.terminalConfig;
}
if (
(!hostConfig.portKnockSequence ||
hostConfig.portKnockSequence.length === 0) &&
resolvedHostData.portKnockSequence &&
resolvedHostData.portKnockSequence.length > 0
) {
hostConfig.portKnockSequence = resolvedHostData.portKnockSequence;
sendLog(
"port_knock",
"info",
`Loaded ${resolvedHostData.portKnockSequence.length} port knock(s) from server-side host data`,
);
}
}
} catch (error) {
sshLogger.warn(`Failed to resolve server-side host data for ${id}`, {