This is the latest version of the MaTor tool used for generating the plots of the Your Choice MaTor(s) paper.
- Create an account with MaxMind and download the GeoLite2 City database.
- Place the
GeoLite2-City.mmdb
file in the/mator-db/
directory.
- Run
cd mator-db
and runbash install-db.sh
(this may take a while). - 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:
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
).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/
.
To compile and build the MaTor executable (tested on macOS):
-
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)
-
To enable optimization type:
export CXXFLAGS=-O2
-
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/
cd [your_path]/MATor/scipts
python worklist-example.py
orpython worklist-example-complex.py
Links to the academic publications relevant for MATor:
- The framework: AnoA framework (Journal Version)
- Introduction of MATor Nothing else MATor(s) (CCS'14)
- Extension of MATor (as in this repo) Your Choice MATor(s) (PETS'16)
- Comprehensive, self-contained, and improved writeup of AnoA and MATor Quantitative Anonymity Guarantees for Tor (PhD Thesis)