#!/bin/bash
# Установка клиента RustDesk с настройкой на сервер cdas.ru (macOS)
# Запуск: bash mac-install.sh  (запросит пароль администратора)
set -eu

SERVER="cdas.ru:555"
RELAY="cdas.ru:556"
KEY="CmBtM7H2U620o3mi7A2mSmCNtphH9A1FK5Cgwd4PKr0="
PORTAL="https://cdas.ru"
APPDIR="/Applications/RustDesk.app"

echo "=== Desktop — установка клиента (macOS) ==="

ARCH=$(uname -m)
case "$ARCH" in
  arm64)  PKG="rustdesk-macos-arm64.dmg" ;;
  x86_64) PKG="rustdesk-macos.dmg" ;;
  *) echo "Архитектура $ARCH не поддерживается"; exit 1 ;;
esac

TMP=$(mktemp -d)
trap 'rm -rf "$TMP"' EXIT

echo "[1/4] Скачиваю $PKG с портала..."
curl -fsSL -o "$TMP/client.dmg" "$PORTAL/dl/$PKG"

echo "[2/4] Монтирую образ и ставлю приложение..."
hdiutil attach "$TMP/client.dmg" -nobrowse -quiet
MNT=""
for V in /Volumes/*; do
  [ -d "$V/RustDesk.app" ] && MNT="$V" && break
done
[ -n "$MNT" ] || { echo "не нашёл RustDesk.app в образе"; exit 1; }

if [ -d "$APPDIR" ]; then
  sudo rm -rf "$APPDIR"
fi
sudo cp -R "$MNT/RustDesk.app" /Applications/
hdiutil detach "$MNT" -quiet || true

echo "[3/4] Прописываю сервер ${SERVER}..."
write_cfg() {
  D="$1/Library/Preferences/com.carriez.RustDesk"
  mkdir -p "$D" 2>/dev/null || return 0
  cat > "$D/RustDesk2.toml" <<EOF
[options]
custom-rendezvous-server = '$SERVER'
relay-server = '$RELAY'
key = '$KEY'
EOF
}
write_cfg "$HOME"
sudo mkdir -p "/var/root/Library/Preferences/com.carriez.RustDesk"
sudo tee "/var/root/Library/Preferences/com.carriez.RustDesk/RustDesk2.toml" > /dev/null <<EOF
[options]
custom-rendezvous-server = '$SERVER'
relay-server = '$RELAY'
key = '$KEY'
EOF

echo "[4/4] Запускаю клиент..."
pkill -x RustDesk 2>/dev/null || true
sleep 1
open "$APPDIR" || true

echo
echo "Готово. Клиент установлен и настроен на $SERVER."
echo "Для управления этим Mac с других устройств разрешите в macOS:"
echo "  Системные настройки -> Конфиденциальность и безопасность ->"
echo "  Запись экрана и Универсальный доступ (для RustDesk),"
echo "и задайте постоянный пароль: Настройки -> Безопасность."
