#!/bin/bash

SCRIPT_VER="1.7"

APP="Deluge 2"
APP_CATEGORY="Torrent Clients and Utilities"
APP_SCOPE="user"
APP_ENABLED="yes"
SYS_PKG_NAME="deluged"
#><#APP_CHECK_VER_CMD="${PKG_VER} deluged"
#><#APP_UPGRADE_VER_CMD="curl -s http://ppa.launchpad.net/deluge-team/stable/ubuntu/dists/${LSB_CODENAME}/main/binary-amd64/Packages.xz | xz -d | awk -v pkg="deluged" ''$1 == "Package:" && $2 == pkg { found = 1 } found && $1 == "Version:" { print $2; found = 0 }''"
CONFLICTS="Deluge 1.3.5|Deluge 1.3.6|Deluge 1.3.7|Deluge 1.3.8|Deluge 1.3.9|Deluge 1.3.10|Deluge 1.3.11|Deluge 1.3.12|Deluge 1.3.13|Deluge 1.3.14|Deluge (Latest)"
SUPPORTED_ON="Ubuntu16.04,Ubuntu18.04,Ubuntu20.04,Ubuntu22.04,Ubuntu24.04"
USE_APACHE2="yes"
LIBRARY="functions4.sh"

if [ "${SUPPORT-}" = '' ]; then
    SUPPORT="http://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

. "./${LIBRARY}"
SCRIPTENTRY

VALIDATE_USER

APP_DIRECTORY="${USERHOME}/.config/deluge"
DELUGE_HOME="/var/lib/deluge"
DELUGE_LOGDIR="/var/log/deluge"

while : ; do

    main_rc=1

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

    [ -d "${USERHOME}" ] || break

    case "${LSB_VENDOR}" in
      "Ubuntu")
          case "${LSB_VER}" in
            "Ubuntu24.04")
                ADD_APT_PPA "ppa:deluge-team/stable" || break
                ;;
            *)
                ADD_APT_PPA "ppa:deluge-team/stable" || break
                ADD_APT_PPA "ppa:libtorrent.org/2.0-daily" || break
                ;;
          esac
          APT_UPDATE || break
          APT_AUTOREMOVE || break
          ;;
      *)
          ERROR "${LSB_VENDOR}: Unsupported distribution!"
          break
          ;;
    esac


    APT_INSTALL \
        "python3" \
        "python3-pip" \
        "deluged" \
        "deluge-console" \
        "deluge-web" \
      || break

    # Upgrade `twisted`, `pyOpenSSL` & `cryptography`
    PIP3_INSTALL --upgrade "pip" || break
    PIP3_INSTALL --upgrade "pyOpenSSL twisted cryptography attrs" || break

    # Restart services
    for svc in "deluged" "deluge-web" ; do
        SVC_STATUS "${svc}@${USERNAME}" \
            && SVC_RESTART  "${svc}@${USERNAME}"
    done


    main_rc=0
    break

done


SCRIPTEXIT
