mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-26 20:20:53 +03:00
ipset: get_antizapret_domains.sh
This commit is contained in:
parent
e079e3a607
commit
3cac53eb80
@ -810,13 +810,14 @@ ip2net фильтрует входные данные, выкидывая неп
|
||||
Альтернативой ipset является использование tpws или nfqws со списком доменов.
|
||||
Может быть только один hostlist.
|
||||
|
||||
Поддерживаются 2 варианта :
|
||||
Поддерживаются следующие варианты :
|
||||
1) Внесите домены для дурения в ipset/zapret-hosts-users.txt. Удалите ipset/zapret-hosts.txt.gz.
|
||||
Тогда init скрипт будет запускать tpws с листом zapret-hosts-users.txt.
|
||||
Тогда init скрипт будет запускать tpws/nfqws с листом zapret-hosts-users.txt.
|
||||
|
||||
2) Список доменов РКН может быть получен скриптом ipset/get_reestr_hostlist.sh - кладется в ipset/zapret-hosts.txt.gz.
|
||||
2) Список доменов РКН может быть получен скриптами ipset/get_reestr_hostlist.sh или ipset/get_antizapret_domains.sh
|
||||
- кладется в ipset/zapret-hosts.txt.gz.
|
||||
Этот скрипт автоматически добавляет к списку РКН домены из zapret-hosts-user.txt и исключает zapret-hosts-exclude.txt.
|
||||
init скрипт будет запускать tpws с листом zapret-hosts.txt.gz.
|
||||
init скрипт будет запускать tpws/nfqws с листом zapret-hosts.txt.gz.
|
||||
|
||||
При фильтрации по именам доменов демон должен запускаться без фильтрации по ipset.
|
||||
tpws и nfqws решают нужно ли применять дурение в зависимости от поля Host: в http запросе или SNI в TLS ClientHello.
|
||||
|
@ -240,14 +240,13 @@ select_getlist()
|
||||
echo
|
||||
if ask_yes_no $D "do you want to auto download ip/host list"; then
|
||||
if [ "$MODE_FILTER" = "hostlist" ] ; then
|
||||
local GL_OLD=$GETLIST
|
||||
GETLIST="get_reestr_hostlist.sh"
|
||||
[ "$GL_OLD" != "$GET_LIST" ] && write_config_var GETLIST
|
||||
GETLISTS="get_antizapret_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_ip.sh get_reestr_combined.sh get_reestr_resolve.sh"
|
||||
GETLIST_DEF="get_antifilter_ipsmart.sh"
|
||||
ask_list GETLIST "$GETLISTS" "$GETLIST_DEF" && write_config_var GETLIST
|
||||
GETLIST_DEF="get_antifilter_allyouneed.sh"
|
||||
fi
|
||||
ask_list GETLIST "$GETLISTS" "$GETLIST_DEF" && write_config_var GETLIST
|
||||
return
|
||||
fi
|
||||
fi
|
||||
|
47
ipset/get_antizapret_domains.sh
Executable file
47
ipset/get_antizapret_domains.sh
Executable file
@ -0,0 +1,47 @@
|
||||
#!/bin/sh
|
||||
|
||||
IPSET_DIR="$(dirname "$0")"
|
||||
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
|
||||
|
||||
. "$IPSET_DIR/def.sh"
|
||||
|
||||
# useful in case ipban set is used in custom scripts
|
||||
FAIL=
|
||||
getuser || FAIL=1
|
||||
"$IPSET_DIR/create_ipset.sh"
|
||||
[ -n "$FAIL" ] && exit
|
||||
|
||||
ZURL=https://antizapret.prostovpn.org/domains-export.txt
|
||||
ZDOM="$TMPDIR/zapret.txt"
|
||||
|
||||
|
||||
curl -k --fail --max-time 600 --connect-timeout 5 --retry 3 --max-filesize 251658240 "$ZURL" >"$ZDOM" ||
|
||||
{
|
||||
echo domain list download failed
|
||||
exit 2
|
||||
}
|
||||
|
||||
composite_list()
|
||||
{
|
||||
# combine reestr and user list
|
||||
if [ -f "$ZUSERLIST_EXCLUDE" ]; then
|
||||
nice -n 5 $GREP -xvFf "$ZUSERLIST_EXCLUDE" "$ZDOM"
|
||||
else
|
||||
cat "$ZDOM"
|
||||
fi
|
||||
[ -f "$ZUSERLIST" ] && $AWK '{ print tolower($0) }' <"$ZUSERLIST"
|
||||
}
|
||||
|
||||
dlsize=$(LANG=C wc -c "$ZDOM" | xargs | cut -f 1 -d ' ')
|
||||
if test $dlsize -lt 102400; then
|
||||
echo list file is too small. can be bad.
|
||||
exit 2
|
||||
fi
|
||||
|
||||
composite_list | sort -u | zz "$ZHOSTLIST"
|
||||
|
||||
rm -f "$ZDOM"
|
||||
|
||||
hup_zapret_daemons
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user