pre_install() { if systemctl status mullvad-daemon &> /dev/null; then echo 'Stopping & disabling Mullvad VPN daemon...' /opt/Mullvad\ VPN/resources/mullvad-setup prepare-restart || true systemctl disable --now mullvad-daemon fi pkill -x "mullvad-gui" || true rm -f /var/cache/mullvad-vpn/relays.json rm -f /var/cache/mullvad-vpn/api-ip-address.txt } post_install() { chmod u+s "/usr/bin/mullvad-exclude" echo 'Enabling Mullvad VPN daemon...' systemctl enable --now mullvad-daemon } pre_upgrade() { pre_install } post_upgrade() { echo 'Starting & enabling Mullvad VPN daemon...' systemctl daemon-reload systemctl enable --now mullvad-daemon chmod u+s "/usr/bin/mullvad-exclude" } pre_remove() { # the user might've disabled or stopped the service themselves already echo 'Making sure the Mullvad VPN daemon is stopped & disabled...' systemctl stop mullvad-daemon || true systemctl disable mullvad-daemon || true /opt/Mullvad\ VPN/resources/mullvad-setup reset-firewall || echo "Failed to reset firewall" /opt/Mullvad\ VPN/resources/mullvad-setup clear-history || echo "Failed to remove leftover WireGuard keys" } post_remove() { echo ------------------------------------------------------------- echo 'Optionally remove logs & cache:' echo 'sudo rm -rf /var/log/mullvad-vpn/' echo 'sudo rm -rf /var/cache/mullvad-vpn/' echo '' echo 'Optionally remove config:' echo 'sudo rm -rf /etc/mullvad-vpn' echo ------------------------------------------------------------- }