In this guide, we briefly discuss the various ways you can use Proton VPN on Linux and provide a guide to setting up and using the Proton VPN Linux app, which is our recommended method.
It’s simple to get Proton VPN for free on Linux for the distro of your choice. There are a number of ways to use Proton VPN on Linux:
1. The official Proton VPN Linux app
The Proton VPN Linux app is a fully featured desktop VPN application with a graphical user interface. It is the recommended way for most people to use Proton VPN on their Linux systems. We discuss how to install and use this app in this article.
Learn how to set up and use the Proton VPN Linux app
2. The official Proton VPN CLI
The Proton VPN CLI is a fully featured command line tool recommended for people who prefer to work in Terminal, want an app that uses minimal system resources, or work with Linux servers. Please note that the Proton VPN CLI doesn’t yet support Split Tunneling and doesn’t run on headless servers.
Learn how to set up and use Proton VPN CLI
3. Manual OpenVPN setup
The Proton VPN Linux app and the Proton VPN CLI use the highly secure OpenVPN protocol to secure the VPN connection to our servers. You can also configure OpenVPN manually in Linux using either NetworkManager or the command line. This may be useful on devices not supported by our Proton VPN Linux app or the Proton VPN CLI, but if we retire a server, you may need to download new OpenVPN configuration files.
Learn how to manually configure OpenVPN for Proton VPN in Linux
How to install the Proton VPN Linux app
The official Proton VPN Linux app lets you protect your Linux devices with Proton VPN while controlling the VPN via an intuitive and easy-to-use graphical interface.
This app natively supports advanced Proton VPN features, including:
- NetShield Adblocker
- Permanent Kill Switch
- Kill Switch
- Secure Core
Not only is the Linux app easy to use, but installing it is quick and simple, regardless of which distro you use. This article will explain how to use our official Linux app. We have separate installation guides for all supported distros:
If you are using the community-developed version of our Linux app, we recommend you uninstall it before installing the new app. Instructions for this are provided in each distro setup guide.
How to use the Proton VPN Linux app
Once you have installed the Proton VPN app, open it by using the application launcher and searching for ProtonVPN.
Then, log in by entering your Proton account credentials. (If you were previously using the Proton VPN Linux CLI and upgraded, you will not need to log in again.)
Quick Connect
Once you have logged in to the app, you can connect to the fastest VPN server available (as determined by your geographic location and server traffic) with one click using the Quick Connect button.

Search by country
You can search for VPN servers by country by scrolling through the country list or typing in the search bar. You can connect to the server of your choice by clicking the green CONNECT button.

P2P file sharing
You can share and torrent files while connected to Proton VPN servers that have the two-way arrow icon (in the picture below). P2P file sharing is only available on VPN Plus, Proton Unlimited, or Visionary (legacy users only) plans.

Streaming
You can use Proton VPN to access your favorite streaming platforms. Servers that have a play arrow icon next to their name support streaming. (Available only on Plus and Visionary plans.)

See what services you can access with our streaming guide
You can also check the traffic load on any given server by hovering your cursor over the i icon.

The Quick Settings menu has three buttons that let you control our Secure Core, NetShield, and Kill Switch features.
Secure Core
The lock button on the left of the Quick Settings menu lets you turn Secure Core on or off. (Available only with a Plus or Visionary plan.)
Secure Core routes your online traffic through special, hardened VPN servers housed in countries with strong data-protection laws before sending it on to a second VPN server in your desired country.

Once you turn Secure Core on, you will see different options for multi-hop VPN connections.
Learn more about how Secure Core protects your online activity
NetShield
The shield button in the middle of the Quick Settings menu lets you choose your level of NetShield protection. (Available only with a Plus or Visionary plan.)
NetShield is our adblocker that uses DNS filtering to prevent your device from loading malware, ads, and trackers, keeping your device safe and speeding up your browsing.

Kill Switch
The switch button on the right of the Quick Settings menu allows you to turn Kill Switch and Permanent Kill Switch on or off.
- Kill Switch blocks all external connections from your device if your VPN connection is unintentionally interrupted. It does not block external connections if you manually disconnect the VPN.
- Permanent Kill Switch blocks all external connections from your device unless you are connected to a VPN. It will continue blocking external connections if you manually disconnect the VPN or restart your computer.

Note that if you activate Permanent Kill Switch, it will continue blocking external connections even if you log out of Proton VPN.
Learn more about Permanent Kill Switch
Logging out
To log out of Proton VPN, click the arrow button on the status bar and select Log out.

System tray icon
Our Linux app can show a system tray icon that stays active when you close the main Proton VPN window and allows you to easily Quick Connect or Disconnect the VPN.

Instructions for installing this system tray icon can be found in the Linux setup guide for your distro..
Supported distros
The Proton VPN Linux app is currently officially supported on the following distros:
- Debian 10+
- Ubuntu 20.04 (LTS)+
- Mint 20+
- MX Linux 19+
- Kali Linux
- Elementary OS 6.0+
- Fedora 34+
- Archlinux / Manjaro
We are working on adding official support for more distros. The Debian repository should work on many Debian-based distros, and we invite users to test-run our software on their systems. But we cannot guarantee support if things don’t work on these unsupported systems.