#!/usr/bin/env bash
set -euo pipefail

BASE="${BASE:-https://cdn.carmedia.kubiki.studio}"

# Detect OS
case "$(uname -s)" in
  Darwin)  os="mac" ;;
  Linux)   os="linux" ;;
  MINGW*|MSYS*|CYGWIN*|Windows_NT) os="windows" ;;
  *)       os="linux" ;;
esac

# Detect ARCH
case "$(uname -m)" in
  x86_64|amd64) arch="amd64" ;;
  arm64|aarch64) arch="arm64" ;;
  *) arch="amd64" ;;
esac

# Map to filename on CDN
if [ "$os" = "windows" ]; then
  name="carmedia-windows-amd64.exe"   # - now available only amd64
else
  name="carmedia-$os-$arch"
fi

URL="$BASE/$name"

# Temp dir & download
TMPDIR="$(mktemp -d)"; trap 'rm -rf "$TMPDIR" || true' EXIT
BIN="$TMPDIR/${name##*/}"

download() {
  if command -v curl >/dev/null 2>&1; then
    curl -fsSL "$1" -o "$2"
  elif command -v wget >/dev/null 2>&1; then
    wget -qO "$2" "$1"
  else
    echo "Ошибка: нужен curl или wget" >&2; exit 1
  fi
}

download "$URL" "$BIN" || { echo "Ошибка: не удалось скачать бинарник" >&2; exit 1; }
chmod +x "$BIN" 2>/dev/null || true
[ "${os:-}" = "mac" ] && xattr -d com.apple.quarantine "$BIN" 2>/dev/null || true

exec "$BIN"
