#!/bin/bash

SCRIPT_VER="1.5"

APP="Basilisk"
APP_CATEGORY="Web Browsers"
APP_SCOPE="system"
APP_ENABLED="yes"
SUPPORTED_ON="Ubuntu20.04,Ubuntu22.04,Ubuntu24.04"
LIBRARY="functions4.sh"

if [ "${SUPPORT-}" = '' ]; then
    SUPPORT="https://installers.rapidseedbox.com/scripts/whmcs_client_installers/support"
fi

LOGFILE="/var/log/whmcs_client_installers/${0}.log"
[ ! -d "/var/log/whmcs_client_installers" ] && mkdir -p "/var/log/whmcs_client_installers"

wget -4 -nc -q --no-check-certificate --timeout=20 --tries=5 ${SUPPORT}/${LIBRARY} >> "${LOGFILE}" 2>&1
if [ ! -f "./${LIBRARY}" ] ; then
    echo "55"
    echo "Error downloading \"${SUPPORT}/${LIBRARY}\"" >> "${LOGFILE}"
    exit 55
fi

# shellcheck source=support/functions4.sh
. "./${LIBRARY}"
SCRIPTENTRY

APP_DIRECTORY="/opt/basilisk"

while : ; do

    main_rc=1

    CHECK_APP ; _rc=$?
    if [ ${_rc} -ne 0 ] ; then
        main_rc=${_rc}
        break
    fi

    if [ ! -d "/opt" ] ; then
        MKDIR "/opt" || break
    fi

    APT_INSTALL "libdbus-glib-1-2" || break

    WGET "https://www.basilisk-browser.org/download.html" || break
    _url="$( grep -oE 'https://[^"]+linux-x86_64-gtk3\.tar\.xz' "${TMP_DIR}/download.html"  )"
    if [ -z "${_url}" ] ; then
        ERROR "Error retrieving '${APP}' package URL!"
        break
    fi

    WGET "${_url}" "${TMP_DIR}/archive.tar.xz" || break
    RUN_LOG "tar -Jxf '${TMP_DIR}/archive.tar.xz' -C '/opt'" || break


    [ ! -d "/etc/skel/Desktop" ] && MKDIR "/etc/skel/Desktop"
    cat <<-EOF > "/etc/skel/Desktop/Basilisk Web Browser.desktop"
	[Desktop Entry]
	Version=1.0
	Type=Application
	Name=Basilisk Web Browser
	Comment=
	Exec=${APP_DIRECTORY}/basilisk
	Icon=${APP_DIRECTORY}/browser/icons/mozicon128.png
	Path=
	Terminal=false
	StartupNotify=false
	EOF
    CHMOD_FILE 755 "/etc/skel/Desktop/Basilisk Web Browser.desktop"
    if [ ! -d "${USERHOME}/Desktop" ] ; then
        MKDIR "${USERHOME}/Desktop"
        CHOWN_DIR "${USERNAME}":"${USERNAME}" "${USERHOME}/Desktop"
    fi
    CP_FILE "/etc/skel/Desktop/Basilisk Web Browser.desktop" "${USERHOME}/Desktop/"
    CHOWN_FILE "${USERNAME}":"${USERNAME}" "${USERHOME}/Desktop/Basilisk Web Browser.desktop"


    main_rc=0
    break

done


SCRIPTEXIT
