@ -10,7 +10,7 @@
#
#
LC_ALL = C
LC_ALL = C
PATH = "/usr/sbin:/usr/bin:/sbin:/bin"
PATH = "/usr/sbin:/usr/bin:/sbin:/bin"
ban_ver = "0.1.3 "
ban_ver = "0.1.4 "
ban_sysver = "unknown"
ban_sysver = "unknown"
ban_enabled = 0
ban_enabled = 0
ban_automatic = "1"
ban_automatic = "1"
@ -326,9 +326,9 @@ f_iptadd()
done
done
fi
fi
else
else
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -n list " ${ src_name } " 2>/dev/null ) " ]
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -q - n list " ${ src_name } " ) " ]
then
then
" ${ ban_ipset } " destroy " ${ src_name } "
" ${ ban_ipset } " -q destroy " ${ src_name } "
fi
fi
fi
fi
}
}
@ -408,27 +408,28 @@ f_ipset()
if [ " ${ cnt } " -gt 0 ]
if [ " ${ cnt } " -gt 0 ]
then
then
if [ -x " ${ ban_ipset } " ] && [ -z " $( " ${ ban_ipset } " -n list " ${ src_name } " 2>/dev/null ) " ]
if [ -x " ${ ban_ipset } " ] && [ -z " $( " ${ ban_ipset } " -q - n list " ${ src_name } " ) " ]
then
then
" ${ ban_ipset } " create " ${ src_name } " hash:" ${ src_settype } " hashsize " ${ size } " maxelem 262144 family " ${ src_setipv } " counters
" ${ ban_ipset } " -q create " ${ src_name } " hash:" ${ src_settype } " hashsize " ${ size } " maxelem 262144 family " ${ src_setipv } " counters
else
else
" ${ ban_ipset } " flush " ${ src_name } "
" ${ ban_ipset } " -q flush " ${ src_name } "
fi
fi
" ${ ban_ipset } " -! restore < " ${ tmp_file } "
" ${ ban_ipset } " -! restore < " ${ tmp_file } "
printf "%s\n" "1" > " ${ tmp_set } "
printf "%s\n" "1" > " ${ tmp_set } "
printf "%s\n" " ${ cnt } " > " ${ tmp_cnt } "
printf "%s\n" " ${ cnt } " > " ${ tmp_cnt } "
fi
fi
f_iptadd
f_iptadd
end_ts = " $( date +%s) "
end_ts = " $( date +%s) "
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } , settype: ${ src_settype :- "-" } , setipv: ${ src_setipv :- "-" } , ruletype: ${ src_ruletype :- "-" } , count(sum/ip/cidr): ${ cnt :- 0 } / ${ cnt_ip :- 0 } / ${ cnt_cidr :- 0 } , time(s) : $(( end_ts-start_ts)) "
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } , settype: ${ src_settype :- "-" } , setipv: ${ src_setipv :- "-" } , ruletype: ${ src_ruletype :- "-" } , count(sum/ip/cidr): ${ cnt :- 0 } / ${ cnt_ip :- 0 } / ${ cnt_cidr :- 0 } , time: $(( end_ts-start_ts)) "
; ;
; ;
refresh)
refresh)
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -n list " ${ src_name } " 2>/dev/null) " ]
ban_rc = 4
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -q -n list " ${ src_name } " ) " ]
then
then
" ${ ban_ipset } " save " ${ src_name } " > " ${ tmp_file } "
" ${ ban_ipset } " -q save " ${ src_name } " > " ${ tmp_file } "
if [ -s " ${ tmp_file } " ]
if [ -s " ${ tmp_file } " ]
then
then
ban_rc = 0
cnt = " $(( $( wc -l 2>/dev/null < " ${ tmp_file } " ) - 1 )) "
cnt = " $(( $( wc -l 2>/dev/null < " ${ tmp_file } " ) - 1 )) "
cnt_cidr = " $( grep -cF "/" " ${ tmp_file } " ) "
cnt_cidr = " $( grep -cF "/" " ${ tmp_file } " ) "
cnt_ip = " $(( cnt-cnt_cidr)) "
cnt_ip = " $(( cnt-cnt_cidr)) "
@ -438,15 +439,15 @@ f_ipset()
f_iptadd
f_iptadd
fi
fi
end_ts = " $( date +%s) "
end_ts = " $( date +%s) "
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } , count: ${ cnt :- 0 } / ${ cnt_ip :- 0 } / ${ cnt_cidr :- 0 } , time(s) : $(( end_ts-start_ts)) "
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } , count: ${ cnt :- 0 } / ${ cnt_ip :- 0 } / ${ cnt_cidr :- 0 } , time: $(( end_ts-start_ts)) , rc: ${ ban_rc } "
; ;
; ;
flush)
flush)
f_iptadd "remove"
f_iptadd "remove"
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -n list " ${ src_name } " 2>/dev/null ) " ]
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -q - n list " ${ src_name } " ) " ]
then
then
" ${ ban_ipset } " flush " ${ src_name } "
" ${ ban_ipset } " destroy " ${ src_name } "
" ${ ban_ipset } " -q flush " ${ src_name } "
" ${ ban_ipset } " -q destroy " ${ src_name } "
fi
fi
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } "
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } "
; ;
; ;
@ -469,9 +470,9 @@ f_ipset()
for source in ${ ban_sources }
for source in ${ ban_sources }
do
do
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -n list " ${ source } " 2>/dev/null ) " ]
if [ -x " ${ ban_ipset } " ] && [ -n " $( " ${ ban_ipset } " -q - n list " ${ source } " ) " ]
then
then
" ${ ban_ipset } " destroy " ${ source } "
" ${ ban_ipset } " -q destroy " ${ source } "
fi
fi
done
done
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } "
f_log "debug" " f_ipset ::: name: ${ src_name :- "-" } , mode: ${ mode :- "-" } "
@ -572,8 +573,12 @@ f_main()
continue
continue
elif [ " ${ ban_action } " = "refresh" ]
elif [ " ${ ban_action } " = "refresh" ]
then
then
start_ts = " $( date +%s) "
f_ipset refresh
f_ipset refresh
continue
if [ ${ ban_rc } -eq 0 ]
then
continue
fi
fi
fi
# download queue processing
# download queue processing