#!/bin/bash
# ============================================================
#  Install-RustDesk-Neoone-Mac.command   (v1 - octobre 2026)
#
#  - Installe RustDesk si absent (DMG officiel 1.4.6)
#  - Pousse la configuration vers sos.neoone.fr
#  - Compatible Mac Intel (x86_64) et Apple Silicon (arm64)
#
#  USAGE :
#    Double-clic sur ce fichier dans le Finder.
#    Si Gatekeeper rale ("ne peut etre ouvert"), clic droit > Ouvrir.
# ============================================================

set -e

RD_HOST="sos.neoone.fr"
RD_KEY="4YyPz+CZl+kbIZEi6zeVGzqFBG1YUVb0YzsnCQ0vKbA="
RD_VERSION="1.4.6"

echo ""
echo "============================================================"
echo " Deploiement RustDesk - neoone (Mac)"
echo " Serveur : $RD_HOST"
echo " Cle     : $RD_KEY"
echo "============================================================"
echo ""

# ----- 1. Detection de l'architecture -----
ARCH=$(uname -m)
if [ "$ARCH" = "arm64" ]; then
    DMG_NAME="rustdesk-${RD_VERSION}-aarch64.dmg"
    echo "[1/5] Architecture : Apple Silicon (arm64)"
elif [ "$ARCH" = "x86_64" ]; then
    DMG_NAME="rustdesk-${RD_VERSION}-x86_64.dmg"
    echo "[1/5] Architecture : Intel (x86_64)"
else
    echo "[1/5] ERREUR : architecture non supportee : $ARCH"
    read -p "Appuyer sur Entree pour fermer..."
    exit 1
fi

DMG_URL="https://github.com/rustdesk/rustdesk/releases/download/${RD_VERSION}/${DMG_NAME}"
DMG_PATH="/tmp/${DMG_NAME}"

# ----- 2. Installation RustDesk si absent -----
if [ -d "/Applications/RustDesk.app" ]; then
    echo "[2/5] RustDesk deja installe dans /Applications/"
else
    echo "[2/5] RustDesk non trouve, telechargement et installation..."
    echo "       URL : $DMG_URL"
    curl -L -o "$DMG_PATH" "$DMG_URL"
    if [ ! -f "$DMG_PATH" ]; then
        echo "       ERREUR : telechargement echoue."
        read -p "Appuyer sur Entree pour fermer..."
        exit 1
    fi
    echo "       Montage du DMG..."
    MOUNT_POINT=$(hdiutil attach "$DMG_PATH" | grep "/Volumes" | awk '{print $NF}')
    echo "       Copie vers /Applications/..."
    cp -R "$MOUNT_POINT/RustDesk.app" /Applications/
    hdiutil detach "$MOUNT_POINT" >/dev/null
    rm "$DMG_PATH"
    xattr -d com.apple.quarantine /Applications/RustDesk.app 2>/dev/null || true
    echo "       [OK] RustDesk installe."
fi

# ----- 3. Arret de RustDesk si il tourne -----
echo "[3/5] Arret des processus RustDesk en cours..."
pkill -x RustDesk 2>/dev/null || true
pkill -x rustdesk 2>/dev/null || true
sleep 2

# ----- 4. Deploiement du RustDesk2.toml -----
echo "[4/5] Deploiement de la configuration..."
CONFIG_DIR="$HOME/Library/Preferences/com.carriez.rustdesk/config"
mkdir -p "$CONFIG_DIR"

cat > "$CONFIG_DIR/RustDesk2.toml" <<EOF
[options]
custom-rendezvous-server = "$RD_HOST"
relay-server = "$RD_HOST"
key = "$RD_KEY"
api-server = ""
allow-auto-update = "Y"
allow-auto-record-incoming = "Y"
enable-auto-relay = "Y"
EOF

echo "       Config ecrite dans :"
echo "       $CONFIG_DIR/RustDesk2.toml"

# ----- 5. Lancement de RustDesk -----
echo "[5/5] Lancement de RustDesk..."
open -a RustDesk

echo ""
echo "============================================================"
echo " TERMINE."
echo "============================================================"
echo ""
echo " Verification : dans RustDesk > Menu (3 points) > Reseau"
echo "   ID Server : $RD_HOST"
echo "   Relay     : $RD_HOST"
echo "   Key       : $RD_KEY"
echo ""
read -p "Appuyer sur Entree pour fermer..."
