#!/bin/bash
# ssh-newserver.sh — SSH 反向通道 wrapper（模板；A8/8609 P0-1 提到 8080 呢件 404）
# 目的：把本機 VNC websockify 出口用 `ssh -R` 反連到中轉機，唔喺 script 內寫死任何 host／port／user。
# 全部由 env 動態攞（主持 8568 同口徑）；缺任何一個＝唔出街（fail-closed），唔猜。
set -euo pipefail
HERE="$(cd "$(dirname "$0")" && pwd)"
[ -f "$HERE/env.sh" ] && . "$HERE/env.sh"
: "${SSH_HOST:?未設 SSH_HOST（env.sh）——唔准寫死，唔會猜}"
: "${SSH_USER:?未設 SSH_USER}"
: "${SSH_PORT:?未設 SSH_PORT}"
: "${TUNNEL_REMOTE_PORT:?未設 TUNNEL_REMOTE_PORT}"
: "${WS_PORT:?未設 WS_PORT（本機 websockify 出口）}"
# 穩定選項：只做通道、唔開 shell、keepalive 令斷線 10 秒內自己重連（主持 8578）
exec ssh -N -T \
  -o ExitOnForwardFailure=yes -o ServerAliveInterval=5 -o ServerAliveCountMax=2 \
  -o StrictHostKeyChecking=accept-new \
  -p "$SSH_PORT" -R "127.0.0.1:${TUNNEL_REMOTE_PORT}:127.0.0.1:${WS_PORT}" \
  "${SSH_USER}@${SSH_HOST}"
