#!/usr/bin/env bash set -euo pipefail REPO="imputnet/helium-linux" OPT_DIR="/opt/helium" BIN_DIR="/usr/local/bin" SYSTEM_DESKTOP_DIR="/usr/share/applications" TMP_DIR=$(mktemp -d) trap 'rm -rf "$TMP_DIR"' EXIT echo "Fetching latest Helium release..." LATEST_TAG=$(curl -fsSL \ -A "helium-installer" \ https://api.github.com/repos/$REPO/releases/latest \ | grep -oP '"tag_name":\s*"\K[^"]+') if [ -z "$LATEST_TAG" ]; then echo "Error: could not determine latest release." exit 1 fi DOWNLOAD_URL="https://github.com/$REPO/releases/download/$LATEST_TAG/helium-$LATEST_TAG-x86_64_linux.tar.xz" echo "Downloading Helium v$LATEST_TAG..." curl -fsSL "$DOWNLOAD_URL" -o "$TMP_DIR/helium.tar.xz" echo "Extracting..." tar -xJf "$TMP_DIR/helium.tar.xz" -C "$TMP_DIR" --strip-components=1 ENTRY_POINT="$TMP_DIR/chrome" [ -f "$ENTRY_POINT" ] || ENTRY_POINT="$TMP_DIR/helium" if [ ! -f "$ENTRY_POINT" ]; then echo "Error: Helium executable not found." exit 1 fi echo "Installing to $OPT_DIR..." sudo rm -rf "$OPT_DIR" sudo mkdir -p "$OPT_DIR" sudo cp -r "$TMP_DIR"/* "$OPT_DIR/" sudo chmod -R 755 "$OPT_DIR" echo "Creating binary symlink..." sudo ln -sf "$OPT_DIR/$(basename "$ENTRY_POINT")" "$BIN_DIR/helium" echo "Installing system desktop entry..." sudo tee "$SYSTEM_DESKTOP_DIR/helium.desktop" > /dev/null </dev/null 2>&1; then xdg-settings set default-web-browser helium.desktop || true fi if command -v xdg-mime >/dev/null 2>&1; then xdg-mime default helium.desktop x-scheme-handler/http xdg-mime default helium.desktop x-scheme-handler/https xdg-mime default helium.desktop text/html fi DESKTOP_DIR="$HOME/Desktop" if [ -d "$DESKTOP_DIR" ]; then echo "Creating desktop shortcut..." cp "$SYSTEM_DESKTOP_DIR/helium.desktop" "$DESKTOP_DIR/helium.desktop" chmod +x "$DESKTOP_DIR/helium.desktop" fi echo "Helium v$LATEST_TAG installed successfully."