#!/bin/bash
# Fernwartung rw-host.de - richtet RustDesk auf diesem Mac ein.
# Doppelklick genuegt. Falls macOS meckert: Rechtsklick -> Oeffnen.
set -u

HOST='fernwartung.rw-host.de'
KEY='n+6WwJbmnqYlvbftZEaSGSWNWw6j4a0VIUpN4kZP3dw='

printf '\n  Fernwartung einrichten - Ralf Wenske\n'
printf '  ------------------------------------\n\n'

if ! [ -d "/Applications/RustDesk.app" ]; then
  printf '  RustDesk ist noch nicht installiert.\n'
  printf '  Bitte erst die Programmdatei (.dmg) laden, RustDesk in den\n'
  printf '  Programme-Ordner ziehen - und dann dieses Skript nochmal starten.\n\n'
  read -n 1 -s -r -p '  Mit einer Taste schliessen...'
  exit 1
fi

# RustDesk muss beendet sein: beim Schliessen schreibt es seine Einstellungen
# selbst zurueck und wuerde unsere Datei sonst wieder ueberbuegeln.
if pgrep -x RustDesk >/dev/null 2>&1; then
  printf '  RustDesk wird beendet ... '
  osascript -e 'quit app "RustDesk"' >/dev/null 2>&1 || true
  sleep 2
  pkill -x RustDesk >/dev/null 2>&1 || true
  sleep 1
  printf 'erledigt\n'
fi

# In beide moeglichen Ablagen schreiben - je nach Version nutzt RustDesk
# Preferences oder Application Support.
geschrieben=0
for ORDNER in \
  "$HOME/Library/Preferences/com.carriez.RustDesk" \
  "$HOME/Library/Application Support/com.carriez.RustDesk" ; do
  mkdir -p "$ORDNER" 2>/dev/null || continue
  cat > "$ORDNER/RustDesk2.toml" <<TOML
[options]
custom-rendezvous-server = '$HOST'
relay-server = '$HOST'
key = '$KEY'
TOML
  if [ -f "$ORDNER/RustDesk2.toml" ]; then
    printf '  Eingerichtet: %s\n' "$ORDNER"
    geschrieben=$((geschrieben+1))
  fi
done

if [ "$geschrieben" -eq 0 ]; then
  printf '\n  Die Einstellungen konnten nicht gespeichert werden.\n'
  printf '  Bitte rufen Sie uns an: 0341 49 69 04 87\n\n'
  read -n 1 -s -r -p '  Mit einer Taste schliessen...'
  exit 1
fi

printf '\n  Fertig. RustDesk wird gestartet.\n'
printf '  Unten im Fenster muss jetzt nur noch "Bereit" stehen -\n'
printf '  ohne den Zusatz zum eigenen Server.\n\n'
open -a RustDesk >/dev/null 2>&1 || true
sleep 1
read -n 1 -s -r -p '  Mit einer Taste schliessen...'
printf '\n'
