diff --git a/RMxxx_rgmii_toolkit.sh b/RMxxx_rgmii_toolkit.sh index 2e49f46..b6e24f5 100644 --- a/RMxxx_rgmii_toolkit.sh +++ b/RMxxx_rgmii_toolkit.sh @@ -456,15 +456,17 @@ uninstall_simpleadmin_components() { tailscale_menu() { while true; do echo -e "\e[1;32mTailscale Menu\e[0m" - echo -e "\e[1;32m1) Install/Update Tailscale\e[0m" - echo -e "\e[1;36m2) Configure Tailscale\e[0m" - echo -e "\e[1;31m3) Return to Main Menu\e[0m" + echo -e "\e[1;32m1) Install/Update Tailscale\e[0m" + echo -e "\e[1;36m2) Configure Tailscale\e[0m" + echo -e "\e[1;31m3) Uninstall Tailscale\e[0m" + echo -e "\e[1;31m4) Return to Main Menu\e[0m" read -p "Enter your choice: " tailscale_choice case $tailscale_choice in 1) install_update_tailscale;; 2) configure_tailscale;; - 3) break;; + 3) uninstall_tailscale;; + 4) break;; *) echo "Invalid option";; esac done @@ -472,16 +474,47 @@ tailscale_menu() { # Function to install, update, or remove Tailscale install_update_tailscale() { -echo -e "\e[1;31m2) Installing tailscale from the $GITTREE branch\e[0m" - ensure_entware_installed - mkdir /usrdata/simpleupdates > /dev/null 2>&1 - mkdir /usrdata/simpleupdates/scripts > /dev/null 2>&1 - wget -O /usrdata/simpleupdates/scripts/update_tailscale.sh $GITROOT/simpleupdates/scripts/update_tailscale.sh && chmod +x /usrdata/simpleupdates/scripts/update_tailscale.sh - echo -e "\e[1;32mInstalling/updating: Tailscale\e[0m" - echo -e "\e[1;32mPlease Wait....\e[0m" - remount_rw - /usrdata/simpleupdates/scripts/update_tailscale.sh - echo -e "\e[1;32m Tailscale has been updated/installed.\e[0m" + echo -e "\e[1;31m2) Installing tailscale from the $GITTREE branch\e[0m" + ensure_entware_installed + mkdir /usrdata/simpleupdates > /dev/null 2>&1 + mkdir /usrdata/simpleupdates/scripts > /dev/null 2>&1 + wget -O /usrdata/simpleupdates/scripts/update_tailscale.sh $GITROOT/simpleupdates/scripts/update_tailscale.sh && chmod +x /usrdata/simpleupdates/scripts/update_tailscale.sh + echo -e "\e[1;32mInstalling/updating: Tailscale\e[0m" + echo -e "\e[1;32mPlease Wait....\e[0m" + remount_rw + /usrdata/simpleupdates/scripts/update_tailscale.sh + echo -e "\e[1;32m Tailscale has been updated/installed.\e[0m" +} + +# Function to uninstall Tailscale +uninstall_tailscale() { + echo -e "\e[1;31mUninstalling Tailscale...\e[0m" + + # Stop and logout from Tailscale + if [ -f "/usrdata/tailscale/tailscale" ]; then + /usrdata/tailscale/tailscale logout + /usrdata/tailscale/tailscale down + fi + + # Stop services + systemctl stop tailscale 2>/dev/null + systemctl stop tailscale-webui 2>/dev/null + + # Remove service files + rm -f /lib/systemd/system/tailscale.service + rm -f /lib/systemd/system/tailscale-webui.service + rm -f /lib/systemd/system/tailscale-webui-trigger.service + rm -f /lib/systemd/system/multi-user.target.wants/tailscale-webui-trigger.service + + # Remove Tailscale files and directories + rm -rf /usrdata/tailscale + rm -f /bin/tailscale + rm -f /bin/tailscaled + + # Reload systemd + systemctl daemon-reload + + echo -e "\e[1;32mTailscale has been uninstalled.\e[0m" } # Function to Configure Tailscale