#!/bin/bash
# run_all_serial.sh v2 - Windows 端串行 SSH 到 Kali, 每次推送 loop_template 过去
set +e
KALI_HOST="root@192.168.127.132"
LOG_WIN_DIR="/e/hexstrike-ai/data"
SCRIPT_WIN="/e/hexstrike-ai/scripts/loop-2026-07-26/loop_template_v2.sh"
LOG_KALI_DIR="/e/hexstrike-ai/data"

TARGETS=(
    "V-002 passport.vivo.com.cn"
    "V-003 paypal.cn"
    "V-004 qzsec.com"
    "V-005 duxiaoman.com"
    "V-006 kingdee.com"
    "V-007 lexin.com"
    "V-008 bestpay.com.cn"
    "V-009 smzdm.com"
    "V-010 s.3001.net"
    "V-011 qxwz.com"
    "V-012 stepfun.com"
    "V-013 t3go.cn"
)

START=$(date +%s)
for entry in "${TARGETS[@]}"; do
    read -r TID TARGET <<< "$entry"
    SAFE=$(echo "$TARGET" | tr '.' '_')
    LOG_NAME="loop_target_${SAFE}.log"

    echo "[$TID] 开始 $TARGET ($(date +%H:%M:%S))"

    # 1) 把脚本写到 Kali 端 (一次性, 但每次覆盖保证最新)
    scp $SCRIPT_WIN $KALI_HOST:/tmp/loop_template.sh 2>&1 | tail -1

    # 2) SSH 过去执行
    ssh $KALI_HOST "mkdir -p $LOG_KALI_DIR && bash /tmp/loop_template.sh $TARGET $TID" 2>&1 | tail -2

    # 3) 拉日志回 Windows
    scp $KALI_HOST:$LOG_KALI_DIR/$LOG_NAME $LOG_WIN_DIR/ 2>&1 | tail -1

    # 检查
    if [ -f "$LOG_WIN_DIR/$LOG_NAME" ]; then
        SIZE=$(stat -c %s "$LOG_WIN_DIR/$LOG_NAME" 2>/dev/null || echo 0)
        echo "[$TID] ✓ 完成  size=${SIZE}B"
    else
        echo "[$TID] ❌ 失败"
    fi
done

END=$(date +%s)
echo ""
echo "=== 全部完成, 总耗时 $((END-START)) 秒 ==="
ls -la $LOG_WIN_DIR/loop_target_*.log 2>&1 | awk '{print $5"  "$9}'