This repository contains the DPSelect code for analyzing both the Counter-RAPTOR and DPSelect entry guard relay selection algorithm. To Run this Code:
- Download Updated Tor Consensus from https://collector.torproject.org/archive/relay-descriptors/consensuses/ for the month that you
wish to analyze. - Download Updated Network Topology from http://data.caida.org/datasets/as-relationships/serial-2/
- Extract Guard Ips and Bandwidths using
get_guards.py
after changing the file name in script to point to the consensus that you are running - Extract Guard Ips and Bandwidths using get_guards_tille.py
- Run
usr/local/bin/netcat whois.cymru.com 43 < guard_ips.txt | sort -n > list
to get a list of ASes corresponding to the guards - Run
get_as.py
to get a list of the gurard ASes. - Run
counter_raptor_resilience.py
with the appropriate network topology and AS list. - Run
get_tille_resilience.py
to get a .json of the tille resiliences. - Run
optimization.py
to run a monte-carlo simulation to determine the quality function to be used in DPSelect. - Run a corresponding attack file to analyze a given entropy type.