LinuxCommandLibrary

protonvpn-connect

Connect to a ProtonVPN server

TLDR

Connect to ProtonVPN interactively

$ protonvpn [[c|connect]]
copy

Connect to ProtonVPN using the fastest server available
$ protonvpn [[c|connect]] [[-f|--fastest]]
copy

Connect to ProtonVPN using a specific server with a specific protocol
$ protonvpn [[c|connect]] [server_name] -p [udp|tcp]
copy

Connect to ProtonVPN using a random server with a specific protocol
$ protonvpn [[c|connect]] [[-r|--random]] -p [udp|tcp]
copy

Connect to ProtonVPN using the fastest Tor-supporting server
$ protonvpn [[c|connect]] --tor
copy

Display help
$ protonvpn [[c|connect]] --help
copy

SYNOPSIS

protonvpn-connect [COMMAND] [OPTIONS] [ARGUMENTS]

Specific forms:
protonvpn-connect connect [SERVER_NAME|COUNTRY_CODE] [OPTIONS]
protonvpn-connect disconnect
protonvpn-connect status
protonvpn-connect reconnect
protonvpn-connect setup
protonvpn-connect display-servers
protonvpn-connect [-h|--help|-v|--version]

PARAMETERS

connect, -c
    Connects to the best available server, or to a specified server or country code.

disconnect, -d
    Disconnects from the current VPN connection.

status, -s
    Shows the current VPN connection status.

reconnect
    Reconnects to the last connected VPN server.

setup
    Guides through the initial setup process for the Proton VPN CLI.

display-servers
    Lists all available Proton VPN servers.

--help, -h
    Display a help message and exit.

--version, -v
    Display the CLI version and exit.

--protocol <protocol>
    Specifies the VPN protocol to use (e.g., OpenVPN, WireGuard).

--server <server_name>
    Connects to a specific server by its name (e.g., US#1).

--cc <country_code>
    Connects to a server in a specific country using its 2-letter country code (e.g., US).

--fastest
    Connects to the fastest available server based on current network conditions.

--p2p
    Connects to a server optimized for P2P (peer-to-peer) traffic.

--tor
    Connects to a Tor-enabled server, routing traffic through the Tor network.

--secure-core
    Connects to a Secure Core server, routing traffic through multiple Proton VPN servers.

--persistent
    Attempts to automatically reconnect if the VPN connection drops.

DESCRIPTION

The protonvpn-connect command is the primary command-line interface (CLI) tool for interacting with the Proton VPN service on Linux. It allows users to establish, manage, and terminate VPN connections without needing a graphical user interface. This utility provides granular control over connection parameters, enabling users to select specific servers, countries, VPN protocols (like WireGuard or OpenVPN), and advanced features such as Secure Core, P2P, or Tor servers. It also facilitates checking connection status, disconnecting, and performing initial setup of the Proton VPN CLI. Designed for automation and headless environments, protonvpn-connect offers a powerful way to secure internet traffic and bypass geo-restrictions directly from the terminal. Its robust set of options caters to both casual users seeking quick connectivity and advanced users requiring precise control over their VPN settings.

CAVEATS

Requires an active Proton VPN account with a valid subscription.
Relies on underlying VPN clients like OpenVPN or WireGuard tools being installed and configured on the system.
Certain operations, such as modifying network interfaces, require appropriate system permissions, often handled by the CLI's internal sudo mechanisms.
DNS resolution behavior can be complex on Linux, especially with systemd-resolved, and may require specific configurations or the --no-dns-reset option.

CONFIGURATION

The protonvpn-cli command (often installed alongside protonvpn-connect) provides extensive configuration options. This includes managing account credentials, setting default VPN protocols, enabling/disabling the kill switch, and configuring DNS. Users are advised to consult protonvpn-cli config --help for detailed configuration options.

SERVER NAMING CONVENTION

Proton VPN servers are typically named with a country code followed by a number (e.g., US#1, CH#5). Special servers designated for P2P, Tor, or Secure Core traffic might have specific designations or are implicitly selected via dedicated command-line flags (e.g., --p2p, --tor, --secure-core).

HISTORY

The protonvpn-connect command is an integral part of the official Proton VPN Linux CLI client, developed and maintained by Proton AG. Its introduction significantly enhanced Linux users' ability to access the Proton VPN service directly from the terminal, providing a robust alternative to graphical clients. It has undergone continuous development, with updates introducing support for new protocols like WireGuard, improved server selection logic, and integration of advanced features such as Secure Core and Kill Switch, reflecting Proton VPN's commitment to privacy and security on the Linux platform.

SEE ALSO

openvpn(8), wireguard(8), nmcli(1), ip(8), systemctl(1)

Copied to clipboard