2024-03-24 15:21:51 +00:00
|
|
|
|
#!/usr/bin/env bash
|
|
|
|
|
|
|
|
|
|
myUNINSTALL_NOTIFICATION="### Now installing required packages ..."
|
|
|
|
|
myUSER=$(whoami)
|
|
|
|
|
myTPOT_CONF_FILE="/home/${myUSER}/tpotce/.env"
|
|
|
|
|
myANSIBLE_TPOT_PLAYBOOK="installer/remove/tpot.yml"
|
|
|
|
|
|
|
|
|
|
myUNINSTALLER=$(cat << "EOF"
|
2024-06-04 13:37:42 +00:00
|
|
|
|
|
|
|
|
|
_____ ________ __ _____ _____ _____ ____ ____ _______ _____ _ _ ______ _ _ _____ __
|
|
|
|
|
|_ _||___ /\ \ / //\ | __ \|_ _| / ____| / __ \ / __ \|__ __| / ____|| | | ||___ /| | | | / ____|/_ |
|
|
|
|
|
| | / / \ \ / // \ | | | | | | | | __ | | | | | | | | | | | | __ | | | | / / | | | | | (___ | |
|
|
|
|
|
| | / / \ \/ // /\ \ | | | | | | | | |_ || | | | | | | | | | | | |_ || | | | / / | | | | \___ \ | |
|
|
|
|
|
_| |_ / /__ \ // ____ \ | |__| |_| |_ | |__| || |__| | | |__| | | | | |__| || |__| | / /__ | |__| | ____) | | |
|
|
|
|
|
|_____|/_____| \//_/ \_\|_____/|_____| \_____| \____/ \____/ |_| \_____| \____/ /_____| \____/ |_____/ |_|
|
2024-03-24 15:21:51 +00:00
|
|
|
|
EOF
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
# Check if running with root privileges
|
|
|
|
|
if [ ${EUID} -eq 0 ];
|
|
|
|
|
then
|
|
|
|
|
echo "This script should not be run as root. Please run it as a regular user."
|
|
|
|
|
echo
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Check if running on a supported distribution
|
|
|
|
|
mySUPPORTED_DISTRIBUTIONS=("AlmaLinux" "Debian GNU/Linux" "Fedora Linux" "openSUSE Tumbleweed" "Raspbian GNU/Linux" "Rocky Linux" "Ubuntu")
|
|
|
|
|
myCURRENT_DISTRIBUTION=$(awk -F= '/^NAME/{print $2}' /etc/os-release | tr -d '"')
|
|
|
|
|
|
|
|
|
|
if [[ ! " ${mySUPPORTED_DISTRIBUTIONS[@]} " =~ " ${myCURRENT_DISTRIBUTION} " ]];
|
|
|
|
|
then
|
|
|
|
|
echo "### Only the following distributions are supported: AlmaLinux, Fedora, Debian, openSUSE Tumbleweed, Rocky Linux and Ubuntu."
|
|
|
|
|
echo "### Please follow the T-Pot documentation on how to run T-Pot on macOS, Windows and other currently unsupported platforms."
|
|
|
|
|
echo
|
|
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Begin of Uninstaller
|
|
|
|
|
echo "$myUNINSTALLER"
|
|
|
|
|
echo
|
|
|
|
|
echo
|
|
|
|
|
echo "### This script will now uninstall T-Pot."
|
|
|
|
|
while [ "${myQST}" != "y" ] && [ "${myQST}" != "n" ];
|
|
|
|
|
do
|
|
|
|
|
echo
|
|
|
|
|
read -p "### Uninstall? (y/n) " myQST
|
|
|
|
|
echo
|
|
|
|
|
done
|
|
|
|
|
if [ "${myQST}" = "n" ];
|
|
|
|
|
then
|
|
|
|
|
echo
|
|
|
|
|
echo "### Aborting!"
|
|
|
|
|
echo
|
|
|
|
|
exit 0
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Define tag for Ansible
|
|
|
|
|
myANSIBLE_DISTRIBUTIONS=("Fedora Linux" "Debian GNU/Linux" "Raspbian GNU/Linux" "Rocky Linux")
|
|
|
|
|
if [[ "${myANSIBLE_DISTRIBUTIONS[@]}" =~ "${myCURRENT_DISTRIBUTION}" ]];
|
|
|
|
|
then
|
|
|
|
|
myANSIBLE_TAG=$(echo ${myCURRENT_DISTRIBUTION} | cut -d " " -f 1)
|
|
|
|
|
else
|
|
|
|
|
myANSIBLE_TAG=${myCURRENT_DISTRIBUTION}
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Check type of sudo access
|
|
|
|
|
sudo -n true > /dev/null 2>&1
|
|
|
|
|
if [ $? -eq 1 ];
|
|
|
|
|
then
|
|
|
|
|
myANSIBLE_BECOME_OPTION="--ask-become-pass"
|
|
|
|
|
echo "### ‘sudo‘ not acquired, setting ansible become option to ${myANSIBLE_BECOME_OPTION}."
|
|
|
|
|
echo "### Ansible will ask for the ‘BECOME password‘ which is typically the password you ’sudo’ with."
|
|
|
|
|
echo
|
|
|
|
|
else
|
|
|
|
|
myANSIBLE_BECOME_OPTION="--become"
|
|
|
|
|
echo "### ‘sudo‘ acquired, setting ansible become option to ${myANSIBLE_BECOME_OPTION}."
|
|
|
|
|
echo
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Run Ansible Playbook
|
|
|
|
|
echo "### Now running T-Pot Ansible Uninstallation Playbook ..."
|
|
|
|
|
echo
|
2024-03-24 16:28:26 +00:00
|
|
|
|
rm ${HOME}/uninstall_tpot.log > /dev/null 2>&1
|
2024-03-24 15:59:02 +00:00
|
|
|
|
ANSIBLE_LOG_PATH=${HOME}/uninstall_tpot.log ansible-playbook ${myANSIBLE_TPOT_PLAYBOOK} -i 127.0.0.1, -c local --tags "${myANSIBLE_TAG}" ${myANSIBLE_BECOME_OPTION}
|
2024-03-24 15:21:51 +00:00
|
|
|
|
|
|
|
|
|
# Something went wrong
|
|
|
|
|
if [ ! $? -eq 0 ];
|
|
|
|
|
then
|
|
|
|
|
echo "### Something went wrong with the Playbook, please review the output and / or uninstall_tpot.log for clues."
|
|
|
|
|
echo "### Aborting."
|
|
|
|
|
echo
|
|
|
|
|
exit 1
|
|
|
|
|
else
|
|
|
|
|
echo "### Playbook was successful."
|
2024-03-24 15:59:02 +00:00
|
|
|
|
echo "### Now removing ${HOME}/tpotce."
|
2024-03-24 16:22:43 +00:00
|
|
|
|
sudo rm -rf ${HOME}/tpotce
|
2024-03-24 16:01:29 +00:00
|
|
|
|
rm -rf ${HOME}/tpot.yml
|
2024-03-24 15:21:51 +00:00
|
|
|
|
echo
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# Done
|
|
|
|
|
echo "### Done. Please reboot and re-connect via SSH on tcp/22."
|
|
|
|
|
echo
|