#!/usr/bin/env bash
#
# cloudflared-ssh stop
# ---------------------------------------------------------------------------
# 关闭 quick tunnel，撤销公网 SSH 暴露。
#   bash stop.sh          # 仅关闭 cloudflared（本地 sshd 仍可本地登录）
#   bash stop.sh --full   # 同时停止本地 sshd（彻底关闭 SSH 服务）
# ---------------------------------------------------------------------------
set -euo pipefail
TUN_LOG="/tmp/cf-ssh-tunnel.log"
INFO_FILE="/root/.cf-ssh-info"

echo "[cloudflared-ssh] 关闭 quick tunnel（公网暴露）..."
if pkill -f 'cloudflared tunnel --url ssh://localhost:22'; then
  echo "  ✓ 已关闭 tunnel，公网 SSH 已不可达"
else
  echo "  - 未发现运行中的 tunnel"
fi
rm -f "$TUN_LOG"

if [ "${1:-}" = "--full" ]; then
  if pkill -x sshd; then
    echo "  ✓ 已停止本地 sshd"
  else
    echo "  - 未发现运行中的 sshd"
  fi
fi
echo "提示: 想恢复访问请重新运行 setup.sh（会分配新域名）。"
