From e3aed3022ff51a5f3b05cc5b8a5076199075c6f1 Mon Sep 17 00:00:00 2001 From: Ahmed AbdelHalim Date: Tue, 9 Sep 2025 21:46:50 +0200 Subject: Add install/uninstall scripts --- deployment/uninstall.sh | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 deployment/uninstall.sh (limited to 'deployment/uninstall.sh') diff --git a/deployment/uninstall.sh b/deployment/uninstall.sh new file mode 100755 index 0000000..a3a1b0e --- /dev/null +++ b/deployment/uninstall.sh @@ -0,0 +1,62 @@ +#!/bin/bash +set -euo pipefail + +abort() { + printf "\033[31m%s\033[0m\n" "$@" >&2 + exit 1 +} + +log() { + printf "%s\n" "$@" +} + +ensure_sudo() { + if [ "$EUID" -ne 0 ]; then + abort "Must be run as sudo" + fi +} + +uninstall_systemd_configurations() { + log "Removing wg-portal systemd configurations" + systemctl stop wg-portal 2>/dev/null || true + systemctl disable wg-portal 2>/dev/null || true + rm -f /etc/systemd/system/wg-portal.service + systemctl daemon-reload +} + +remove_directories() { + log "Removing wg-portal directories..." + rm -rf /etc/wg-portal +} + +remove_sudo_configurations() { + log "Removing wg-portal sudo permissions..." + rm -f /etc/sudoers.d/wg-portal +} + +remove_acl_permissions() { + if [ -d /etc/wireguard ]; then + log "Removing wg-portal ACL permissions from /etc/wireguard..." + setfacl -R -x g:wg-portal /etc/wireguard 2>/dev/null || true + fi +} + +remove_system_user() { + log "Removing wg-portal system user and group..." + userdel wg-portal 2>/dev/null || true + groupdel wg-portal 2>/dev/null || true +} + +show_completion_message() { + log "" + log "wg-portal uninstalled successfully!" +} + +# Main +ensure_sudo +uninstall_systemd_configurations +remove_directories +remove_sudo_configurations +remove_acl_permissions +remove_system_user +show_completion_message -- cgit v1.2.3