#! /bin/sh
#version 0.5
IPTABLES=$(which iptables)


$IPTABLES -D INPUT -p tcp --dport 31194 -j ACCEPT
$IPTABLES -D FORWARD -s 10.177.0.0/24 -j ACCEPT
$IPTABLES -D FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

$IPTABLES -I INPUT -p tcp --dport 31194 -j ACCEPT
$IPTABLES -I FORWARD -s 10.177.0.0/24 -j ACCEPT
$IPTABLES -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

remove_snat () {
NOWRULES="$($IPTABLES --line-number -nL -t nat | grep '10.177.0.0' | awk '{print \$1}' | tac)"
for rul in $NOWRULES
do
        $IPTABLES -t nat -D POSTROUTING $rul
        sleep 0.1
done
}

COUNT_DEVICE_DEFAULT="$(ip addr show | awk '/inet.*brd/{print $NF}' | grep -v tun0 | wc -l)"

if [ $COUNT_DEVICE_DEFAULT -gt 1 ]; then
        $IPTABLES -t nat -D POSTROUTING -j MASQUERADE
        $IPTABLES -t nat -A POSTROUTING -j MASQUERADE
else
        IP="$(ip addr show "$(awk '$2 == 00000000 { print $1 }' /proc/net/route | uniq)" | grep -v inet6 | awk '$1 ~ /^inet/ { sub("/.*", "", $2); print $2 }')"
        export IP
        remove_snat
        $IPTABLES -t nat -A POSTROUTING -s 10.177.0.0/24 ! -d 10.177.0.0/24 -j SNAT --to $IP
fi