Files
wgtunnel-desktop/scripts/linux/uninstall.sh
T
2026-02-28 13:17:37 -05:00

65 lines
2.2 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
echo -e "${RED}=== WG Tunnel Uninstaller ===${NC}"
INSTALL_DIR="$HOME/.local/opt/wgtunnel"
DATA_DIR="$HOME/.local/share/wgtunnel"
echo -e "This will remove WG Tunnel from your system."
echo -e "Your tunnels and settings are stored in: ${YELLOW}$DATA_DIR${NC}"
read -p "Type 'yes' to proceed: " confirm
if [[ "$confirm" != "yes" ]]; then
echo "Aborted."
exit 0
fi
echo "Stopping daemon..."
if systemctl is-active --quiet wgtunnel-daemon.service 2>/dev/null; then
sudo systemctl stop wgtunnel-daemon.service
fi
sudo systemctl disable wgtunnel-daemon.service 2>/dev/null || true
sudo rm -f /etc/systemd/system/wgtunnel-daemon.service
sudo systemctl daemon-reload
# Remove daemon-related files
echo "Removing daemon state and IPC keys..."
sudo rm -rf /var/lib/wgtunnel /var/log/wgtunnel /run/wgtunnel 2>/dev/null || true
rm -rf "$HOME/.wgtunnel" 2>/dev/null || true
# Remove desktop entry, CLI link, and app bundle
rm -f "$HOME/.local/share/applications/com.zaneschepke.wireguardautotunnel.wgtunnel.desktop"
rm -f "$HOME/.local/share/metainfo/com.zaneschepke.wireguardautotunnel.wgtunnel.metainfo.xml"
update-desktop-database "$HOME/.local/share/applications" 2>/dev/null || true
rm -f "$HOME/.local/bin/wgtunnel" "$HOME/.local/bin/wgtctl"
rm -rf "$INSTALL_DIR"
echo -e "${GREEN}✓ WG Tunnel application removed${NC}"
# Optionally remove the DB and keyring entry
echo
read -p "Also permanently delete your tunnels, settings, and database? [Y/n] " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]] || [[ -z $REPLY ]]; then
rm -rf "$DATA_DIR"
# Attempt to remove DB encryption key from keyring
if command -v secret-tool >/dev/null 2>&1; then
secret-tool clear service wg_tunnel 2>/dev/null || true
secret-tool clear application wg_tunnel 2>/dev/null || true
secret-tool clear "wg_tunnel" "DB_SECRET_KEY" 2>/dev/null || true
fi
echo -e "${GREEN}✓ All personal data removed${NC}"
else
echo -e "${YELLOW}Your tunnels and settings have been preserved${NC}"
fi
echo -e "\n${GREEN}=== WG Tunnel has been uninstalled ===${NC}"
echo "To reinstall: extract the new tarball and run ./install.sh"