Return to Facebook   Twitter   Reddit   Instagram   Mastodon   ProtonMail

Release notes for Linux client version 2.0

Posted on November 20th, 2019 by in Releases.

The ProtonVPN Linux client version 2.0 has a Kill Switch feature.


We’re proud to release version 2.0 of the ProtonVPN Linux client. Entirely rewritten in Python, the new version of the client is lighter, faster, and more stable. Version 2.0 also includes the Kill Switch feature, which keeps your data private, even if your VPN connection is interrupted.  

Kill Switch

The Kill Switch prevents your IP address and DNS queries from being exposed if you are disconnected from a VPN server for any reason. If you enable the Kill Switch feature and your VPN connection is disrupted, Kill Switch will block all your device’s external network traffic. It will remain blocked until you manually reconnect to a VPN server.

To enable the Kill Switch, enter protonvpn configure into the ProtonVPN client’s command line.

Then type 5 to select the Kill Switch settings. You will then need to enter y to confirm you want to enable Kill Switch.

Split Tunneling

The version 2.0 client also has a form of Split Tunneling that allows you to exclude specific IP addresses from the VPN tunnel. By excluding some IP addresses from your VPN connection, you can browse the Internet as though you are in two places at once.

To use Split Tunneling, enter protonvpn configure into the ProtonVPN client’s command line. Then type 6 to select the Split Tunneling settings. You will then need to enter IP addresses you wish to exclude from your VPN connection.

Improved performance

The new, streamlined code not only makes version 2.0 of the Linux client easier to maintain, but it should also contribute to a more robust and reliable user experience. You can expect a more stable client and an improved algorithm to discover which VPN server will support the fastest connection speed.

The security of the new client has also been upgraded, with improved DNS leak and IPv6 leak prevention.

Looking ahead

Version 2.0 serves as the foundation for future developments, including the introduction of a graphic user interface. We also plan to add support for automatic VPN connection on boot and automatic reconnects.

We have received many requests for an upgrade of our Linux client, which is not surprising given the popularity of Linux in the IT security community. Indeed, the majority of ProtonVPN’s infrastructure relies on Linux. Version 2.0 of our Linux client was created by Rafficer, who is an active member of the Proton community. As a long-time ProtonVPN user and supporter, Rafficer felt that the Linux client could be improved, and he took it upon himself to design the new client, reaching out to the ProtonVPN Team for help finishing it off. Thanks to his work, Linux users everywhere can access the security and privacy of ProtonVPN without sacrificing performance.

Download ProtonVPN for Linux today to keep your online activity secure and private. You can sign up for a Free plan for Linux on the distro of your choice.

Note: The previous Bash version of protonvpn-cli will no longer be maintained by the ProtonVPN team. This previous version has been superseded by version 2.0. Since version 2.0 has been completely rewritten in Python, you cannot use the --update command. You must install this latest version manually.

You can find installation instructions, along with the most up-to-date documentation about the new ProtonVPN Linux client, on our project page on GitHub. The usage guide is also helpful, and explains in detail how to activate the Linux client’s features.

For those of you who already use our Linux app, follow us on Twitter, Facebook, Reddit, and Instagram and let us know what you think about version 2.0.

Best Regards,
The ProtonVPN Team

To get a free ProtonMail encrypted email account, visit:

Prior to joining Proton, Richie spent several years working on tech solutions in the developing world. He joined the Proton team to advance the rights of online privacy and freedom.


  1. Mitch

    I am working with ProtonVPN-CLI v.2.2.9 (Debian Linux 9.0).
    Last night I realized that while I am connected to the VPN I cannot print to the printer on my local network ( Doing some Google searches, I found that “Split Tunneling” was designed to fix this problem.

    I attempted to configure Split Tunneling by doing the following from my Home directory:
    pvpn configure

    I did this 2x for and 1x for

    The configure process seems to have made the following changes to files in my .pvpn-cli directory under my Home directory:
    pvpn-cli.cfg file:
    split_tunnel = 1 (I assume to turn on Split Tunneling)
    split_tunnel.txt file:
    connect.ovpn file:
    #Split Tunneling
    route net_gateway
    route net_gateway
    route net_gateway

    Printing still does not work, unless I disconnect from ProtonVPN. Any ideas? Please keep in mind you’re talking to an Intermediate Linux user comfortable with the CL.

    Thanks for any insight you can share…

  2. Neil Clay

    Regarding the Split Tunneling, is there was of specifying a block of IP addresses? e.g. 192.168.168.*

  3. Craig

    The kill switch isn’t ready for production yet. It breaks too many work flows like docker / virtual machine / etc… It’s exciting to see it getting there though. Been waiting for a kill switch for a since protonvpn came out. Unfortunatley had to revert back to the openvpn client there are just too many things that don’t work with the protonvpn cli client to use for production. Once the kill switch allows additional networks to be added as local (to fix the docker and virtual machines not working) then it will be ready to use. As of now have to go back to openvpn so I can at least see the status readily on my screen and know when the vpn goes down so that it can be restarted.

  4. prof. dr. varut kaschmir

    hallo protonvpn-team,
    habes es wie beschrieben installiert und es hatt alles auf anhieb gut funktioniert, vielen dank an dieser stelle an alle.
    linux mint 64bit mate 17v3
    freue mich auf die grafische lösung!
    sonnigr grüsse aus hamburg
    prof.dr. varut kaschmir

  5. Dariusz

    The split tunneling thing is a nice one, but it should work like the firewalls, that you can tell which applications are to exclude and which ones not. I honestly don’t have the slightest idea about which IP I visit with my apps, do you? If I visit, say 50 websites every day, I should know the IP of the ones I wanted to exclude? And what about apps like Spotify, Kmail, Nextcloud… Should I find out their IPs? Thats a goddammed mess, sorry for the crude sincerity.
    I don’t mean that IP filtering isn’t useful for some users, but the exclusion filters should use application filters as the default rule.
    Is in your plans to add this feature in the Linux version?

    Thanks for reading.

  6. Hideto Manjo

    Thanks for the great features.

  7. Andrew

    Maybe it is worth adopting the Qomui fork as a GUI client for Linux?

  8. Grass

    The Kill Switch is not working for me.
    It says it’s Enabled, yet I can still surf on the net without being connected to any of your servers…

  9. BTB

    Long time supporter and paid plan user here and overjoyed to hear a GUI is on its way.
    Fantastic work Proton Team and kudos to Raciffer.
    Also liking the new look V4 and Calendar.
    Probably wont use Calendar much myself but will use ProtonDrive when it becomes available.
    Good luck.

  10. Richie Koch

    Thank you for kind words! And yeah, Rafficer did a great job. We’re looking forward to ProtonDrive coming out. Be sure to keep an eye on our social media channels or this blog to keep up with the latest developments.

  11. Dmitri

    Hey guys! I just hope you will make a GUI version on Qt. It’s a best framework for professional Linux software. Please use Qt and HAPPY HOLIDAYS! :-)

  12. John

    The previous version I had installed had no DNS leaks. However, after installing this version I’m now showing DNS leaks. Help?

  13. John

    I usually notice a trend in less safety going forward amid conspiracies to develop backdoors, causing poor implementation of privacy amid “ease of use” and claim of “better” services for universal connectivity. . So I will hang on to the old version which works perfectly. It seems quite hardened and will not drop the connection anyway. For more convenience, I don’t see the need, I don’t feel like it is better not to write sudo a couple of times. So I hope to use the client made by Mazin Ahmed and that it will be able to run for many years .

  14. Jaap

    kill swich enebled but Not enabled? Here is copy of terminal text:

    1) Enable Kill Switch (Block access to/from LAN)
    2) Enable Kill Switch (Allow access to/from LAN)
    3) Disable Kill Switch
    Please enter your choice or leave empty to quit: 1
    Kill Switch configuration updated.
    [jaap@tXXXXX ~]$ protonvpn s
    Status: Connected
    Time: 0:03:59
    IP: 192.40.XXXX
    Server: NL#19
    Features: Normal
    Protocol: UDP
    Kill Switch: Disabled
    Country: Netherlands
    City: Amsterdam
    Load: 22%
    Is this a problem???
    regards Jaap

  15. Jay

    I’ve looked at ProtonVPN for a while and I’m pleased to see v2’s both CLI-based and improved.

    @Richie: Contrary to Alfred’s insistence, only newbs eschew the command line; those of us that use Linux and BSD personally ad professionally prefer CLI environs because that’s where the power is. *Scripting a VPN client is something I do every day.*

    @Alfred: whatever your personal preference is, don’t sell CLI VPN clients short. Unix of any flavor, Linux included, is a Do One Thing and Do It Well environment; only once the CLI version works properly does it rate a GUI. *Rafficer is doing it right.*

  16. GTell

    Indeed, we do badly need an easy-to-use GUI process to install Proton VPN on Linux.
    Thanks for prioritizing it in your development list.

  17. Derrick

    I’m okay with command line. GUI is just more issues to fix. Keep it simple.

  18. beth

    I posted the comment below on 12-20-19, and it still does not appear. Is it still “awaiting moderation”?
    Glad to see these updates.
    Why is the Kill Switch an option (which needs to be turned on), rather than simply on by default? What good is a VPN if its leaks? My suggestion is to make it automatic. I guess you could allow a user to turn it off. (Why would someone want to turn it off?)
    ALso, I don’t see the Kill Switch addressed in the command-line instructions. ( How come?
    On 12-21-19, I asked about the “moderation” process, which also does not appear:
    How long does “moderation” take? I asked a question yesterday (about turning on the kill switch by default). It still says “Your comment is awaiting moderation.” How long does it take to ask a question?

  19. Richie Koch

    I apologize for the slight delay in responding to your question. The reason we give our users the option to turn the Kill Switch on is that it can cause problems for users who do not understand what it is or how it works.
    Also, you make a good point that it should be mentioned in the command-line instructions. Instructions on how to activate Kill Switch have since been added.

  20. CHa

    Great work richie. Thank you. Yeah the graphical interface sure would be nice, like the windows gui. Thank you all for your hard work, it is well appreciated

  21. Richie Koch

    Thank you for your kind words! In reality, the credit belongs to Rafficer, he did most of the heavy lifting creating this new Linux client.

  22. Jerry Rocteur

    Thanks very much, we appreciate this very much!

  23. andy_hertz

    the new python client is pretty slick. i also don’t see it connecting to the infamous website, located in US and which doesnt even connect over https by default

  24. beth

    How long does “moderation” take? I asked a question yesterday (abotu turning on the kill switch by default). It still says “Your comment is awaiting moderation.” How long does it take to ask a question?

  25. Rogelio

    Thanks for the example installation on Ubuntu 18.04. Easy to follow for a Linux beginner.
    Great version, love the single line sign on. Thank you.

  26. Dale

    I recently installed ProtonVPN-CLI v2.2.0
    #protonvpn c –fastest
    Doesn’t work.
    # pvpn -f
    Works, but gives me a warning: ‘This Version of ProtonVPN-CLI has been deprecated…’
    Do I need to uninstall the old version of ProtonVPN or something else?

  27. Junter

    Gui = me buying your CPN

  28. Lk

    I use Network Manager for ProtonVPN

  29. beth

    Glad to see these updates.
    Why is the Kill Switch an option (which needs to be turned on), rather than simply on by default? What good is a VPN if its leaks? My suggestion is to make it automatic. I guess you could allow a user to turn it off. (Why would someone want to turn it off?)
    ALso, I don’t see the Kill Switch addressed in the command-line instructions. ( How come?

  30. Ascending Defiance

    Very nice. Never seen split tunneling before. Looking forward to a GUI though.

  31. Ted Rolle Jr

    Does the Linux version work on the ARM (read: Raspberry Pi 4) architecture?
    I’m not adverse to compiling it.

  32. roy

    I have tried the previous version of this tool, one complaint i had was there was no “indicator” that the vpn was actually running and active. I know you can check within the tool but is there a gui indicator for the system tray, or something similar?.

  33. Protonux

    Thank you for continuing to support Linux and updated the command line app. I am looking forward to the GUI version as well. Please make a ProtonDrive client for Linux and don’t leave us out.

  34. rj

    Kudos for the great work.
    Linux is growing rapidly. GUI please! Now, not in the “future”.
    Our community growth using your product will bloom!!

  35. knytt

    Hi guys, love all the stuff you do at protonmail/protonvpn, great job!
    Just wanted to ask why did you get rid of “pvpn” abbreviation from the previous version of cli?

  36. Alfred

    I hear this fable that “we are going to produce a graphical interface” for our VPN. Yet all I’ve seen are these cli based interfaces. Nice. But Linux users d o n o t hang out on the command line. So far there is only one other provider in Europe who offers an excellent service and a comprehensive offering of graphical interfaces for all markets. Linux is not rocket science. Produce a good graphical client and I’ll switch and support Proton.

  37. Richie Koch

    Hi Alfred,
    Creating an easy-to-use GUI for our Linux client is high on our list of things to do for 2020. We hope when it comes out you’ll give it a shot!

  38. Lidia

    Nice, but many of us just use our Internet conection to read mail, chat and web browsing. Since email and chats are linked to our names or tlf. numbers is rather absurd trying to anonimize them.
    But what we would like to do is anonimize our web browsing. That’s what is really useful for many of us, common users. Are you going to make a browser extension like other VPN providers do, for those who don’t need to anonimize every single bit?


  39. steveb

    Many thanks to Rafficer for the new Linux cli. I’ve really noticed a vast improvement in connection speed, versatility and ease of use. Bravo. Well done. I haven’t tried all of the new features yet but the default settings are superb.

  40. Richie Koch

    Thanks! We’re all impressed by the great work Rafficer did.

  41. victorhck

    Stable, easy and fast to setup and use!!
    Well done!!

  42. Richie Koch

    Thanks! We’re glad you enjoy using the new client.

  43. j d’oh

    Thanks for continuing to work on the Linux client. One feature that would be nice is a verbose mode, when the client is connecting, to see the openvpn output (as one does if one connects directly with openvpn from the commandline). Sometimes the time to connect can be a little slow and seeing if openvpn has hung up for some reason (and where) is useful. Thanks.

  44. Richie Koch

    Hi j, we’re glad you like the new Linux client. You can access a “verbose mode.” If you want to see more debug information, you can use this command in the terminal: sudo PVPN_DEBUG=1 protonvpn [commands]
    For example, in order to connect to the fastest server with debug mode enabled, you can run this command: sudo PVPN_DEBUG=1 protonvpn c -f
    Also, this information is always written to ~/.pvpn-cli/pvpn-cli.log even without that variable.
    Hope this helps!

  45. Proton VPN user

    The vpn client kill switch is a nice start. One additional feature is needed in the Linux VPN Client, that is the ability to automatically reconnect to the same or different VPNs. Let your customers input the VPNs of their preference.

  46. John doe

    Thank you for the great work. One question though, its missing the client update feature which v1.2 had.
    Any plans to include this
    I.e. sudo pvpn –update
    Also wireguard looks like its going to be included in kernel 5.6, will it be included in the new python protonvpn ver 2+ tool sooner rather than later?

  47. Richie Koch

    Thanks John, we’re glad you like the new client.
    ProtonVPN-CLI is handled by external package managers now, so it can’t update itself anymore. However, the client automatically notifies you when an update is available, so the users don’t miss them.
    And we are planning on incorporating WireGuard, but at the moment there is no timetable.

  48. Jeremiah Miller

    Any chance of adding an aur package for the new version of protonvpn for linux? I’d prefer to stick with the standard package manager and aur. Thanks!

  49. Italo

    Very good, thank you.

  50. victorhck

    Great news!!
    Downloading and testing!!
    Spreading the word about this for spanish speakers in my blog:
    Happy hacking!!

  51. Richie Koch

    Thanks! Let us know what you think.

Comments are closed.

Secure your internet

Get ProtonVPN

For customer support inquiries, please submit the following form for the fastest response:
Support Form

For all other inquiries:

Version: OpenPGP.js v4.10.10


You can also Tweet to us: