#!/bin/bash
# Prestasoft - Instalador automatico para Linux (RustDesk 1.5.0)
# Ubuntu/Debian/Mint/Pop!_OS: instala el .deb. Otras distros: usa el AppImage.
# Aplica la configuracion del servidor para el usuario y para el servicio (root).
set -e

echo
echo "  ================================================="
echo "   Prestasoft - Soporte Remoto para Linux"
echo "  ================================================="
echo

ARCH=$(uname -m)
if [ "$ARCH" != "x86_64" ]; then
  echo "  Esta arquitectura ($ARCH) no esta soportada por este instalador (solo x86_64)."
  exit 1
fi

WORK=$(mktemp -d)
cd "$WORK"
CFG_URL="https://descargas.prestasoft.do/RustDesk2.toml"
CFG_STR="Qfi8GZuQnZvNXY0NXZyBnLvR3btVmcv8iOzBHd0hmI6ISawFmIsISPw4EZzYFaB12M3RDc6NHd4p3TShTZ5RlYTlWT6RlMudWUpRXMElGZj1mRpJiOikXZrJCLi8GZuQnZvNXY0NXZyBnLvR3btVmciojI0N3boJye"

if command -v apt-get >/dev/null 2>&1; then
  echo "  [1/3] Descargando paquete .deb..."
  curl -fsSL -o rustdesk.deb https://descargas.prestasoft.do/linux.deb
  echo "        OK"
  echo "  [2/3] Instalando (pedira tu contrasena)..."
  sudo apt-get install -y ./rustdesk.deb
  echo "        OK"
  # Via oficial: el cliente instalado aplica la cadena (key, id server, relay, api) por IPC.
  sudo rustdesk --config "$CFG_STR" >/dev/null 2>&1 || true
else
  echo "  [1/3] Descargando AppImage (distribucion sin apt)..."
  mkdir -p "$HOME/Aplicaciones"
  curl -fsSL -o "$HOME/Aplicaciones/RustDesk.AppImage" https://descargas.prestasoft.do/linux.AppImage
  chmod +x "$HOME/Aplicaciones/RustDesk.AppImage"
  echo "        OK -> $HOME/Aplicaciones/RustDesk.AppImage"
  echo "  [2/3] (AppImage no instala servicio; se ejecuta a demanda)"
fi

echo "  [3/3] Aplicando configuracion del servidor..."
mkdir -p "$HOME/.config/rustdesk"
curl -fsSL -o "$HOME/.config/rustdesk/RustDesk2.toml" "$CFG_URL"
# El servicio de RustDesk corre como root y lee su propia configuracion.
sudo mkdir -p /root/.config/rustdesk
sudo curl -fsSL -o /root/.config/rustdesk/RustDesk2.toml "$CFG_URL"
if systemctl list-unit-files 2>/dev/null | grep -q '^rustdesk.service'; then
  sudo systemctl restart rustdesk || true
fi
echo "        OK"

echo
echo "  ================================================="
echo "   Instalacion completada"
echo "  ================================================="
echo
echo "   Abre RustDesk desde el menu de aplicaciones."
echo "   Tu tecnico te pedira el ID de 9 digitos cuando necesites soporte."
echo
