#!/bin/bash

echo "--"
echo "-- Instalando practicas Redes IP..."
echo "--"
START_TIME=$SECONDS

export DEBIAN_FRONTEND=noninteractive
echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections

sudo apt-get update
sudo apt-get -y install \
  bash-completion bridge-utils curl eog expect genisoimage gnome-terminal \
  graphviz libappconfig-perl libdbi-perl liberror-perl libexception-class-perl \
  libfile-homedir-perl libio-pty-perl libmath-round-perl libnetaddr-ip-perl \
  libnet-ip-perl libnet-ipv6addr-perl libnet-pcap-perl libnet-telnet-perl \
  libreadonly-perl libswitch-perl libsys-virt-perl libterm-readline-perl-perl \
  libxml-checker-perl libxml-dom-perl libxml-libxml-perl \
  libxml-parser-perl libxml-tidy-perl lxc lxc-templates net-tools \
  openvswitch-switch picocom pv screen tree uml-utilities virt-manager \
  virt-viewer vlan w3m wmctrl xdotool xfce4-terminal xterm lsof \
  libvirt-clients wireshark yad

mkdir /tmp/vnx-update
cd /tmp/vnx-update
rm -rf /tmp/vnx-update/vnx-*
wget http://vnx.dit.upm.es/vnx/vnx-latest.tgz
tar xfvz vnx-latest.tgz
cd vnx-*-*
sudo ./install_vnx

cd /usr/share/vnx/filesystems/
sudo vnx_download_rootfs -r vnx_rootfs_lxc_ubuntu64-20.04-v025-vnxlab.tgz -l -y
sudo ln -s /usr/share/vnx/filesystems/vnx_rootfs_lxc_ubuntu64-20.04-v025-vnxlab /usr/share/vnx/filesystems/rootfs_lxc64-rdor

sudo mv /usr/share/vnx/etc/vnx.conf.sample /etc/vnx.conf
sudo sed -i 's/lxc_console_cmd=lxc-console/lxc_console_cmd=lxc-attach/' /etc/vnx.conf

echo "export XAUTHORITY=/home/upm/.Xauthority" >> ~/.bashrc
xhost +SI:localuser:root

cd $HOME/Escritorio/
wget https://web.dit.upm.es/~rdor10/entregas/valoresIP/rdor-t1-4.tar
tar xvf rdor-t1-4.tar --warning=no-unknown-keyword
cd rdor-t1-4
./install-t1
sed -i 's/^Icon=.*/Icon=notification-audio-play/' Arrancar-T1.desktop
sed -i 's/^Icon=.*/Icon=notification-audio-stop/' Parar-T1.desktop
cd ..
rm -f rdor-t1-4.tar

wget https://idefix.dit.upm.es/download/rdor/tema2/rdor-te2-caso-estudio.tgz
tar xfvz rdor-te2-caso-estudio.tgz 
cd rdor-te2-caso-estudio
./install
sed -i 's/^Icon=.*/Icon=notification-audio-play/' Arrancar.desktop
sed -i 's/^Icon=.*/Icon=notification-audio-stop/' Parar.desktop
sed -i 's/^Icon=.*/Icon=notification-network-wireless-full/' Configurar_rutas.desktop
sed -i 's/^Icon=.*/Icon=notification-network-wireless-none/' Borrar_rutas.desktop
cd ..
rm -f rdor-te2-caso-estudio.tgz

sudo bash -c "echo 8192 > /proc/sys/fs/inotify/max_user_instances"
sudo bash -c "echo 524288 > /proc/sys/fs/inotify/max_user_watches"

yes | pip install netaddr
sudo wget https://idefix.dit.upm.es/download/rdor/.ipprefix/ipprefix-divide -O /usr/local/bin/ipprefix-divide
sudo wget https://idefix.dit.upm.es/download/rdor/.ipprefix/ipprefix-aggregate -O /usr/local/bin/ipprefix-aggregate
sudo wget https://idefix.dit.upm.es/download/rdor/.ipprefix/ipprefix-get-free -O /usr/local/bin/ipprefix-get-free
sudo chmod +x /usr/local/bin/ipprefix-*

ELAPSED_TIME=$(($SECONDS - $START_TIME))
echo "--"
echo "-- LAB installed in $ELAPSED_TIME sec. Close the terminal and open it again."
echo "--"
