#!/bin/bash
# Soporte remoto de Daniel San Juan (soporte.danielsanjuan.com), para Linux de 64 bits (x86_64).
# Descarga RustDesk oficial 1.5.3, comprueba su huella SHA-256, lo configura con el servidor propio y lo abre.
# No lleva ningún código ni contraseña dentro. Necesita Tailscale conectado a la red de Daniel: pídele el paso a paso.
set -euo pipefail

URL="https://github.com/rustdesk/rustdesk/releases/download/1.5.3/rustdesk-1.5.3-x86_64.AppImage"
SHA="ff7fff208fed218fc9f895457a36cc2dd31fefbfae0461a27b54f3d391204506"
CARPETA="$HOME/.local/share/soporte-d4nyos"
APP="$CARPETA/rustdesk.AppImage"

if [ "$(uname -m)" != "x86_64" ]; then
  echo "Este equipo no es de 64 bits (x86_64). Avisa a Daniel." >&2
  exit 1
fi

mkdir -p "$CARPETA"
if [ ! -f "$APP" ] || ! echo "$SHA  $APP" | sha256sum -c --status; then
  echo "Descargando RustDesk oficial..."
  curl -fL --progress-bar -o "$APP.tmp" "$URL"
  if ! echo "$SHA  $APP.tmp" | sha256sum -c --status; then
    rm -f "$APP.tmp"
    echo "La descarga no coincide con la oficial. No se instala nada. Avisa a Daniel." >&2
    exit 1
  fi
  mv "$APP.tmp" "$APP"
fi
chmod +x "$APP"

mkdir -p "$HOME/.config/RustDesk"
cat > "$HOME/.config/RustDesk/RustDesk2.toml" <<'TOML'
[options]
custom-rendezvous-server = '100.95.185.67'
relay-server = '100.95.185.67'
api-server = ''
key = 'VWyONMSiLbaVSQTjuHFLNZvkwPpQoyz4JJCCI5haL8A='
TOML

echo "Abriendo RustDesk. Dile a Daniel el ID de 9 dígitos que aparece en pantalla."
exec "$APP"
