PROTONVPN(1)

๐Ÿ“ฆ version 1.0.1, in ubuntu stonking

๐Ÿ’– PROTONVPN โ€” the ProtonVPN CLI, bestie edition ๐Ÿ’–

okay so this is the manual page for protonvpn (that's the PROTONVPN(1) situation if you're being formal about it, from the ProtonVPN CLI Manual), and I'm gonna walk you through literally every single thing it does. no skips. no โœจvibes-based guessingโœจ. we're going line by line and you're gonna be a terminal VPN girly by the end. ๐Ÿซถ


โœจ NAME โœจ

protonvpn โ€” your command-line client for ProtonVPN, fr fr.


๐ŸŒธ SYNOPSIS ๐ŸŒธ

protonvpn [-v] [COMMAND] [OPTIONS] [ARGUMENTS]

that's it. that's the whole shape of it. command + options + arguments, go off. ๐Ÿ’…


๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

protonvpn is an open-source command-line VPN client for Linux systems, developed by Proton AG. It lets you connect securely to the ProtonVPN network and manage all your settings straight from the terminal โ€” no graphical interface required, no windows to click, nothing. just you and the shell. iconic. ๐Ÿ‘‘

It supports the WireGuard and OpenVPN protocols, and it comes with advanced features like Kill Switch, NetShield, Secure Core, Tor over VPN, P2P servers, custom DNS, and more. it's giving full-featured.

โš ๏ธ heads up bestie: some features and connection options are only available on paid subscription plans (VPN Plus or higher). Free plan users can still connect to available free servers using protonvpn connect โ€” just without any additional options. no cap.

The typical workflow goes like this:

  1. Sign in with your Proton account using protonvpn signin.
  2. Optionally configure security settings with protonvpn config set.
  3. Connect to a server with protonvpn connect.
  4. Disconnect when you're done with protonvpn disconnect.
  5. Sign out with protonvpn signout.

that's the whole arc. main character energy from signin to signout. ๐ŸŽ€


๐Ÿ’… OPTIONS ๐Ÿ’…

  • -v, --verbose โ€” show detailed output while the command is doing its thing. she's chatty and we love that. ๐Ÿ’ฌ
  • -h, --help โ€” show the help message and exit. the classic escape hatch. ๐Ÿšช

๐Ÿ‘‘ COMMANDS ๐Ÿ‘‘

๐Ÿ” Authentication

  • protonvpn signin USERNAME โ€” sign in with the specified Proton account username. your password gets requested securely via an interactive prompt and will not be echoed to the terminal. so nobody's peeking. ๐Ÿ™ˆ
  • protonvpn signout โ€” disconnect from the VPN and permanently remove locally stored credentials. it's a real breakup, not a "let's stay friends." ๐Ÿ’”
  • protonvpn info โ€” display info about the currently authenticated Proton account, like your username and subscription plan. the little "who am I" check-in. โœจ

๐ŸŒˆ Connection

  • protonvpn connect โ€” connect to the fastest available server automatically, picked based on server load and geographic proximity. this is the only connection option available on the free plan. ๐Ÿ™Œ
  • protonvpn connect SERVER_NAME โ€” connect to a specific server by name (like US#17, NL#42, CH#10). requires a paid subscription plan. ๐Ÿ’ธ
  • protonvpn connect --country COUNTRY โ€” connect to the fastest server in a given country. accepts ISO 3166-1 alpha-2 country codes (US, GB, DE, BR) or a full country name in quotes ("United States", "United Kingdom"). requires a paid subscription plan. ๐ŸŒ
  • protonvpn connect --city CITY โ€” connect to the fastest server in a specific city. use quotes for multi-word city names ("New York", "Los Angeles"). requires a paid subscription plan. ๐Ÿ™๏ธ
  • protonvpn connect --p2p โ€” connect to the fastest server optimized for peer-to-peer (P2P) traffic. requires a paid subscription plan. ๐Ÿ”„
  • protonvpn connect -sc, protonvpn connect --securecore โ€” connect to the fastest Secure Core server. Secure Core routes your traffic through privacy-friendly countries (Switzerland, Iceland, Sweden) before it exits, adding an extra layer of protection. requires a paid subscription plan. ๐Ÿ”’
  • protonvpn connect --tor โ€” connect to the fastest server with Tor over VPN support. requires a paid subscription plan. ๐Ÿง…
  • protonvpn connect --random โ€” connect to a random available server. requires a paid subscription plan. ๐ŸŽฒ
  • protonvpn disconnect โ€” terminate the active VPN connection. bye bye tunnel. ๐Ÿ‘‹

๐Ÿ—บ๏ธ Server Discovery

  • protonvpn countries list โ€” display all countries that have ProtonVPN servers. the full buffet. ๐ŸŒŽ
  • protonvpn cities list COUNTRY โ€” display all cities with available servers in the specified country, along with the supported features (P2P, Tor, etc.). accepts an ISO country code or a full country name. ๐Ÿ™๏ธ

โš™๏ธ Configuration

  • protonvpn config list โ€” display the current configuration for all available settings. any setting marked Upgrade to enable needs a paid subscription plan. ๐Ÿ“‹
  • protonvpn config set kill-switch {off|standard} โ€” set the Kill Switch mode. when it's set to standard, all network traffic is blocked if the VPN connection drops, making sure no data leaks outside the encrypted tunnel. it's the seatbelt. ๐Ÿ›ก๏ธ
  • protonvpn config set netshield {off|malware-only|malware-ads-trackers} โ€” set the NetShield mode. blocks malware, ads, and trackers at the DNS level while you're on the VPN connection. requires a paid subscription plan. ๐Ÿงผ
  • protonvpn config set custom-dns {off|on} [--dns IP1,IP2] โ€” toggle custom DNS servers used during the VPN connection. when you're enabling it, use --dns to specify one or more DNS server IPs separated by commas. requires a paid subscription plan. ๐ŸŒ
  • protonvpn config set vpn-accelerator {off|on} โ€” toggle VPN Accelerator, a proprietary technology that improves connection speeds. requires a paid subscription plan. ๐Ÿš€
  • protonvpn config set moderate-nat {off|on} โ€” toggle Moderate NAT. when enabled, it allows direct connections between devices for gaming and video conferencing. requires a paid subscription plan. ๐ŸŽฎ
  • protonvpn config set port-forwarding {off|on} โ€” toggle Port Forwarding support for P2P connections. requires a paid subscription plan. ๐Ÿ”Œ
  • protonvpn config set ipv6 {off|on} โ€” toggle IPv6 support during the VPN connection. ๐ŸŒ
  • protonvpn config set anonymous-crash-reports {off|on} โ€” toggle sending anonymous crash reports to help improve the application. ๐Ÿ›

๐ŸŒŸ EXAMPLES ๐ŸŒŸ

1. First-time setup

first step is always signing in with your Proton credentials, periodt:

$ protonvpn signin user@proton.me
Enter password:
Successfully signed in as user@proton.me.

check your account info:

$ protonvpn info
{'name': 'user@proton.me'}

before connecting, turn on the Kill Switch so a surprise VPN drop doesn't leak your data:

$ protonvpn config set kill-switch standard
Kill Switch set to standard.

2. Discovering available servers

list all available countries:

$ protonvpn countries list
Country                 Code
----------------------  ------
Afghanistan             AF
Albania                 AL
Algeria                 DZ
Argentina               AR
Australia               AU
Brazil                  BR
Germany                 DE
Netherlands             NL
United States           US
/&...

list the cities available in the United States, with their features:

$ protonvpn cities list US
Cities in United States:
City            Features
--------------  ----------
Phoenix         P2P
Denver          P2P, Tor
Washington      P2P
Miami           P2P
Los Angeles     P2P
New York
Seattle
Secaucus
/&...

3. Connecting to VPN

free plan users can only connect to the fastest available server:

$ protonvpn connect
Connected to US-FREE#57 in New York, United States.
Your new IP address is 146.70.202.35.

paid plan users can connect to a specific country:

$ protonvpn connect --country BR
Connected to BR#5 in Sao Paulo, Brazil.
Your new IP address is 185.230.xxx.xxx.

connect to a specific city (paid plan):

$ protonvpn connect --city "New York"
Connected to US#38 in New York, United States.
Your new IP address is 146.70.xxx.xxx.

connect to a specific server by name (paid plan):

$ protonvpn connect CH#10
Connected to CH#10 in Zurich, Switzerland.
Your new IP address is 185.159.xxx.xxx.

connect to a P2P-optimized server for torrenting (paid plan):

$ protonvpn connect --p2p
Connected to NL#P2P#1 in Amsterdam, Netherlands.
Your new IP address is 89.39.xxx.xxx.

connect to a Secure Core server for maximum privacy (paid plan):

$ protonvpn connect --securecore
Connected to SE-DE#1 via Secure Core.
Your new IP address is 185.230.xxx.xxx.

4. Checking current settings

$ protonvpn config list
Current configuration
Setting                  Value
-----------------------  -----------------
vpn-accelerator          Upgrade to enable
moderate-nat             Upgrade to enable
ipv6                     on
anonymous-crash-reports  on
port-forwarding          Upgrade to enable
custom-dns               Upgrade to enable
kill-switch              off
netshield                Upgrade to enable

To upgrade to VPN Plus visit: https://account.protonvpn.com/pricing
After upgrading online:
    Sign out and sign in again to activate your new plan:
    protonvpn signout && protonvpn signin

5. Disconnecting and signing out

disconnect from the VPN:

$ protonvpn disconnect

sign out and remove stored credentials:

$ protonvpn signout

๐Ÿ“ NOTES ๐Ÿ“

protonvpn cannot run at the same time as the ProtonVPN desktop GUI application. if the GUI is currently running, the CLI will refuse to execute and will show you this error:

Error: Proton VPN desktop app is currently running
The CLI and GUI cannot run simultaneously. Please close the GUI
application and try again.

to fix that, close the ProtonVPN GUI application completely before using the CLI. to find and terminate the GUI process, run:

$ ps aux | grep proton
$ kill <PID>

on the free plan, these options are not available and will produce an error: --country, --city, --p2p, --securecore, --tor, --random. free plan users should use protonvpn connect with no options at all to connect to the fastest available free server. ๐Ÿ’€

features marked as Upgrade to enable in protonvpn config list require a paid ProtonVPN subscription plan. to upgrade, visit: https://account.protonvpn.com/pricing


๐Ÿ“ FILES ๐Ÿ“

  • ~/.config/protonvpn/ โ€” ProtonVPN CLI configuration directory.
  • ~/.local/share/protonvpn/ โ€” ProtonVPN CLI local data directory.

๐Ÿ“œ LICENSE ๐Ÿ“œ

GNU General Public License version 3 or later (GPL-3+).

this program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.


โœ๏ธ AUTHOR โœ๏ธ

Proton Technologies

this manual page was written by Josenison Ferreira da Silva for the Debian project (but may be used by others).


๐Ÿ’– SUPPORT ๐Ÿ’–

okay bestie, things went sideways? it happens to the best of us, no stress ๐Ÿซถ here's where to go:

  • Official website โ€” https://protonvpn.com</p> โ€” the whole entire vibe lives here, this is the main character URL โœจ
  • Report issues โ€” https://protonvpn.com/support-form โ€” something broke? something acting sus? fill out the form and tell the humans, they actually want to know ๐Ÿ˜ญ

๐Ÿ‘€ SEE ALSO ๐Ÿ‘€

your other faves, the little sibling commands doing their own thing โœจ

  • openvpn(8) โ€” the O.G. tunnel bestie
  • wg(8) โ€” WireGuard, the fast one ๐Ÿฆ‹
  • wg-quick(8) โ€” WireGuard but make it convenient ๐Ÿ’…

go read those manuals too, they're giving lore โœจ


and that's the whole page, bestie!! you made it to the end ๐ŸŽ€ this was PROTONVPN(1) version 0.1.7, dated 2025 โ€” vintage-ish era coding, iconic behavior, no cap ๐Ÿ’œ

now go connect to something, stay safe, and remember: your config files love you back ๐ŸŒธ periodt โœจ๐Ÿ’–

๐Ÿ“ฆ where this page comes from