#!/bin/bash
BASE='https://help.jcmtelecoms.net'
echo 'Starting remote support, please wait...'
ARCH=arm64; [ "$(uname -m)" = x86_64 ] && ARCH=x64
DMG="$(mktemp -d)/RustDesk-Support.dmg"
curl -fsSL "$BASE/api/net/sos/dmg?arch=$ARCH" -o "$DMG" || { echo 'Download failed'; sleep 5; exit 1; }
MNT=$(hdiutil attach "$DMG" -nobrowse -quiet | grep -o '/Volumes/.*' | head -1)
APP="$MNT/RustDesk.app"
NONCE=$(uuidgen | tr -d '-')
NAME="$(scutil --get ComputerName 2>/dev/null || hostname) \ $(whoami)"
open "$APP"
sleep 6
ID=$("$APP/Contents/MacOS/rustdesk" --get-id 2>/dev/null | tr -cd '0-9')
post(){ curl -fsS -X POST "$BASE/api/net/sos/$1" -H 'Content-Type: application/json' -d "$2" >/dev/null 2>&1; }
post hello "{\"nonce\":\"$NONCE\",\"name\":\"$NAME\",\"id\":\"$ID\",\"os\":\"mac\"}"
while pgrep -x RustDesk >/dev/null 2>&1; do post ping "{\"nonce\":\"$NONCE\"}"; sleep 15; done
post bye "{\"nonce\":\"$NONCE\"}"
hdiutil detach "$MNT" -quiet 2>/dev/null
