#!/bin/bash

#
# Name:         uninstall_wireguard.sh
# Version:      1.9.0
# Description:  Wireguard One-Click Installer
#
# (c) 2022-2023, Rapidseedbox, alin@rapidseedbox.com
#                              alexey@rapidseedbox.com
#

SCRIPT_VER="1.9.0"

APP="Wireguard"
APP_CATEGORY="System Services"
APP_SCOPE="system"
APP_ENABLED="yes"
#><#APP_CHECK_VER_CMD="[ -x /usr/local/sbin/boringtun ] && /usr/local/sbin/boringtun --version 2>&1 | awk "{print \$NF}""
SUPPORTED_ON="Ubuntu16.04,Ubuntu18.04,Ubuntu20.04,Ubuntu22.04"
DAEMON_PORT=51820
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

WG_CONF_DIR="/etc/wireguard"
WG_IPV4="10.7.0.1"
WG_DEV="wg0"
WG_PORT="${DAEMON_PORT}"

while : ; do

    main_rc=1

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

    for _svc in "wg-iptables" "wg-quick@${WG_DEV}" ; do
        SVC_ISACTIVE  "${_svc}" && SVC_STOP    "${_svc}"
        SVC_ISENABLED "${_svc}" && SVC_DISABLE "${_svc}"
    done
    #
    RM_DIRS  "/etc/wireguard" \
             "/etc/systemd/system/wg-quick@${WG_DEV}.service.d"
    RM_FILES "/etc/systemd/system/wg-iptables.service" \
             "/etc/systemd/system/wg-quick@${WG_DEV}.service"
    SYSTEMD_RELOAD
    RM_FILES "/home/user/wireguard-rsb.conf" \
             "/home/user/wireguard-qr.txt" \
             "/home/user/wireguard-qr.png"
    RUN_LOG "{ crontab -l 2>/dev/null \
        | grep -v '/usr/local/sbin/boringtun-upgrade' ; } \
        | crontab -"
    APT_REMOVE "wireguard-tools" || break
    RM_FILES "/usr/local/sbin/boringtun" \
             "/usr/local/sbin/boringtun-upgrade" \
             "/etc/cron.d/wg_regenhtml"
    if [ -e "/etc/sysctl.d/99-wireguard-forward.conf" ] ; then
        RM_FILES "/etc/sysctl.d/99-wireguard-forward.conf"
        RUN_LOG  "systemctl --system 2>&1"
    fi
    if [ -d "/var/www/html/wireguard" ] ; then
        RM_DIRS "/var/www/html/wireguard"
    fi
    if [ -e "/etc/apache2/userconf-enabled/wireguard.conf" ] ; then
        RM_FILES "/etc/apache2/userconf-enabled/wireguard.conf"
        SVC_RELOAD "apache2"
    fi
    if [ -e "/etc/monit/conf.d/wq-quick" ] ; then
        RM_FILES "/etc/monit/conf.d/wq-quick"
        MONIT_RELOAD
    fi
    if [ -L "/var/www/dashboard/wireguard" ] ; then
        RM_FILES "/var/www/dashboard/wireguard"
    fi

    INFO "WireGuard removed!"


    main_rc=0
    break

done


SCRIPTEXIT
