This article talks about a “in develop” project, so it will get updated as the project development advance.
A few years I decided to start protecting my telecommunications from undesirable eyes getting a VPN service. So, after a recommendation from a friend, I decided to try IPVanish.
I have to say that I really like their service. They claim (and we have to believe it) that they do not record or track your traffic and they allow you connect up o 10 devices simultaneously at no extra cost. Moreover the support OpenVPN, so you can connect to their servers from any system supported by OpenVPN, that is almost all of them.
Client application for everybody, but not for GNU/Linux
As I already mentioned above, IPVanish supports OpenVPN, so it is not mandatory to use their client application, but it is certainly very handy, as it makes very easy to see all the available servers and select which one to connect to. However they do not provide a client for GNU/Linux.
in order to get connected to their servers, I always had to download their more than 1000 configuration files for OpenVPN and then use NetworkManager’s assistant to import OpenVPN the connections to the servers I may be interested in.
IPVanish’s servers chango URL from time to time, so it needed to occasionally re-import those configuration files. n the other hand, servers load changes constantly, so it is handy to be able to change server in order to get better latency/speed. But, without a client for GNU/Linux, that task is really hard and annoying.
The solution, to develop a client for GNU/Linux
Since IPVanish has no intention to develop a client for GNU/Linux, I have decided to develop my own client and sharing it with everyone.
Source code is available at this GitHub repository.
In order to be able to use this application, you must be using NetworkManager as your network connections manager.
To install dependencies on ArchLinux:
sudo pacman -S libnm networkmanager networkmanager-openvpn qt5 qmake git
To install dependencies on Debian and derivatives:
sudo apt install libnm-dev networkmanage networkmanager-openvpn qt5-default qmake git
Compiling and installing
Warning: This software is right now on a early development stage, what means that some important features like password storage encryption are not implemented, use it at your own discretion and risk.
If you want to test the application, you may compile and install it runing the following commands in your terminal:
cd /tmp git clone https://github.com/erm2587/VpnManager.git cd VpnManager qmake make sudo make install
How to use it
Using this manager is really simple, its main window shows a drop box where you can select the country you want to connect to and, as soon as you chose the country, the list bellow will display all available servers in that country together with their currently used capacity. Choosing a server with low usage may be a good idea.
Before being able to connect to any serve, it is needed that you configure your user details using the menu Edit -> Settings.
- Download the ZIP containing all the configurations from IPVanish web page.
- Extract the file named ca.ipvanish.com.crt (this is the only file you need to keep)
- Write the path where you extracted ca.ipvanish.com.crt at the CA path field.
- Type the email address you used to register with IPVanish at the user name field.
- Type your account password at the password field.
The rest of the options can be left on its default value, if you don’t know what they mean.
As soon as you finish the configuration, you can click on the Accept button and the click on the Connect button.
And that is all for now, for any doubt or suggestion, you are welcome in our comments section.