pre_install() { if systemctl status mullvad-daemon &> /dev/null; then echo 'Stopping & disabling Mullvad VPN daemon...' systemctl disable --now mullvad-daemon fi } post_install() { echo 'Copying sample settings...' if [[ ! -e /etc/mullvad-vpn/settings.json ]]; then cp -av /etc/mullvad-vpn/settings.json.sample \ /etc/mullvad-vpn/settings.json echo 'Please edit /etc/mullvad-vpn/settings.json' fi chmod u+s "/usr/bin/mullvad-exclude" echo 'Enabling Mullvad VPN daemon...' systemctl enable mullvad-daemon echo ----------------------------------------------------------------------------------- echo 'Mullvad daemon enabled but not started because the CLI might be used remotely.' echo 'Be aware that the daemon will be started after a reboot.' echo 'Please start the daemon now if you want to:' echo '' echo 'systemctl start mullvad-daemon.service' echo ----------------------------------------------------------------------------------- } pre_upgrade() { echo 'Stopping Mullvad VPN daemon...' systemctl stop mullvad-daemon } post_upgrade() { chmod u+s "/usr/bin/mullvad-exclude" echo 'Restarting Mullvad VPN daemon...' systemctl daemon-reload systemctl start mullvad-daemon } pre_remove() { /usr/bin/mullvad account clear-history || echo "Failed to remove leftover WireGuard keys" # 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-cli/mullvad-setup reset-firewall || true } 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 /etc/mullvad-vpn/settings.json' echo ------------------------------------------------------------- }