#!/usr/bin/env bash
set -euo pipefail
SERVER_HOST='corbinishelpingyou.online'
SERVER_KEY='bbkxr4kWldGrAN+H49nEU8nyhR6LapEbXiVU9szKp3Y='
WORKDIR=$(mktemp -d)
trap 'rm -rf $WORKDIR' EXIT

arch_name=$(uname -m)
if [[ $arch_name == arm64 ]]; then
  pattern='aarch64\.dmg$'
else
  pattern='x86_64\.dmg$'
fi

asset_url=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk/releases/latest \
 | grep -Eo 'browser_download_url: [^]+' \
 | sed 's/browser_download_url: //' \
  | grep -E $pattern \
  | head -n 1)
if [[ -z $asset_url ]]; then
 echo 'Could not find the latest macOS RustDesk DMG.' >&2
 exit 1
fi

curl -L $asset_url -o $WORKDIR/rustdesk.dmg
hdiutil attach $WORKDIR/rustdesk.dmg -mountpoint $WORKDIR/mount -quiet
sudo rm -rf /Applications/RustDesk.app
sudo cp -R $WORKDIR/mount/RustDesk.app /Applications/
hdiutil detach $WORKDIR/mount -quiet

cat > $WORKDIR/RustDesk2.toml <<CFG
rendezvous_server = '$SERVER_HOST:21116'
nat_type = 1
serial = 0

[options]
custom-rendezvous-server = '$SERVER_HOST'
relay-server = '$SERVER_HOST'
key = '$SERVER_KEY'
CFG

mkdir -p $HOME/Library/Preferences/com.carriez.RustDesk/config $HOME/Library/Application Support/RustDesk/config
cp $WORKDIR/RustDesk2.toml $HOME/Library/Preferences/com.carriez.RustDesk/config/RustDesk2.toml
cp $WORKDIR/RustDesk2.toml $HOME/Library/Application Support/RustDesk/config/RustDesk2.toml
/Applications/RustDesk.app/Contents/MacOS/RustDesk --import-config $WORKDIR/RustDesk2.toml >/dev/null 2>&1 || true
open -a RustDesk

echo 'RustDesk is installed and configured for corbinishelpingyou.online.'
echo 'Open RustDesk and share the ID and one-time password with your helper.'
