sachaservan / MATor

A tool for calculating anonymity guarantees for Tor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MaTor(s) Tool

This is the latest version of the MaTor tool used for generating the plots of the Your Choice MaTor(s) paper.

Installation

Setting up the database

Download the GeoLite2 City database from MaxMind

  1. Create an account with MaxMind and download the GeoLite2 City database.
  2. Place the GeoLite2-City.mmdb file in the /mator-db/ directory.

Download the Tor data

  1. Run cd mator-db and run bash install-db.sh (this may take a while).
  2. Run bash download-year.sh and enter the year (e.g., 2014) you would like to download consensus data for. Note: step 2 will take a while.

Navigate to scripts/ and run:

  1. python download_consensus.py -sm STAR_MONTH -sy START_YEAR -em END_MONTH -ey END_YEAR (e.g., python download_consensus.py -sm 01 -sy 2014 -em 12 -ey 2014).
  2. python construct_database.py -sm STAR_MONTH -sy START_YEAR -em END_MONTH -ey END_YEAR (e.g., python construct_database.py -sm 04 -em 04 -sy 2014 -ey 2014).

Steps 1 & 2 will populate the /data directory with the necessary Tor consensus data. NOTE: You must have all the necessary data ready before you compile MaTor since the compilation process (cmake) will move the data directory to /build/Release/.

Compiling MaTor

To compile and build the MaTor executable (tested on macOS):

  1. Install dependencies:

    • gcc (on Ubuntu: sudo apt-get install build-essential)
    • boost (on Ubuntu: sudo apt-get install libboost-all-dev)
    • go (on Ubuntu: sudo apt-get install golang)
    • cmake (on Ubuntu: sudo apt-get install cmake)
    • sqlite3 (on Ubuntu: sudo apt-get install sqlite3 libsqlite3-dev)
    • glpk (on Ubuntu: sudo apt-get install python-glpk)
  2. To enable optimization type: export CXXFLAGS=-O2

  3. go to the build directory:

    cd [your_path]/MATor/build
    cmake ..
    make
    

At this point the runtest executable should be located in [your_path]/MATor/build/Release/bin/

Running the plot analysis code

  1. cd [your_path]/MATor/scipts
  2. python worklist-example.py or python worklist-example-complex.py

Publications

Links to the academic publications relevant for MATor:

About

A tool for calculating anonymity guarantees for Tor

License:GNU General Public License v3.0


Languages

Language:C++ 87.4%Language:Python 8.4%Language:Go 2.9%Language:CMake 1.2%Language:Shell 0.1%