-
Notifications
You must be signed in to change notification settings - Fork 17
VPN walker
Centinel client supports walking through all endpoints of a VPN provider and launch experiment while connecting to each endpoint. We support three VPN providers for now: [HMA (Hide My Ass!)] (https://www.hidemyass.com/), [IPVanish] (https://www.ipvanish.com/) and [PureVPN] (https://www.purevpn.com/). This wiki page will illustrate how to use our VPN walker.
There are several more python libraries that need to be installed in addition to what is required for centinel client:
$ sudo apt-get install openvpn
$ sudo pip install BeautifulSoup M2Crypto httplib2 dnspython
For recent RedHat distributions, you need to explicitly allow openvpn to use MD5 to verify certificate:
$ sudo echo "OPENSSL_ENABLE_MD5_VERIFY=1" >> /etc/environment
$ source /etc/environment
Steps to initiate and use VPN walker:
-
Go into centinel client root folder and learn usage of VPN walker:
$ ./vpn.py --help
-
Buy service from one of three VPN provider, and acquire username and password for connecting to their VPN endpoints;
-
Choose a folder and create or download necessary config files:
$ ./vpn.py -c /path/to/you/walking/folder --create-hma-configs
Depends on what VPN provider you decide to use, you might need to replace the option "--create-hma-configs" with "--create-ipvanish-configs" or "--create-purevpn-configs";
-
Create a new text file, and put username and password that you acquired from VPN provider in the first and second line. We recommend you to put this file in the same folder;
-
You can now launch your walker:
$ sudo ./vpn.py -d /path/to/you/walking/folder -u /path/to/your/auth/file
Other options might be needed depends on what provider you chose or what functionalities you want to add (e.g. shuffling the endpoints list, putting log into a file, excluding certain countries, etc.).
Our walker also supports working with other walkers concurrently. Here is how:
-
Create multiple VMs to be the walker, and they must share a path that has walking folder in it. We are going to release a vagrant box, which is a minimal VM image that contains the centinel repository and all dependencies. Using this box to create multiple VMs would be convenient. We will put the link to box in this page as soon as it is available;
-
Create enough auth files for each VM. You might be able to reuse the same username/password. Check how many concurrent connections your VPN provider allows for one account;
-
Add new arguments to each walker, for example:
$ sudo ./vpn.py -d /path/to/you/walking/folder -u /path/to/your/auth/file --vm-num N --vm-index M
Specify the total number of VMs by using "--vm-num" option, and give each VM an index from 1 to N;
-
Now you can start ./vpn.py in each VM.