simplified
authorRalph Ronnquist <rrq@rrq.au>
Sun, 16 Feb 2025 00:50:53 +0000 (11:50 +1100)
committerRalph Ronnquist <rrq@rrq.au>
Sun, 16 Feb 2025 00:50:53 +0000 (11:50 +1100)
bin/nfblockerctl

index 661d8d069205e133584805f5790600116757e4fc..aed8d2296dcc82d1eb5dc0bf275843d483a91758 100755 (executable)
@@ -1,38 +1,20 @@
-#!/bin/bash
+#!/bin/sh
 #
-# This is a control script for nfblocker.
-#
-
-if [ -z "$1" ] ; then
-    echo "start or stop?"
-    exit 1
-fi
+# Control script for manual use of nfblocker.
 
-cd $(dirname $(readlink $0))
+do_start() {
+    iptables -I OUTPUT -p tcp -j NFQUEUE --queue-num 99
+    nfblocker /etc/nfblocker/blocked/*.acl &
+}
 
-function start_nfblocker() {
-    LOG=/var/log/nfblocker.$(date +%Y%m%d)
-    BLOCKED=( ../acl/*.acl )
-    echo "BLOCKING ${BLOCKED[@]}" >> $LOG
-    ./nfblocker ../blocked/*.acl >> $LOG 2>&1 &
+do_stop() {
+    iptables -D OUTPUT -p tcp -j NFQUEUE --queue-num 99
+    pkill nfblocker
 }
 
-TABLE=OUTPUT
-case $1 in
-    start)
-       iptables -I $TABLE -p tcp -j NFQUEUE --queue-num 99
-       pkill -x nfblocker
-       start_nfblocker
-       ;;
-    reload)
-       pkill -x nfblocker
-       start_nfblocker
-       ;;
-    stop)
-       iptables -D $TABLE -p tcp -j NFQUEUE --queue-num 99
-       pkill -x nfblocker
-       ;;
-    *)
-       echo "Use start, stop or reload" >&2
-       ;;
+case "$1" in
+    start) do_start ;;
+    reload) do_stop ; do_start ;;
+    stop) do_stop ;;
+    *) echo "Use start, stop or reload" >&2 ;;
 esac