#!/bin/bash

# ==========================================
# Install WebKitGTK 4.1
# ke banyak Raspberry Pi melalui SSH
# ==========================================

BASE_IP="192.168."

read -p "Masukkan IP belakang Raspberry Pi (pisahkan dengan spasi): " IP_LIST
read -p "Masukkan username SSH (default: pi): " SSH_USER

SSH_USER=${SSH_USER:-pi}

echo
echo "=========================================="
echo " Target Raspberry Pi:"
echo "=========================================="

for IP in $IP_LIST; do
    echo "  ${BASE_IP}${IP}"
done

echo "=========================================="
echo

read -p "Lanjutkan instalasi ke semua Raspberry Pi? [y/N]: " CONFIRM

if [[ ! "$CONFIRM" =~ ^[Yy]$ ]]; then
    echo "Dibatalkan."
    exit 0
fi

SUCCESS=0
FAILED=0

for IP in $IP_LIST; do

    TARGET_IP="${BASE_IP}${IP}"

    echo
    echo "=========================================="
    echo " Connecting to ${TARGET_IP}"
    echo "=========================================="

    ssh -o ConnectTimeout=10 \
        -o StrictHostKeyChecking=no \
        "${SSH_USER}@${TARGET_IP}" << 'REMOTE_SCRIPT'

echo
echo "[1/3] Updating package list..."

sudo apt update

if [ $? -ne 0 ]; then
    echo "ERROR: apt update gagal."
    exit 1
fi

echo
echo "[2/3] Installing WebKitGTK 4.1..."

sudo apt install -y libwebkit2gtk-4.1-0

if [ $? -ne 0 ]; then
    echo "ERROR: Instalasi WebKitGTK gagal."
    exit 1
fi

echo
echo "[3/3] Checking installation..."

dpkg -l | grep -i webkit

echo
echo "Library:"
ldconfig -p | grep -i webkit

echo
echo "Installation completed."

REMOTE_SCRIPT

    if [ $? -eq 0 ]; then
        echo
        echo "✓ ${TARGET_IP} SUCCESS"
        SUCCESS=$((SUCCESS + 1))
    else
        echo
        echo "✗ ${TARGET_IP} FAILED"
        FAILED=$((FAILED + 1))
    fi

done

echo
echo
echo "=========================================="
echo " INSTALLATION SUMMARY"
echo "=========================================="
echo "Success : ${SUCCESS}"
echo "Failed  : ${FAILED}"
echo "Total   : $((SUCCESS + FAILED))"
echo "=========================================="
