arshaver / pia

Private Internet Access VPN Linux bash client

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pia v0.4 Features:

  • Update openvpn configuration files using any of the 5 available configuration zips.
  • Auto-update whenever PIA releases new configuration zips.
  • Auto reconnect on dropped connections.
  • Instant connections with secure storage of VPN password.
  • Forward ports and change port fowarding identity.
  • Change DNS to PIA secure leak-proof DNS servers.
  • Enable firewall to block all non-tunnel traffic.
  • Enable PIA MACE DNS based ad blocking.
  • Enable internet killswitch.
  • Detailed vebose output.
  • Designed for debian and arch based linux but should work on any linux.

This client has all of the functionality of the official one and works on any linux with bash, openvpn and iptables installed.

It also has the added advantage of using the versions of OpenVPN and OpenSSL installed on your system, which will always be more secure than the old fork of old versions of this software that the official PIA app uses as long as you regulary update.

pia can be run interactivley or with switches. It will only ask you to supply your credentials once and then after that it connects without asking.

The credentials file is protected by 'chmod 400', which means only the root user can view the file. If you have a malicious root user on your box it's game over anyway.

The ovpn files are editited and 'auth-nocache' option is added, which means openvpn will not store your creds in memory.

Dependencies:

  • bash
  • iptables
  • openvpn
  • curl
  • unzip
  • git

Installation:

Clone the repository to a suitable place:
cd ~/scripts && git clone https://github.com/d4rkcat/pia

Then to install the script:
cd ~/scripts/pia && sudo make install

pia will now be installed and can be run from any directory with:
sudo pia [options]

Usage

Usage: pia [options]

-s	- Server number to connect to.
-l	- List available servers.
-u	- Update PIA openvpn files before connecting.
-p	- Forward a port.
-n	- Change to another random port.
-d	- Change DNS servers to PIA.
-f	- Enable firewall to block all non tunnel traffic.
-e	- Allow LAN through firewall.
-m	- Enable PIA MACE ad blocking.
-k	- Enable internet killswitch.
-v	- Display verbose information.
-h	- Display this help.

Examples: 
pia -dps 6  	- Change DNS, forward a port and connect to CA_Montreal.
pia -nfv	- Forward a new port, run firewall and be verbose.

About

Private Internet Access VPN Linux bash client

License:GNU General Public License v2.0


Languages

Language:Shell 99.7%Language:Makefile 0.3%