LinuxCommandLibrary

piactl

Control Private Internet Access (PIA) VPN

TLDR

Log in to Private Internet Access

$ piactl login [path/to/login_file]
copy

Connect to Private Internet Access
$ piactl connect
copy

Disconnect from Private Internet Access
$ piactl disconnect
copy

Enable or disable the Private Internet Access daemon in the background
$ piactl background [enable|disable]
copy

List all available VPN regions
$ piactl get regions
copy

Display the current VPN region
$ piactl get region
copy

Set your VPN region
$ piactl set region [region]
copy

Log out of Private Internet Access
$ piactl logout
copy

SYNOPSIS

piactl <command> [options]

PARAMETERS

connect
    Initiates a connection to the Private Internet Access VPN service.

disconnect
    Terminates the active VPN connection.

status
    Displays the current connection status, including connected region, protocol, and other tunnel details.

set region <region_id>
    Sets the preferred VPN region for future connections. Use 'piactl get regions' to list available regions.

get region
    Retrieves the currently selected VPN region.

set protocol <protocol>
    Configures the VPN protocol to be used (e.g., 'openvpn', 'wireguard').

get protocol
    Shows the currently configured VPN protocol.

set port <port>
    Sets the port for the VPN connection.

get port
    Displays the currently configured VPN port.

login
    Authenticates with the PIA service, typically requiring username and password.

logout
    Logs out from the PIA service, clearing authentication tokens.

reload
    Reloads the PIA client configuration.

help
    Displays help information for piactl or a specific subcommand.

--version
    Shows the version of the piactl utility and the PIA client.

DESCRIPTION

piactl is a command-line utility designed to control and interact with the Private Internet Access (PIA) VPN desktop client on Linux systems. It allows users to manage their VPN connection without needing to open the graphical user interface. With piactl, you can connect or disconnect from the VPN, check the connection status, switch VPN regions, change connection protocols (like OpenVPN or WireGuard), and adjust other network settings directly from the terminal. It provides a programmatic interface for automating VPN management tasks, making it useful for scripting or headless server environments where the PIA client is installed. The command acts as a wrapper around the underlying PIA service, translating user commands into actions for the VPN client.

CAVEATS

piactl is not a standard Linux command; it is part of the Private Internet Access VPN client software package. Therefore, it must be installed as part of the PIA client, and its availability depends on the client's installation. Functionality might vary slightly with different versions of the PIA client. It requires the PIA service to be running in the background.

COMMON USAGE EXAMPLE

To connect to the VPN using piactl, you would typically use:
piactl connect

To check the status of your connection:
piactl status

To change your region to 'us_east':
piactl set region us_east

After changing a setting, you might need to reconnect or reload for changes to take full effect.

LISTING REGIONS

To see a list of all available VPN regions that you can connect to, use the command:
piactl get regions
This is crucial for using the 'set region' command effectively.

HISTORY

piactl emerged as a command-line interface component of the Private Internet Access (PIA) VPN client for Linux. Its development is tied directly to the evolution of the PIA desktop application, providing an alternative, scriptable method for users to manage their VPN connections and settings, especially useful in server environments or for users who prefer terminal interaction over a GUI. It has evolved to support new features and protocols like WireGuard as they were integrated into the main PIA client.

SEE ALSO

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

Copied to clipboard