diff --git a/helium_helper.sh b/helium_helper.sh index c51ba1f..67533d1 100755 --- a/helium_helper.sh +++ b/helium_helper.sh @@ -32,7 +32,10 @@ LOG_PATH=$INSTALL_PATH/assets/logs LOG=$LOG_PATH/log LAUNCHER_PATH=$HOME/.local/share/applications SCRIPT_PATH=$HOME/.local/bin -#PROFILE=$HOME/.profile ### for AUTO UPDATE + +## REMOTE LOCATIONS +REMOTE_SCRIPT_URL=https://lab.c95.org/fr4nz/helium-helper/raw/branch/main/$SCRIPT_FILE_NAME +SOURCE_URL=https://api.github.com/repos/imputnet/helium-linux/releases/latest ########## FUNCTIONS ########### @@ -92,12 +95,12 @@ install_helium() { echo if [[ "$CONFIRM_INSTALL" == "" || "$CONFIRM_INSTALL" == "y" || "$CONFIRM_INSTALL" == "Y" ]] ; then - 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 --show-progress - chmod +x $TMP/$GIT_FILENAME + DOWNLOAD_URL=$(curl -s $SOURCE_URL | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}') + SOURCE_FILENAME=$(curl -s $SOURCE_URL | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}' | awk -F'/' '{print $9}') + wget -P $TMP $DOWNLOAD_URL -q --show-progress + chmod +x $TMP/$SOURCE_FILENAME mkdir -p $INSTALL_PATH - mv $TMP/$GIT_FILENAME $INSTALL_PATH/$APP_NAME.AppImage + mv $TMP/$SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.AppImage add_launcher echo -e "\n ${GRN}$APP_NAME_LONG is installed!${CRS}\n" break @@ -173,7 +176,7 @@ add_launcher() { add_alias() { ### WORKS BUT NEEDS WORK if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then mkdir -p $SCRIPT_PATH - wget -P $TMP $SCRIPT_URL -q + wget -P $TMP $REMOTE_SCRIPT_URL -q chmod +x $TMP/$SCRIPT_FILE_NAME mv $TMP/$SCRIPT_FILE_NAME $SCRIPT_PATH fi @@ -203,10 +206,10 @@ add_alias() { ### WORKS BUT NEEDS WORK ### UPDATE update_helium() { LOCAL_VERSION=$($INSTALL_PATH/$APP_NAME.AppImage --version | awk '{print $2}') - GIT_VERSION=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "tag_name" | tr -d \", | awk '{print $2}') + SOURCE_VERSION=$(curl -s $SOURCE_URL | grep "tag_name" | tr -d \", | awk '{print $2}') ### CHECK FOR EMPTY VERSION TAGS - if [ -z "$GIT_VERSION" ] ; then + if [ -z "$SOURCE_VERSION" ] ; then echo -e "\n ${RED}Empty version tag from ${CYN}$SOURCE${RED}! Can't compare, exiting...${CRS}" exit @@ -218,31 +221,31 @@ update_helium() { ### COMPARE LOCAL & REMOTE VERSION LOCAL_VERSION_NUM=$(echo $LOCAL_VERSION | tr -d .) - GIT_VERSION_NUM=$(echo $GIT_VERSION | tr -d .) + SOURCE_VERSION_NUM=$(echo $SOURCE_VERSION | tr -d .) - if [ "$GIT_VERSION" == "$LOCAL_VERSION" ] ; then + if [ "$SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then echo -e "\n ${GRN}$APP_NAME_LONG is already up-to-date!${CRS}\n" - elif [ "$GIT_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then + elif [ "$SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then echo -e "\n ${LCY}$APP_NAME_LONG is updatable!${CRS}\n" echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}" - echo -e " ${CYN}$SOURCE Version :\t${CRS}${GIT_VERSION}\n" + echo -e " ${CYN}$SOURCE Version :\t${CRS}${SOURCE_VERSION}\n" while true ; do read -p " Download and update $APP_NAME_LONG from $SOURCE? (Y/n) : " CONFIRM echo if [[ "$CONFIRM" == "" || "$CONFIRM" == "y" || "$CONFIRM" == "Y" ]] ; then - 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}') + DOWNLOAD_URL=$(curl -s $SOURCE_URL | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}') + SOURCE_FILENAME=$(curl -s $SOURCE_URL | grep "browser_download_url" | grep "x86_64.AppImage" | grep -v "zsync" | tr -d \" | awk '{print $2}' | awk -F'/' '{print $9}') mkdir -p $TMP $BACKUP_PATH - wget -P $TMP $GIT_URL -q --show-progress - chmod +x $TMP/$GIT_FILENAME + wget -P $TMP $DOWNLOAD_URL -q --show-progress + chmod +x $TMP/$SOURCE_FILENAME if [ -f "$BACKUP_PATH/$APP_NAME.old" ] ; then rm $BACKUP_PATH/$APP_NAME.old fi mv $INSTALL_PATH/$APP_NAME.AppImage $BACKUP_PATH/$APP_NAME.old - mv $TMP/$GIT_FILENAME $INSTALL_PATH/$APP_NAME.AppImage + mv $TMP/$SOURCE_FILENAME $INSTALL_PATH/$APP_NAME.AppImage cp $LAUNCHER_PATH/$APP_NAME.desktop $BACKUP_PATH/$APP_NAME.desktop.old sed -i "s|X-AppImage-Version=.*|X-AppImage-Version=$($INSTALL_PATH/$APP_NAME.AppImage --version | awk '{print $2}')|" $LAUNCHER_PATH/$APP_NAME.desktop echo -e "\n ${GRN}$APP_NAME_LONG is up-to-date !${CRS}\n" @@ -262,7 +265,7 @@ update_helium() { else echo -e "\n ${RED}Version tags malformed or you are using a Beta version!${CRS}\n" echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}" - echo -e " ${CYN}$SOURCE Version :\t${CRS}${GIT_VERSION}\n" + echo -e " ${CYN}$SOURCE Version :\t${CRS}${SOURCE_VERSION}\n" echo -e " ${RED}Update failed... Exiting...${CRS}\n" exit @@ -341,8 +344,6 @@ script_version() { ### UPDATE SCRIPT update_script() { - REMOTE_SCRIPT_URL=https://lab.c95.org/fr4nz/helium-helper/raw/branch/main/$SCRIPT_FILE_NAME - ### CHECK FOR LOCAL SCRIPT if ! [ -f "$SCRIPT_PATH/$SCRIPT_FILE_NAME" ] ; then echo -e "\n ${YEL}$SCRIPT_FILE_NAME not found...${CRS}" @@ -375,7 +376,7 @@ update_script() { fi - REMOTE_SCRIPT_VERSION=$(curl -s https://lab.c95.org/fr4nz/helium-helper/raw/branch/main/$SCRIPT_FILE_NAME | grep -m 1 "SCRIPT_VERSION" | tr -d 'SCRIPT_VERSION="') + REMOTE_SCRIPT_VERSION=$(curl -s $REMOTE_SCRIPT_URL | grep -m 1 "SCRIPT_VERSION" | tr -d 'SCRIPT_VERSION="') ### CHECK FOR EMPTY VERSION TAGS if [ -z "$SCRIPT_VERSION" ] ; then @@ -439,10 +440,10 @@ update_script() { ### COMPARE APPIMAGE VERSION compare_version() { LOCAL_VERSION=$($INSTALL_PATH/$APP_NAME.AppImage --version | awk '{print $2}') - GIT_VERSION=$(curl -s https://api.github.com/repos/imputnet/helium-linux/releases/latest | grep "tag_name" | tr -d \", | awk '{print $2}') + SOURCE_VERSION=$(curl -s $SOURCE_URL | grep "tag_name" | tr -d \", | awk '{print $2}') ### CHECK FOR EMPTY VERSION TAGS - if [ -z "$GIT_VERSION" ] ; then + if [ -z "$SOURCE_VERSION" ] ; then echo -e "\n ${RED}Empty version tag from ${CYN}$SOURCE${RED}! Can't compare, exiting...${CRS}" exit @@ -454,24 +455,24 @@ compare_version() { ### COMPARE LOCAL & REMOTE VERSION LOCAL_VERSION_NUM=$(echo $LOCAL_VERSION | tr -d .) - GIT_VERSION_NUM=$(echo $GIT_VERSION | tr -d .) + SOURCE_VERSION_NUM=$(echo $SOURCE_VERSION | tr -d .) - if [ "$GIT_VERSION" == "$LOCAL_VERSION" ] ; then + if [ "$SOURCE_VERSION" == "$LOCAL_VERSION" ] ; then echo -e "\n ${GRN}$APP_NAME_LONG is up-to-date!${CRS}\n" echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}" - echo -e " ${CYN}$SOURCE Version :\t${CRS}${GIT_VERSION}\n" + echo -e " ${CYN}$SOURCE Version :\t${CRS}${SOURCE_VERSION}\n" exit - elif [ "$GIT_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then + elif [ "$SOURCE_VERSION_NUM" -gt "$LOCAL_VERSION_NUM" ] ; then echo -e "\n ${YEL}$APP_NAME_LONG is updatable!${CRS}\n" echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}" - echo -e " ${CYN}$SOURCE Version :\t${CRS}${GIT_VERSION}\n" + echo -e " ${CYN}$SOURCE Version :\t${CRS}${SOURCE_VERSION}\n" exit else echo -e "\n ${RED}Version tags malformed or you are using a Beta version!${CRS}\n" echo -e " ${CYN}Local Version :\t${CRS}${LOCAL_VERSION}" - echo -e " ${CYN}$SOURCE Version :\t${CRS}${GIT_VERSION}\n" + echo -e " ${CYN}$SOURCE Version :\t${CRS}${SOURCE_VERSION}\n" echo -e " ${RED}Update failed ... Exiting ...${CRS}\n" exit