From 0b2796c6daeb9efe9abf2a0987d02b0447b6b394 Mon Sep 17 00:00:00 2001 From: bol-van Date: Tue, 15 Oct 2024 14:55:16 +0300 Subject: [PATCH] ipset: refilter scripts --- install_easy.sh | 6 +++-- ipset/get_refilter_domains.sh | 42 +++++++++++++++++++++++++++++++++++ ipset/get_refilter_ipsum.sh | 39 ++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+), 2 deletions(-) create mode 100755 ipset/get_refilter_domains.sh create mode 100755 ipset/get_refilter_ipsum.sh diff --git a/install_easy.sh b/install_easy.sh index f2ae1c1..c95ed61 100755 --- a/install_easy.sh +++ b/install_easy.sh @@ -219,10 +219,10 @@ select_getlist() echo if ask_yes_no $D "do you want to auto download ip/host list"; then if [ "$MODE_FILTER" = "hostlist" ] ; then - GETLISTS="get_antizapret_domains.sh get_reestr_resolvable_domains.sh get_reestr_hostlist.sh" + GETLISTS="get_refilter_domains.sh get_antizapret_domains.sh get_reestr_resolvable_domains.sh get_reestr_hostlist.sh" GETLIST_DEF="get_antizapret_domains.sh" else - GETLISTS="get_user.sh get_antifilter_ip.sh get_antifilter_ipsmart.sh get_antifilter_ipsum.sh get_antifilter_ipresolve.sh get_antifilter_allyouneed.sh get_reestr_resolve.sh get_reestr_preresolved.sh get_reestr_preresolved_smart.sh" + GETLISTS="get_user.sh get_refilter_ipsum.sh get_antifilter_ip.sh get_antifilter_ipsmart.sh get_antifilter_ipsum.sh get_antifilter_ipresolve.sh get_antifilter_allyouneed.sh get_reestr_resolve.sh get_reestr_preresolved.sh get_reestr_preresolved_smart.sh" GETLIST_DEF="get_antifilter_allyouneed.sh" fi ask_list GETLIST "$GETLISTS" "$GETLIST_DEF" && write_config_var GETLIST @@ -462,6 +462,8 @@ files/huawei/E8372/zapret \ files/huawei/E8372/run-zapret-ip \ ipset/get_exclude.sh \ ipset/clear_lists.sh \ +ipset/get_refilter_domains.sh \ +ipset/get_refilter_ipsum.sh \ ipset/get_antifilter_ipresolve.sh \ ipset/get_reestr_resolvable_domains.sh \ ipset/get_config.sh \ diff --git a/ipset/get_refilter_domains.sh b/ipset/get_refilter_domains.sh new file mode 100755 index 0000000..ed40738 --- /dev/null +++ b/ipset/get_refilter_domains.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +IPSET_DIR="$(dirname "$0")" +IPSET_DIR="$(cd "$IPSET_DIR"; pwd)" + +. "$IPSET_DIR/def.sh" + +TMPLIST="$TMPDIR/list.txt" + +URL="https://github.com/1andrevich/Re-filter-lists/releases/latest/download/domains_all.lst" + +dl() +{ + # $1 - url + # $2 - file + # $3 - minsize + # $4 - maxsize + curl -L -H "Accept-Encoding: gzip" -k --fail --max-time 60 --connect-timeout 10 --retry 4 --max-filesize $4 -o "$TMPLIST" "$1" || + { + echo list download failed : $1 + exit 2 + } + dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ') + if test $dlsize -lt $3; then + echo list is too small : $dlsize bytes. can be bad. + exit 2 + fi + zzcat "$TMPLIST" | tr -d '\015' | zz "$2" + rm -f "$TMPLIST" +} + +# useful in case ipban set is used in custom scripts +FAIL= +getipban || FAIL=1 +"$IPSET_DIR/create_ipset.sh" +[ -n "$FAIL" ] && exit + +dl "$URL" "$ZHOSTLIST" 32768 4194304 + +hup_zapret_daemons + +exit 0 diff --git a/ipset/get_refilter_ipsum.sh b/ipset/get_refilter_ipsum.sh new file mode 100755 index 0000000..811d9ba --- /dev/null +++ b/ipset/get_refilter_ipsum.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +IPSET_DIR="$(dirname "$0")" +IPSET_DIR="$(cd "$IPSET_DIR"; pwd)" + +. "$IPSET_DIR/def.sh" + +TMPLIST="$TMPDIR/list.txt" + +URL="https://github.com/1andrevich/Re-filter-lists/releases/latest/download/ipsum.lst" + +dl() +{ + # $1 - url + # $2 - file + # $3 - minsize + # $4 - maxsize + curl -L -H "Accept-Encoding: gzip" -k --fail --max-time 60 --connect-timeout 10 --retry 4 --max-filesize $4 -o "$TMPLIST" "$1" || + { + echo list download failed : $1 + exit 2 + } + dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ') + if test $dlsize -lt $3; then + echo list is too small : $dlsize bytes. can be bad. + exit 2 + fi + # remove DOS EOL \r + zzcat "$TMPLIST" | tr -d '\015' | zz "$2" + rm -f "$TMPLIST" +} + +getuser && { + [ "$DISABLE_IPV4" != "1" ] && { + dl "$URL" "$ZIPLIST" 32768 4194304 + } +} + +"$IPSET_DIR/create_ipset.sh"