X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=setup.sh;h=951d3aca0e7b33408f7293dab3f5e5ca1d8da6fb;hb=6de3554bcf182f39a8d39f3159958e4ee8c474cd;hp=3585d74d12bbe45a9053ba1f657f25e83bcc8fa0;hpb=edf9ef981d33d2ef5712ae7116094c0fc6528aa7;p=rrq%2Fhourglass.git diff --git a/setup.sh b/setup.sh index 3585d74..951d3ac 100755 --- a/setup.sh +++ b/setup.sh @@ -3,10 +3,21 @@ # This is a control script to start and stop the network activity # listening. -CMD=${1-start} -NET=192.168.249 -TAP=hourglass0 -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"