#!/bin/sh # # Written by Directadmin # #BF=/root/blocked_ips.txt echo "havedata=1" #cat $BF TTL=`/usr/local/directadmin/directadmin c | grep unblock_brute_ip_time= | cut -d\= -f2`; if [ ${TTL} == "0" ]; then TTL=31557600 else TTL=$((TTL*3*60)); # It is Directadmin which unblocks IP, so we need to have enough long TTL # so that Directadmin have a chance to unblock it # Additionaly convert minutes to seconds *60 fi; NOW=`date "+%s"` csf -t | grep -v grep | grep 'Directadmin Brute Force Manager'| while read x; do IP=`echo $x | awk '{print $2}'` echo -n $IP echo -n = T=`echo $x | awk '{print $5,$6,$7,$8}'` #T=5d 21h 53m 56s DAYS=`echo $T | awk '{print $1}' | sed 's/[^0-9]*//g'` HOURS=`echo $T | awk '{print $2}' | sed 's/[^0-9]*//g'` MINS=`echo $T | awk '{print $3}' | sed 's/[^0-9]*//g'` SECS=`echo $T | awk '{print $4}' | sed 's/[^0-9]*//g'` SECS=$(($SECS + ($MINS * 60) + ($HOURS * 3600) + ($DAYS * 3600 * 24) )) DB=$(($NOW + $SECS - $TTL)) C=`echo $x | awk '{ print $9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19}'` echo "dateblocked=$DB&info=$C" done; exit 0;