How to choose, use and configure a VPN in Devuan GNU Linux (Tutorial)

Introduction

Devuan GNU Linux is a fork of Debian that deliberately avoids systemd, preferring classic SysVinit or OpenRC init systems. Its package manager is apt (using dpkg under the hood), and users typically run lightweight desktop environments such as Xfce, MATE or LXDE, or even remain entirely on the command line. Given these technical peculiarities, not every commercial VPN client will integrate smoothly—and some require systemd services or heavy GUI dependencies that simply aren’t present on a minimal Devuan install.

VPN Selection Criteria for Devuan

  • Native .deb packages or easy-to-install generic Linux binaries.
  • Command-line interface (CLI) tools that do not rely on systemd.
  • Support for OpenVPN or WireGuard for manual configuration on OpenRC/SysVinit.
  • Clear documentation for Debian-based installs.

Top VPN Providers for Devuan GNU Linux

Based on the criteria above, the following providers stand out:

Comparison Table

Provider Protocols CLI application APT repository Systemd-free
Mullvad OpenVPN, WireGuard Yes Yes Yes
AirVPN OpenVPN over SSL Manual (OpenVPN) No (config file download) Yes
ProtonVPN OpenVPN, IKEv2, WireGuard Yes Yes Limited
ExpressVPN OpenVPN, Lightway Yes Yes No
Windscribe OpenVPN, WireGuard Yes Yes No

ProtonVPN’s CLI on Debian-based distros can run without systemd, but its auto­start service uses systemd units unless you manage connections manually.

Installation Configuration

Mullvad on Devuan

Mullvad provides a Debian repository and a standalone CLI daemon. It’s fully systemd-free and works perfectly under OpenRC or SysVinit.

# Add Mullvad GPG key
wget -qO- https://repository.mullvad.net/gpg/Mullvad.deb.public.key  sudo apt-key add -

# Add the repository
echo deb https://repository.mullvad.net/deb/ focal main  sudo tee /etc/apt/sources.list.d/mullvad.list

# Update and install
sudo apt update
sudo apt install mullvad-daemon

# Start the daemon (SysVinit example)
sudo service mullvad-daemon start

# Login and connect
mullvad login your-token-or-code
mullvad connect

Once connected, your DNS and routing are handled by the daemon. Use mullvad status and mullvad disconnect as needed.

AirVPN via OpenVPN

AirVPN doesn’t maintain an apt repo, but provides OpenVPN configuration bundles. This is about as lean as it gets—ideal for users comfortable with openvpn on Devuan.

# Install OpenVPN and unzip if needed
sudo apt update
sudo apt install openvpn unzip

# Download and extract AirVPN configs
mkdir -p ~/airvpn  cd ~/airvpn
wget https://airvpn.org/dl/config/openvpn/airvpn-ovpn.zip
unzip airvpn-ovpn.zip

# Connect (replace server-name.ovpn with your chosen server)
sudo openvpn --config configs/server-name.ovpn

You’ll be prompted for your AirVPN username and password. To run in the background, add --daemon and redirect logs.

ProtonVPN CLI

ProtonVPN offers a Python-based CLI that pulls in a systemd unit by default. You can work around that by invoking it manually.

# Install prerequisites
sudo apt update
sudo apt install -y gnupg wget apt-transport-https

# Add ProtonVPN repository
wget -qO - https://repo.protonvpn.com/debian/public_key.asc  sudo apt-key add -
echo deb https://repo.protonvpn.com/debian stable main  sudo tee /etc/apt/sources.list.d/protonvpn.list

# Install CLI
sudo apt update
sudo apt install protonvpn-cli

# Initialize (create config dir, login)
protonvpn-cli login your-username
# Connect to fastest server
protonvpn-cli c -f

To avoid systemd, run protonvpn-cli commands directly. For persistent connections you can wrap the connect command in a screen or tmux session.

Conclusion

For a systemd-free distro like Devuan, Mullvad and AirVPN provide the smoothest experiences thanks to their straightforward CLI/OpenVPN support. ProtonVPN is also viable if you don’t mind a manual workaround for its service scripts. Whichever you choose, you’ll maintain compatibility with Devuan’s init and packaging philosophy while securing your network traffic.

Download TXT



Leave a Reply

Your email address will not be published. Required fields are marked *