Background

With manaOS, physical hardware running the shaping is preferred over software for two reasons:

  1. Computers exhibit nonlinear load effects. Build jobs or other computationally / memory intensive software may seriously affect the simulation.
  2. Having a physical router setup makes it painless to test on devices (plugging in a retail console or a smartphone to the simulation is easier than with a computer).

That said, if you’re just looking to dip your toes into global teleportation, we’ve packaged up a virtual machine for you! Actually using it for simulation is challenging with the current build, but at least you can take the operating system for a spin.

Installation:

  1. Start by downloading and installing a copy of VirtualBox for your environment, or on ubuntu run sudo apt install virtualbox.
  2. Add a virtual machine for manaos. In this example, we’ll create the manaostest VM via the command line (though the GUI works fine as well if you prefer!). We’ll create two interfaces, one for the internet (WAN) side, and one for the teleported internal side (LAN):
# find the name of the network interface connected to the internet in `ip link`
#   (using eth0 in this example, or something like wlp0s20f3)

# Create the virtual machine:
VBoxManage createvm --name manaostest --register --ostype Linux_64

# Create an internal network called "intnet" as the simulated LAN

# configure it to be similar to the regular hardware:
VBoxManage modifyvm manaostest --cpus 2 --vram 20 --memory 1024 \
    --nic1 intnet --intnet1 intnet \
    --nic2 bridged --bridgeadapter2 eth0 \
    --usbohci on --usbehci on --uart1 0x3f8 0x4
  1. (if needed) Decompress the image:
# Assuming the file was downloaded to ~/Downloads/manaos.vdi.bz2
cd ~/Downloads
bzip2 -d manaos.vdi.bz2
  1. Attach a virtual HDD with the manaos virtualbox image:
# We'll simulate an IDE controller:
VBoxManage storagectl manaostest --name "IDE" --add ide --bootable on
# ...And we'll attach the image to it (change the path to wherever the image is):
VBoxManage storageattach manaostest --storagectl "IDE" --port 0 --device 0 \
    --type hdd --medium ${HOME}/Downloads/manaos.vdi

# (optional) Check the configuration:
VBoxManage showvminfo manaostest
# and adjust as necessary (may be easier with the VirtualBox GUI)
  1. And boot! Choose the VGA boot option (the second one) if you don’t want to set up a virtual serial port (hardware console defaults to serial).
VBoxManage startvm manaostest --type gui

Usage:

Normally the web server is configured from the LAN side by putting http://192.168.20.1:9090/ into a browser. You can either configure intnet to allow access to the LAN, or for a quick peak, just setup an ssh tunnel.

To setup an ssh tunnel, assuming the bridged adapter can find a DHCP server, you should be at the manaOS prompt:

manaOS-Linux 1.0 magicmodem /dev/tty1
magicmodem login: 

Login as root (development builds have no password), and setup an ssh tunnel:

# manaOS will rename your WAN interface to enp1s0 to match the hardware
ip addr show dev enp1s0
# the first inet entry is MANAOSIPADDRESS

From your host machine (where VirtualBox is installed), setup the tunnel:

# Ensure nothing is running on port 9090, no need for sudo
ssh -L 9090:127.0.0.1:9090 root@MANAOSIPADDRESS

To see the shaping, either:

  1. Choose a high/medium/low network from the icons,
  2. Type in an ISO 3166 two letter country code for a list of ISPs in a country, or
  3. Search for any ISP that has enough data for shaping (names are based on the ISPs registry data).

Note: (Not recommended) To actually shape data with a virtual box install, you would need to connect a physical network adapter to the virtual machine as the LAN side and then connect a device-to-be-teleported into that.