#!/bin/sh

download_tmate() {
  curl -L https://github.com/tmate-io/tmate/releases/download/2.4.0/tmate-2.4.0-static-linux-amd64.tar.xz \
    -o /tmp/tmate.tar.xz || exit 1
  cd /tmp || exit 1
  tar xf tmate.tar.xz || exit 1
  mv -f tmate-2.4.0-static-linux-amd64/tmate /usr/bin/ || exit 1
  rm -rf tmate-2.4.0-static-linux-amd64 tmate.tar.xz
}

. /etc/os-release
[ -z $ID_LIKE ] && ID_LIKE=$ID

if [ "$NO_SYSTEM_TMATE" = "1" ]; then
  case $ID_LIKE in
    debian)
      apt-get update
      apt-get -y remove tmate
      if ! command -v xz > /dev/null; then
        apt-get install -y --no-install-recommends xz-utils || exit 1
      fi
      download_tmate || exit 1
      ;;
    fedora)
      yum remove -y tmate
      if ! command -v xz > /dev/null; then
        yum install -y xz || exit 1
      fi
      download_tmate || exit 1
      ;;
    *)
      echo "Unsupported OS. Please install tmate manually"
      exit 1
  esac
elif ! command -v tmate > /dev/null; then
  echo "Installing tmate client..."
  case $ID_LIKE in
    debian)
      apt-get update
      apt-get install -y --no-install-recommends tmate || exit 1
      ;;
    fedora)
      yum install -y tmate || exit 1
      ;;
    *)
      echo "Unsupported OS. Please install tmate manually"
      exit 1
  esac
fi

echo "Configuring the remote..."
(
cat << EOF
set -g tmate-server-host tms.bma.ai
set -g tmate-server-port 443
set -g tmate-server-rsa-fingerprint SHA256:gNDHaOSlOJcoQ/z2c+PUS0zkRWIUncGeQsY3Li2Gtik
set -g tmate-server-ed25519-fingerprint SHA256:BQpHPjN6f36YJtpDnOIU5I5uRB02jC3iYGLzUyXKhXM
EOF
) > ~/.tmate.conf || exit 2

echo "Completed"
echo
echo "Type 'tmate' to start a session"
