zapret/ipset/get_reestr_preresolved_smart.sh

48 lines
1.0 KiB
Bash
Raw Normal View History

2022-12-11 09:17:21 +00:00
#!/bin/sh
IPSET_DIR="$(dirname "$0")"
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
. "$IPSET_DIR/def.sh"
2023-11-26 11:31:37 +00:00
TMPLIST="$TMPDIR/list.txt"
2023-11-21 12:43:36 +00:00
BASEURL="https://raw.githubusercontent.com/bol-van/rulist/main"
URL4="$BASEURL/reestr_smart4.txt"
URL6="$BASEURL/reestr_smart6.txt"
2023-11-26 11:31:37 +00:00
IPB4="$BASEURL/reestr_ipban4.txt"
IPB6="$BASEURL/reestr_ipban6.txt"
2022-12-11 09:17:21 +00:00
2022-12-14 10:35:59 +00:00
dl()
{
# $1 - url
# $2 - file
2023-11-26 11:31:37 +00:00
# $3 - minsize
# $4 - maxsize
curl -H "Accept-Encoding: gzip" -k --fail --max-time 120 --connect-timeout 10 --retry 4 --max-filesize $4 "$1" | gunzip - >"$TMPLIST" ||
2022-12-11 09:17:21 +00:00
{
2022-12-14 10:35:59 +00:00
echo list download failed : $1
2022-12-11 09:17:21 +00:00
exit 2
}
dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ')
2023-11-26 11:31:37 +00:00
if test $dlsize -lt $3; then
2022-12-14 10:35:59 +00:00
echo list is too small : $dlsize bytes. can be bad.
2022-12-11 09:17:21 +00:00
exit 2
fi
2022-12-14 10:35:59 +00:00
zz "$2" <"$TMPLIST"
2022-12-11 09:17:21 +00:00
rm -f "$TMPLIST"
2022-12-14 10:35:59 +00:00
}
getuser && {
2023-11-26 11:31:37 +00:00
[ "$DISABLE_IPV4" != "1" ] && {
dl "$URL4" "$ZIPLIST" 32768 4194304
dl "$IPB4" "$ZIPLIST_IPBAN" 8192 1048576
}
[ "$DISABLE_IPV6" != "1" ] && {
dl "$URL6" "$ZIPLIST6" 8192 4194304
dl "$IPB6" "$ZIPLIST_IPBAN6" 128 1048576
}
2022-12-11 09:17:21 +00:00
}
"$IPSET_DIR/create_ipset.sh"