#!/bin/bash # HELIUM BOWSER AUTO UPDATE SCRIPT WITH LOGGING ## VARIABLES & TMP FOLDER mkdir -p /tmp/Helium TMP=/tmp/Helium INSTALL_PATH=$HOME/.apps/Helium LOG=$INSTALL_PATH/updateLog DEPENDENCIES=("curl" "wget") MISSING=$(cat $TMP/missingDeps 2>/dev/null) GIT_VERSION=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "tag_name" | tr -d \", | awk '{print $2}') LOCAL_VERSION=$($INSTALL_PATH/helium-browser.AppImage --version | awk '{print $2}') DATE=$(date) ## CHECKS if ! [ -d "$INSTALL_PATH" ] ; then mkdir -p $INSTALL_PATH echo "${DATE} | Failed to update - Helium installation path not present - But created for logging" >> $LOG exit 1 elif ! [ -f "$INSTALL_PATH/helium-browser.AppImage" ] ; then echo "${DATE} | Failed to update - Local Helium AppImage not found" >> $LOG exit 1 else : fi ### SCRIPT DEPENDENCIES dependency_check() { local PACKAGE="$1" if command -v "$PACKAGE" >/dev/null 2>&1 ; then : else echo "$PACKAGE" >>$TMP/missingDeps fi } for PACKAGE in "${DEPENDENCIES[@]}" ; do dependency_check "$PACKAGE" done if ! [ "$MISSING" ] ; then : else echo "${DATE} | Failed to update - missing dependencies : $MISSING" >> $LOG exit 1 fi ## COMPARE VERSIONS update_helium() { GIT_URL=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}') GIT_FILENAME=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}' | awk -F'/' '{print $9}') wget -P $TMP $GIT_URL -q chmod +x $TMP/$GIT_FILENAME rm $INSTALL_PATH/helium-browser.OldAppImage >/dev/null 2>&1 mv $INSTALL_PATH/helium-browser.AppImage $INSTALL_PATH/helium-browser.OldAppImage >/dev/null 2>&1 mv $TMP/$GIT_FILENAME $INSTALL_PATH/helium-browser.AppImage echo "${DATE} | Helium updated to ${GIT_VERSION}" >> $LOG } ### CHECK FOR EMPTY VERSION TAGS if [[ -z "$GIT_VERSION" ]] ; then echo "${DATE} | Failed to update - Emty version tag --> GIT" >> $LOG exit 1 elif [[ -z "$LOCAL_VERSION" ]] ; then echo "${DATE} | Failed to update - Emty version tag --> LOCAL" >> $LOG exit 1 else : fi if [[ "$GIT_VERSION" == "$LOCAL_VERSION" ]] ; then : else update_helium fi rm -rf $TMP exit 0