Introduction
Mullvad VPN is a fully open-source VPN client application built in Rust. It connects to the Mullvad VPN service with a strong emphasis on privacy: no email, no phone number, and no personal data required to create an account — just a randomly generated account number.
What Mullvad VPN Does
- Provides encrypted VPN tunnels using WireGuard or OpenVPN protocols
- Runs native desktop apps for Linux, macOS, and Windows built with Rust and Electron
- Includes a mobile app for Android and iOS
- Features a kill switch that blocks all traffic if the VPN connection drops
- Supports multihop routing through two VPN servers for additional privacy
Architecture Overview
The client is split into a Rust daemon (mullvad-daemon) that manages tunnel connections and firewall rules, and a frontend GUI built with Electron (desktop) or native code (mobile). The daemon handles protocol negotiation, DNS leak protection, and the kill switch via OS-level firewall rules (nftables on Linux, PF on macOS, WFP on Windows). All cryptographic operations use the WireGuard or OpenVPN libraries.
Self-Hosting & Configuration
- Download official packages for Linux (deb/rpm), macOS, or Windows from GitHub releases
- The CLI tool mullvad provides full control over connections, servers, and settings
- Configure DNS to use Mullvad's ad-blocking DNS or custom resolvers
- Split tunneling allows specific apps to bypass the VPN on supported platforms
- All settings persist across reboots via the daemon's configuration store
Key Features
- Fully open-source client and infrastructure code
- WireGuard and OpenVPN support with automatic protocol selection
- Kill switch and DNS leak protection enabled by default
- No-logging policy with independent security audits published publicly
- Anonymous accounts — no email, name, or personal data required
Comparison with Similar Tools
- WireGuard CLI — raw protocol client; Mullvad adds server management, kill switch, and GUI
- OpenVPN — generic VPN protocol; Mullvad wraps it with privacy-focused defaults
- Tailscale — mesh networking tool; Mullvad is a traditional VPN for internet privacy
- ProtonVPN — similar privacy focus but closed-source client; Mullvad is fully open source
- Gluetun — Docker VPN container; Mullvad is a desktop/mobile client with native UI
FAQ
Q: Is the VPN service itself free? A: No. The client is open source and free, but the VPN service requires a paid subscription. This listing covers the open-source client software.
Q: Can I use the client with other VPN providers? A: The client is designed for the Mullvad service. For generic WireGuard connections, use the WireGuard CLI.
Q: Does it support split tunneling? A: Yes, on Linux, Windows, and Android. You can exclude specific apps from the VPN tunnel.
Q: Has the code been audited? A: Yes. Multiple independent security audits have been conducted and the reports are publicly available on Mullvad's website.