Connecting to ProXPN with Linux

I recently heard about the VPN service from ProXPN. Since they were using OpenVPN under the hood I thought that it would be pretty straightforward to get running on my Ubuntu laptop (running 12.10 at the time of writing this). I have Vyper VPN (also using OpenVPN) working on this exact same configuration.

It turns out that officially there is no support for Linux, and the only downloads were .dmg (OsX), and .exe (windows)files. This was not looking good.

What I did first was to use 7zip to extract the contents of the downloaded .exe file. In the extracted folder was a folder called "config". In this folder was the .ovpn config file, was well as a folder called "ssl" which contained all of the required certs:

  1.  ls config/ssl
  2. ca.crt  client.crt  client.key

With this information I was able to build a command line to connect to the ProXPN service. The only two missing pieces was an auth.txt file containing my ProXPN username (an email address) and password. This is the same username and password you used to register with them.

The second missing piece is the hostname or IP address to actually connect to. I used a Windows VM to install the Proxpn client and then just wrote down the IP address that the client connected to. I have put in a support request with proXPN to get a list of IP addresses and their location (though we can always just look up the location with geoip services or map it out ourselves with MTR).

The following command line should work, just modify the paths to reflect the locations of the relevant files:

  1. sudo openvpn --remote 80 tcp --config /path/to/config/proxpn/ProXPN.ovpn --auth-user-pass /path/to/config/proxpn/auth.txt --ca /path/to/config/proxpn/ssl/ca.crt --cert /path/to/config/proxpn/ssl/client.crt --key /path/to/config/proxpn/ssl/client.key

I actually just wrap this in an alias to make launching it faster and easier:

  1. alias ovpn-proxpn01="sudo openvpn --remote 80 tcp --config /path/to/config/proxpn/ProXPN.ovpn --auth-user-pass /path/to/config/proxpn/auth.txt --ca /path/to/config/proxpn/ssl/ca.crt --cert /path/to/config/proxpn/ssl/client.crt --key /path/to/config/proxpn/ssl/client.key"

Good luck!