X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=setup.sh;h=951d3aca0e7b33408f7293dab3f5e5ca1d8da6fb;hb=HEAD;hp=96463bc17b5cad747420e26d05116aa724189464;hpb=8e3c55b65d2acf7ed3ab2f9eeaffcc5b9d6d117f;p=rrq%2Fhourglass.git diff --git a/setup.sh b/setup.sh index 96463bc..951d3ac 100755 --- a/setup.sh +++ b/setup.sh @@ -1,9 +1,23 @@ #!/bin/bash +# +# This is a control script to start and stop the network activity +# listening. -CMD=${1-start} -NET=192.168.249 -TAP=tap0 -SET=TIMO +CONF="hourglass.conf" +function getcfg() { + awk -v K="$1" '$1==K {print;exit;}' $CONF | + sed 's/^[^=]*=\s*//;s/\s*$//' +} +NET="$(getcfg listener.net)" +TAP="$(getcfg listener.tap)" +SET="$(getcfg ipset.table)" +CMD="${1-start}" + +cat <> /tmp/hourglass-listener.log - newlisp listener.lsp >> /tmp/hourglass-listener.log 2>&1 & + ./hourglass listener >> /tmp/hourglass-listener.log 2>&1 & while sleep 1 ; do ifconfig $TAP >& /dev/null && break - echo $TAP not up yet + echo $TAP not up yet >&2 done ifconfig $TAP $NET.1 up - iptables -t mangle -A FORWARD -p tcp --dport 53 -j RETURN - iptables -t mangle -A FORWARD -p udp --dport 53 -j RETURN iptables -t mangle -A FORWARD ${RULE[@]} fi ;; stop) - iptables -t mangle -F FORWARD if ifconfig $TAP >& /dev/null ; then - pkill -2 -f listener.lsp + pkill -2 -f "hourglass listener" else echo "Already stopped" fi ipset flush $SET + iptables -t mangle -D FORWARD ${RULE[@]} ;; *) echo "Unknown: $CMD"