Running experiments on EmuLab, a ‘network testbed’ that allows users to set up and manipulate arbitrary networks on real hardware, requires the creation and manipulation of many different configuration files and scripts. One must set up the network, install the necessary experimental software on the machines, run the experiment, then gather and extract the data. These issues are only exacerbated when running experiments involving Tor, which requires significant configuration and supporting material when run as a ‘network-in-a-box’, as in Emulab.

EmulaTor automates the process of creating the configuration and support files necessary for running experiments with Tor on EmuLab, saving researchers time and allowing them to focus on their experiments, instead of fiddling with EmuLab. EmulaTor allows users to quickly define the properties of their experiment (number of nodes, network loss, etc) as well as a set of scripts to be run (to setup machines, perform the experiment, etc).

Source Code

EmulaTor is available on GitHub


  • Adam Jacobson (Development and Project Lead)
  • Micah Sherr (Supervision)