PHP Code:
#!/bin/bash
#
# by @skymario84(cccam peers) & bebelusul(cache peers)
# (c) 2013
# all right reserved
# skymario84@gmail.com - skymario84
# marlofag@yahoo.com - puidezmeu
IPTABLES="/sbin/iptables"
#######################################
#######################################
#######################################

LOGDIR="/var/tmp"
NUMBER_OF_FAILED_LOGIN_ATTEMPTS="5"

#######################################


cp $LOGDIR/multics.log /tmp/multics.log
sleep 1

cat 
/dev/null $LOGDIR/multics.log

# cccam
grep -'CCcam1: Unknown Client' /tmp/multics.log awk -F" " '{print $4,$5,$6}' > /tmp/mcs1.log
grep 
-'CCcam2: Unknown Client' /tmp/multics.log awk -F" " '{print $4,$5,$6}' >> /tmp/set_to_ban.log
grep 
-'CCcam2: Unknown Client' /tmp/multics.log awk -F" " '{print $4,$5,$6}' > /tmp/mcs1.log
grep 
-'CCcam2: Unknown Client' /tmp/multics.log awk -F" " '{print $4,$5,$6}' >> /tmp/set_to_ban.log
grep 
-'CCcam3: Unknown Client' /tmp/multics.log awk -F" " '{print $4,$5,$6}' > /tmp/mcs1.log
grep 
-'CCcam3: Unknown Client' /tmp/multics.log awk -F" " '{print $4,$5,$6}' >> /tmp/set_to_ban.log

#disabled
grep -'CCcam1: connection refused for client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/mcs1.log
grep 
-'CCcam1: connection refused for client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/set_to_ban.log
grep 
-'CCcam2: connection refused for client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/mcs1.log
grep 
-'CCcam2: connection refused for client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/set_to_ban.log
grep 
-'CCcam3: connection refused for client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/mcs1.log
grep 
-'CCcam3: connection refused for client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/set_to_ban.log

#failed
grep -'CCcam1: login failed from client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/mcs1.log
grep 
-'CCcam1: login failed from client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/set_to_ban.log
grep 
-'CCcam2: login failed from client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/mcs1.log
grep 
-'CCcam2: login failed from client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/set_to_ban.log
grep 
-'CCcam3: login failed from client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/mcs1.log
grep 
-'CCcam3: login failed from client' /tmp/multics.log awk -F" " '{print $6,$7,$8}' >> /tmp/set_to_ban.log
#cache
cat /tmp/multics.log |grep Alert |sort ->>/tmp/unknown-cache.log

sort 
/tmp/set_to_ban.log uniq --count $LOGDIR/banned.log

sed 
-'s/(/( /' /tmp/mcs1.log
sleep 1
sed 
-'s/)/ )/' /tmp/mcs1.log
sleep 1
sed 
-'s/(/( /' /tmp/unknown-cache.log
sleep 1
sed 
-'s/)/ )/' /tmp/unknown-cache.log
sleep 1
sed 
-'s/:/ /g' /tmp/unknown-cache.log

awk 
-F" " '{print $4}' /tmp/mcs1.log > /tmp/mcs2.log

sort 
/tmp/mcs2.log uniq --count > /tmp/mcs3.log

awk 
'$1 > $NUMBER_OF_FAILED_LOGIN_ATTEMPTS' /tmp/mcs3.log > /tmp/mcs4.log
awk 
-F" " '{print $9}' /tmp/unknown-cache.log |sort ->/tmp/mcs5.log
awk 
-F" " '{print $2}' /tmp/mcs4.log >> /tmp/mcs5.log
while read banlist; do

action1=$IPTABLES" -I INPUT -s "$banlist" -j DROP"
action2=$IPTABLES" -A INPUT -s "$banlist" -j DROP"

echo $action1
echo $action2

$action1
$action2

done 
< /tmp/mcs5.log
rm 
-rf /tmp/unknown-cache.log
rm 
-rf /tmp/mcs1.log
rm 
-rf /tmp/mcs2.log
rm 
-rf /tmp/mcs3.log
rm 
-rf /tmp/mcs4.log
rm 
-rf /tmp/mcs5.log
rm 
-rf /tmp/multics.log

exit 

Scriptul de mai sus baga in iptables:
- toti userii care desi nu mai au linie de la voi ..insista sa se conecteze
- cache peers care nu sunt in lista la voi


Mai tarziu o voi posta si unul care da disable la toate liniile N/C care sunt offline