Skip to content

nsec/the-internet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ec31cee · Dec 11, 2018

History

73 Commits
Mar 18, 2017
Apr 14, 2016
Aug 18, 2014
Apr 16, 2016
Apr 16, 2016
Aug 14, 2014
Sep 8, 2016
Dec 11, 2018
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Jul 26, 2017
Apr 16, 2016
Apr 16, 2016
Apr 16, 2016

Repository files navigation

Dependencies

  • linux (>= 3.16 for all features or >= 3.13 for basic features)
  • golang (>= 1.5)
  • lxd

Kernel

The simulation is intended to run inside nested unprivileged LXC containers. As a result, a kernel with full support for unprivileged containers is required, that is any kernel >= 3.13 with all the options required by LXC enabled (see lxc-checkconfig).

Additionally, unprivileged qdisc operations requires a >= 3.16 kernel to work, so if you want to get the simulated latencies and speeds, you need to run a very recent kernel.

Starting the whole thing

This tool is meant to be run on a machine or inside a container on which a LXD daemon is running.

First build it with:

  • go get -v -x github.com/nsec/the-internet

Creating an Internet simulation is basically as simple as:

  • the-internet create <path>
  • the-internet start

Generate an html/js map of your Internet with:

  • the-internet generate-map <destination path>

You can stop the simulation with:

  • the-internet stop

Or create a new one by calling the start command again.

Finally, once you want it all off your disk, you can call:

  • the-internet destroy