zapret/ipset/create_ipset.sh

28 lines
612 B
Bash
Raw Normal View History

2016-02-15 16:34:45 +03:00
#!/bin/sh
# create ipset from resolved ip's
SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT)
. "$EXEDIR/def.sh"
2016-03-04 12:03:34 +03:00
create_ipset()
{
2017-10-25 16:45:41 +03:00
ipset flush $1 2>/dev/null || ipset create $1 hash:ip maxelem 262144
2016-03-04 12:03:34 +03:00
for f in "$2" "$3"
2016-02-15 16:34:45 +03:00
do
2016-03-04 12:03:34 +03:00
[ -f "$f" ] && {
2016-11-26 20:01:33 +03:00
echo Adding to ipset $1 : $f
if [ -f "$ZIPLIST_EXCLUDE" ] ; then
2018-01-05 01:35:30 +03:00
grep -vxFf $ZIPLIST_EXCLUDE "$f" | sort -u | sed -nre "s/^.*$/add $1 &/p" | ipset -! restore
2016-11-26 20:01:33 +03:00
else
2018-01-05 01:35:30 +03:00
sort -u "$f" | sed -nre "s/^.*$/add $1 &/p" | ipset -! restore
2016-11-26 20:01:33 +03:00
fi
2016-02-15 16:34:45 +03:00
}
done
2017-08-13 13:09:08 +03:00
return 0
2016-03-04 12:03:34 +03:00
}
create_ipset $ZIPSET $ZIPLIST $ZIPLIST_USER
create_ipset $ZIPSET_IPBAN $ZIPLIST_IPBAN $ZIPLIST_USER_IPBAN