<title>Proton VPN Linux Guide – How to install, configure, use and auto-connect? | Aiquiral's Blog</title>
<metaname="description"content="The official Proton VPN Linux client lacks a lot of features, like changing the connection protocol, quickly connecting to the fastest server of a specific country, enabling their VPN Accelerator etc. However, we can achieve a lot using their official CLI client. And yes, that is what we are going to use. No third-party applications.">
<h1class="post-heading">Proton VPN Linux Guide – How to install, configure, use and auto-connect?</h1>
<pclass="post-date">19 May 2023 | Linux Guide, Privacy</p>
<imgsrc="/assets/posts/2023-05-19-proton-vpn-linux-guide/proton.svg"class="featured"alt="Proton VPN - Linux Guide - Install, Configure, Use & Auto-Connect"title="Proton VPN Linux Guide – How to install, configure, use and auto-connect?"/>
<p>It is widely known that the Proton team does not focus on Linux users as much as they focus on Windows and macOS users. The official Proton VPN Linux client lacks a lot of features, like changing the connection protocol, quickly connecting to the fastest server of a specific country, enabling their VPN Accelerator etc.</p>
<p>However, we can achieve a lot using their official CLI client. And yes, that is what we are going to use. No third-party applications.</p>
<h2id="installing-the-official-linux-cli">Installing the official Linux CLI</h2>
<h3id="debian">Debian</h3>
<p>Get the Proton VPN repository setup DEB package:</p>
<pclass="important-note"><strong>Note</strong> - Visit the Proton VPN’s <ahref="https://protonvpn.com/support/linux-vpn-tool/">official documentation page</a> if you get any errors or need detailed instructions.</p>
<h2id="configuring-and-using-the-cli-tool">Configuring and using the CLI tool</h2>
<p><imgsrc="/assets/posts/2023-05-19-proton-vpn-linux-guide/protonvpn-cli_-help.avif"alt="Terminal screenshot with the command "protonvpn-cli --help"."title="Proton VPN CLI with --help argument"/></p>
<h3id="login-and-basic-configuration">Login and basic configuration</h3>
<p>To log in, use this command and follow the on-screen instructions:</p>
<h3id="connecting-to-the-vpn-servers">Connecting to the VPN servers</h3>
<p>To manually select the country and the server to connect to, use the following command and follow the on-screen instructions:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>protonvpn-cli c
</code></pre></div></div>
<p>To connect to the fastest Proton VPN server for your location, for example, enter:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>protonvpn-cli c -f
</code></pre></div></div>
<p>To connect to the fastest Tor server, enter:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>protonvpn-cli c --tor
</code></pre></div></div>
<p>To connect to the fastest server in a specific country, a country code can be used. For example, the following command connects to the fastest server in Germany using TCP:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>protonvpn-cli c --cc DE -p TCP
</code></pre></div></div>
<h2id="setting-up-auto-connect-at-boot">Setting up auto-connect at boot</h2>
<p>The following method is tested on Debian 11 with Xfce, Fedora 38 Workstation with Gnome and Manjaro 22.1.1 with KDE.</p>
<p>Go to the autostart folder in your home directory which contains all your application shortcuts that start immediately after login:</p>
<p>Change the “Exec” value according to your needs. For example, use</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>protonvpn-cli c --cc DE -p TCP
</code></pre></div></div>
<p>to connect to the fastest server in Germany using the TCP protocol. Save the file by hitting Ctrl + X, then Y, and then Enter.</p>
<p>Test this by logging out and then logging back in. Or just restart the whole system. If everything went perfectly, you should be automatically connected to the VPN when you log in.</p>
<p>If due to some reason you are not automatically connected, change the “Exec” value to:</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Exec=bash -c "sleep 10 && protonvpn-cli c -f"
</code></pre></div></div>
<p>This will delay the command execution by ten seconds.</p>
<h2id="other-options">Other options</h2>
<p>There are other options:</p>
<ul>
<li>Installing <ahref="https://www.wireguard.com/install/">Wireguard</a>, generating a <ahref="https://protonvpn.com/support/wireguard-configurations/">config file</a> and using that.</li>
<li>Using OpenVPN <ahref="https://protonvpn.com/support/linux-openvpn/">config files</a> to connect to the VPN.</li>
<li>Setting up the VPN on <ahref="https://protonvpn.com/support/installing-protonvpn-on-a-router/">your router</a>.</li>
<h3style="color: #25252d;">How to Bypass CGNAT - Exposing your home server to the internet with TLS/SSL pass through</h3>
<p>07 October 2023 | Linux Guide, Privacy, Self-hosting</p>
<p>You've set up a home server, and are hosting some services like Vaultwarden, or Jellyfin, or perhaps Nextcloud. But now, you want to share it...</p>
<h3style="color: #25252d;">Proton VPN Linux Guide – How to install, configure, use and auto-connect?</h3>
<p>19 May 2023 | Linux Guide, Privacy</p>
<p>The official Proton VPN Linux client lacks a lot of features, like changing the connection protocol, quickly connecting to the fastest server of a specific...</p>