Skip to content
grace71 edited this page Dec 16, 2016 · 7 revisions

Introduction

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.

Installation

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

Usage

Steps to initiate and use VPN walker:

  1. Go into centinel client root folder and learn usage of VPN walker:

     $ ./vpn.py --help
    
  2. Buy service from one of three VPN provider, and acquire username and password for connecting to their VPN endpoints;

  3. 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";

  4. 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;

  5. 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.).

Multiple walker support

Our walker also supports working with other walkers concurrently. Here is how:

  1. 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;

  2. 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;

  3. 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;

  4. Now you can start ./vpn.py in each VM.