#!/bin/bash

function show_help() {
    echo -e "Usage: monitor [options]

Options: set                             : set monitor interface
         on|off or enable|disable        : enable or disable monitor
         reset                           : reset interface
"
}

function monitor_reset() {
    sudo sed -i "s/true/false/" /etc/NetworkManager/NetworkManager.conf
    sudo sed -i "s/#auto/auto/" /etc/network/interfaces
    sudo sed -i "s/#iface/iface/" /etc/network/interfaces
}

function monitor_setting() {
    read -p "Interface: " mon;
    monitor_reset
    sudo sed -i "s/false/true/" /etc/NetworkManager/NetworkManager.conf
    sudo sed -i "s/auto eth0/#auto eth0/" /etc/network/interfaces
    sudo sed -i "s/iface eth0 inet dhcp/#iface eth0 inet dhcp/" /etc/network/interfaces
    if [ ! -f /etc/network/interfaces.d/$mon.cfg ]; then
        echo -e "auto $mon\niface $mon inet loopback" | sudo tee /etc/network/interfaces.d/$mon.cfg
    fi
}

function monitor_enable() {
    sudo NetworkManager start
    sudo /etc/init.d/networking start
    return 0
}

function monitor_disable() {
    sudo /etc/init.d/networking stop
}

case $1 in
    set)
        monitor_setting
        ;;
    reset)
        monitor_reset
        ;;
    on | enable)
        monitor_enable
        ;;
    off | disable)
        monitor_disable
        ;;
    *)
        show_help
        ;;
esac
