#!/bin/bash
# Suporte remoto SpinSoft - baixa o RustDesk oficial (AppImage) ja configurado para a nossa central.
# Nao pede senha de administrador: tudo fica na pasta do seu usuario.
# Para remover: rm -rf ~/.local/share/suporte-remoto ~/.local/share/applications/suporte-remoto-spin.desktop
set -e
BASE="https://remoto.spin.com.br/arquivos"
case "$(uname -m)" in
  x86_64) A=x86_64 ;;
  aarch64|arm64) A=aarch64 ;;
  *) echo "Este computador ($(uname -m)) nao e suportado por este instalador. Fale com o suporte SpinSoft."; exit 1 ;;
esac
DIR="$HOME/.local/share/suporte-remoto"
CFG="$HOME/.config/rustdesk/RustDesk2.toml"
mkdir -p "$DIR" "$HOME/.config/rustdesk" "$HOME/.local/share/applications"

echo "Baixando o programa de suporte remoto SpinSoft..."
if command -v curl >/dev/null 2>&1; then curl -fL --progress-bar -o "$DIR/rustdesk.tmp" "$BASE/rustdesk-$A.AppImage"
else wget -q --show-progress -O "$DIR/rustdesk.tmp" "$BASE/rustdesk-$A.AppImage"; fi
mv -f "$DIR/rustdesk.tmp" "$DIR/rustdesk.AppImage"
chmod +x "$DIR/rustdesk.AppImage"

[ -f "$CFG" ] && cp "$CFG" "$CFG.antes-suporte-$(date +%Y%m%d%H%M%S)"
cat > "$CFG" <<'EOF'
rendezvous_server = 'cp04.spin.com.br:21116'
nat_type = 1
serial = 0

[options]
custom-rendezvous-server = 'cp04.spin.com.br'
relay-server = 'cp04.spin.com.br'
api-server = ''
key = 'SNlQMy41rNLqrXonGLBKvg5KtLw+FfYD4DdA7QienOY='
EOF

cat > "$HOME/.local/share/applications/suporte-remoto-spin.desktop" <<EOF
[Desktop Entry]
Type=Application
Name=Suporte Remoto SpinSoft
Comment=Acesso remoto da equipe SpinSoft
Exec=env APPIMAGE_EXTRACT_AND_RUN=1 "$DIR/rustdesk.AppImage"
Icon=preferences-desktop-remote-desktop
Terminal=false
Categories=Network;RemoteAccess;
EOF

# APPIMAGE_EXTRACT_AND_RUN: funciona mesmo sem o libfuse2 (ausente no Ubuntu 22.04+)
(APPIMAGE_EXTRACT_AND_RUN=1 nohup "$DIR/rustdesk.AppImage" >/dev/null 2>&1 &)
echo
echo "Pronto! O programa esta abrindo."
echo "Informe ao tecnico o ID e a senha que aparecem na tela."
echo "Para abrir de novo depois: menu de aplicativos > Suporte Remoto SpinSoft"
