#!/bin/sh
set -eu
SESSION='default'
BASE='https://r.allen.sh'
WS='wss://r.allen.sh'
A=$(uname -m)
case "$A" in
  x86_64|amd64) ARCH=x86_64 ;;
  aarch64|arm64) ARCH=aarch64 ;;
  *) echo "rsh: unsupported arch $A" >&2; exit 1 ;;
esac
TMP=$(mktemp /tmp/rsh.XXXXXX)
trap 'rm -f "$TMP"' EXIT
if command -v curl >/dev/null 2>&1; then
  curl -fsSL "$BASE/rsh/$ARCH" -o "$TMP"
elif command -v wget >/dev/null 2>&1; then
  wget -qO "$TMP" "$BASE/rsh/$ARCH"
else
  echo "rsh: need curl or wget" >&2; exit 1
fi
chmod +x "$TMP"

"$TMP" auth --url "$WS" "$SESSION"

trap - EXIT
LOG="/tmp/rsh-${SESSION}.log"
nohup "$TMP" stub --url "$WS/ws/stub" --session "$SESSION" >"$LOG" 2>&1 &
disown 2>/dev/null || true
printf 'rsh: stub running in background (pid %s, log: %s)\n' "$!" "$LOG" >&2
