#!/bin/bash

# Install official Ookla Speedtest CLI on Debian/Ubuntu (not legacy speedtest-cli from default apt repos).
set -euo pipefail

# Allow running directly as root (no sudo needed) or as a regular user.
if [[ "${EUID}" -eq 0 ]]; then sudo() { while [[ "$1" == -* ]]; do shift; done; "$@"; }; export -f sudo; fi

if [[ -r /etc/os-release ]]; then
  . /etc/os-release
else
  echo "Could not read /etc/os-release"
  exit 1
fi

if [[ "${ID:-}" != "debian" && "${ID:-}" != "ubuntu" ]]; then
  echo "This installer supports Debian and Ubuntu only. Detected: ${ID:-unknown}"
  exit 1
fi

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl ca-certificates gnupg

# Remove legacy Python speedtest-cli package if present to avoid command confusion.
sudo apt remove -y speedtest-cli || true

# Configure official Ookla apt repository.
curl -fsSL https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash

sudo apt update
sudo apt install -y speedtest

speedtest --version
