#!/bin/sh # Instalador de soporte remoto de traut.org.ar # # wget -O- soporte.traut.org.ar|sh # # Instala upterm (versión fija, verificada con sha256) y el comando soporte-traut, # y abre una sesión de soporte. Después alcanza con correr: soporte-traut # # Todo está dentro de main(), que se llama en la última línea: si la descarga # se corta a la mitad, no se ejecuta nada. main() { set -e VERSION=0.41.1 SERVIDOR=soporte.traut.org.ar URL=https://github.com/owenthereal/upterm/releases/download/v$VERSION CLAVE_SERVIDOR="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF2MBbxe2K3UQw+WRnpQPsEnoghd+XEcS6/UUwDs4JGy" if [ "$(id -u)" = 0 ]; then SUDO= elif command -v sudo >/dev/null 2>&1; then SUDO=sudo else echo "Hace falta ser root. Entrá como root (por ejemplo con: su -) y volvé a correr:" echo " wget -O- $SERVIDOR|sh" exit 1 fi if ! command -v dpkg >/dev/null 2>&1; then echo "Este instalador es para Debian, Ubuntu y derivados." exit 1 fi case "$(dpkg --print-architecture)" in amd64) PAQ=amd64; SHA=2f675cf8db1bc4ac8f016a374d0a9ae7974fb314e154ccc3d8c0c356981d5d93 ;; arm64) PAQ=arm64; SHA=6d2c41f86657d8b621f8e7fd5816b7ecdc755331ef9803c724d81919cafca8ca ;; i386) PAQ=386; SHA=502c8f79e8c445a63baf47df83e0b73e2d9a01700d947b87090a5a654e9f3e98 ;; armhf) PAQ=armv6; SHA=e4eba87aa24c9158de2dd80958bf4682a9ad40ecf3c83a95728422dfc6197804 ;; *) echo "Arquitectura no soportada: $(dpkg --print-architecture)" exit 1 ;; esac if [ "$(upterm version 2>/dev/null | sed -n 's/^Upterm version //p')" = "$VERSION" ]; then echo "upterm $VERSION ya está instalado." else TMP=$(mktemp -d) trap 'rm -rf "$TMP"' EXIT DEB="$TMP/upterm_linux_$PAQ.deb" echo "Bajando upterm $VERSION ($PAQ)..." if command -v wget >/dev/null 2>&1; then wget -q -O "$DEB" "$URL/upterm_linux_$PAQ.deb" else curl -fsSL -o "$DEB" "$URL/upterm_linux_$PAQ.deb" fi echo "$SHA $DEB" | sha256sum -c --quiet - || { echo "El paquete bajado no coincide con el esperado. No se instala nada." exit 1 } chmod 755 "$TMP"; chmod 644 "$DEB" # que apt (_apt) lo pueda leer echo "Instalando upterm..." $SUDO apt-get install -y -q "$DEB" >/dev/null rm -rf "$TMP" # el trap no corre si después hacemos exec fi $SUDO mkdir -p /usr/local/share/soporte-traut printf '@cert-authority %s %s\n@cert-authority [%s]:443 %s\n' \ "$SERVIDOR" "$CLAVE_SERVIDOR" "$SERVIDOR" "$CLAVE_SERVIDOR" | $SUDO tee /usr/local/share/soporte-traut/known_hosts >/dev/null $SUDO tee /usr/local/bin/soporte-traut >/dev/null <