diff --git a/install_newt-msp-site_v2.sh b/install_newt-msp-site_v2.sh new file mode 100644 index 0000000..2028e66 --- /dev/null +++ b/install_newt-msp-site_v2.sh @@ -0,0 +1,136 @@ +#!/bin/bash +set -e + +REPO="fosrl/newt" +INSTALL_DIR="/opt/me-msp-newt" +SERVICE_NAME="ME-MSP-Proxy-Client" +SYMLINK="${INSTALL_DIR}/newt_latest" +SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" + +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +RED='\033[0;31m' +NC='\033[0m' + +info() { echo -e "${GREEN}[INFO]${NC} $1"; } +warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } +error() { echo -e "${RED}[ERROR]${NC} $1"; exit 1; } + +get_latest_version() { + curl -fsSL "https://api.github.com/repos/${REPO}/releases/latest" | grep -Po '"tag_name": *"\K[^"]+' +} + +download_newt() { + local version="$1" + local arch=$(uname -m) + local file="" + + case "$arch" in + x86_64) file="newt_linux_amd64" ;; + aarch64) file="newt_linux_arm64" ;; + armv7l) file="newt_linux_arm32" ;; + *) error "Nicht unterstützte Architektur: $arch" ;; + esac + + local url="https://github.com/${REPO}/releases/download/${version}/${file}" + local target="${INSTALL_DIR}/newt_${version}" + mkdir -p "$INSTALL_DIR" + + info "⬇️ Lade $url herunter …" + curl -fsSL "$url" -o "${target}.tmp" || error "Download fehlgeschlagen." + chmod +x "${target}.tmp" + mv "${target}.tmp" "$target" + ln -sf "$target" "$SYMLINK" + info "✅ newt ${version} installiert als ${target}" +} + +setup_systemd_service() { + echo "🆔 Bitte gib die Pangolin-ID ein: " + read -r PANGOLIN_ID + echo "🔑 Bitte gib das Secret ein: " + read -r PANGOLIN_SECRET + echo "🌐 Bitte gib den Endpoint (z. B. https://pangolin.domain.de) ein: " + read -r PANGOLIN_ENDPOINT + + cat > "$SERVICE_FILE" <