Shadow is a unique discrete-event network simulator that runs real applications like Tor, and distributed systems of thousands of nodes on a single machine. Shadow combines the accuracy of emulation with the efficiency and control of simulation, achieving the best of both approaches.
Clone or download
robgjansen Fix schedule pause bug, more efficient schedule writing
This fixes a bug where the transfer schedules were only pausing
according to the delay of the last packet sent "at the same time"
(according the the packet delay threshold) rather than pausing an
amount of time equal to the cumulative delay of all packets that
were sent "at the same time".

The schedule writing code was also rewritten for efficiency.
Latest commit 1190a34 Aug 3, 2018

README.md

The Shadow Simulator

Shadow is a unique discrete-event network simulator that runs real applications like Tor and Bitcoin, and distributed systems of thousands of nodes on a single machine. Shadow combines the accuracy of emulation with the efficiency and control of simulation, achieving the best of both approaches.

Also included are simple Internet topologies and a core plug-in for generating traffic between nodes and through SOCKS proxies.

Quick Setup (installs everything in ~/.shadow):

$ ./setup build --clean --debug
$ ./setup install

Setup and Usage Instructions:

Bug Reports:

Email Support:

Shadow Plug-ins and Project Development:

Homepage:

Contributing

Contributions can be made by submitting pull requests via GitHub.