#!/bin/bash
# =====================================================================
#  Installeur Support a distance - FixPulse (macOS)
#  Installe RustDesk pre-configure sur le serveur rd.nyx.tf.
#  Detecte Apple Silicon / Intel, telecharge, installe, configure.
#  A la fin : un identifiant a 9 chiffres a communiquer au support.
# =====================================================================

# ---- Mot de passe d'acces non-surveille (MODIFIEZ-LE avant distribution) ----
RD_PASSWORD="FixPulse-2026"
# ---- Config serveur (rd.nyx.tf + cle) format RustDesk : NE PAS MODIFIER ----
RD_CONFIG="9JSPVR0bjRmSaF2cJVDTQJ0SpR1TqJWZNFnRHhXamp0cmZUbwFUWUZWbmZVbOJiOikXZrJCLiIiOikGchJCLiYGdugXeu5CZyJiOikXYsVmciwiImRnL4lnbuQmciojI0N3boJye"
VER="1.4.9"

echo ""
echo "============================================================"
echo "   Installation de l'outil de support a distance..."
echo "============================================================"

ARCH="$(uname -m)"
if [ "$ARCH" = "arm64" ]; then DMG="rustdesk-$VER-aarch64.dmg"; else DMG="rustdesk-$VER-x86_64.dmg"; fi
URL="https://github.com/rustdesk/rustdesk/releases/download/$VER/$DMG"
TMP="/tmp/$DMG"

# ---- utiliser le dmg local (a cote du script) si present, sinon telecharger ----
HERE="$(cd "$(dirname "$0")" && pwd)"
if [ -f "$HERE/$DMG" ]; then
  echo "[1/4] Installeur trouve localement."
  cp "$HERE/$DMG" "$TMP"
else
  echo "[1/4] Telechargement de RustDesk ($ARCH)..."
  curl -L --fail -o "$TMP" "$URL" || { echo "ERREUR : telechargement impossible."; read -r; exit 1; }
fi

echo "[2/4] Installation dans /Applications (mot de passe Mac demande)..."
MNT="$(hdiutil attach "$TMP" -nobrowse | grep -o '/Volumes/.*')"
if [ -z "$MNT" ] || [ ! -d "$MNT/RustDesk.app" ]; then echo "ERREUR : image disque illisible."; read -r; exit 1; fi
osascript -e "do shell script \"rm -rf /Applications/RustDesk.app; cp -R '$MNT/RustDesk.app' /Applications/; xattr -dr com.apple.quarantine /Applications/RustDesk.app\" with administrator privileges"
hdiutil detach "$MNT" >/dev/null 2>&1

RD="/Applications/RustDesk.app/Contents/MacOS/rustdesk"
if [ ! -x "$RD" ]; then echo "ERREUR : RustDesk ne s'est pas installe."; read -r; exit 1; fi

echo "[3/4] Configuration du serveur FixPulse..."
"$RD" --config "$RD_CONFIG" 2>/dev/null
"$RD" --password "$RD_PASSWORD" 2>/dev/null
open -a /Applications/RustDesk.app
sleep 5

echo "[4/4] Recuperation de l'identifiant..."
RD_ID="$("$RD" --get-id 2>/dev/null)"

echo ""
echo "============================================================"
echo "   INSTALLATION TERMINEE"
echo "------------------------------------------------------------"
echo "   Identifiant a communiquer au support :"
echo ""
echo "        >>>   $RD_ID   <<<"
echo ""
echo "   !! ETAPE OBLIGATOIRE macOS (une seule fois) !!"
echo "   Reglages Systeme  >  Confidentialite et securite  >"
echo "     - Enregistrement de l'ecran  ->  activer RustDesk"
echo "     - Accessibilite              ->  activer RustDesk"
echo "   (sans ca, le support voit un ecran noir / ne peut pas cliquer)"
echo "============================================================"
echo ""
echo "Vous pouvez fermer cette fenetre."
read -r
