mirror of
https://github.com/bol-van/zapret.git
synced 2024-11-11 17:29:16 +05:00
get_reestr_preresolved
This commit is contained in:
parent
fa1529f331
commit
fe26745502
@ -695,42 +695,38 @@ Cкрипты с названием get_reestr_* оперируют дампом
|
||||
банят по IP : вместо этого они банят http запросы с "нехорошим" заголовком "Host:" вне зависимости
|
||||
от IP адреса. Поэтому скрипт ресолвит все сам, хотя это и занимает много времени.
|
||||
Используется мультипоточный ресолвер mdig (собственная разработка).
|
||||
Реестр РКН уже настолько огромен, что однопоточный ресолв займет вечность, а многопоточный хоть и тоже много времени,
|
||||
но хотя бы оно конечно.
|
||||
На роутерах с небольшим объемом RAM может сработать только с TMPDIR на внешнем носителе
|
||||
|
||||
3) ipset/get_reestr_ip.sh
|
||||
взять все IP адреса из реестра и загнать в ipset zapret/zapret6
|
||||
На роутерах с небольшим объемом RAM может сработать только с TMPDIR на внешнем носителе
|
||||
|
||||
4) ipset/get_reestr_combined.sh. для провайдеров, которые блокируют по IP https, а остальное по DPI.
|
||||
IP https и IP без домена заносятся в ipset ipban, остальные в ipset zapret.
|
||||
На роутерах с небольшим объемом RAM может сработать только с TMPDIR на внешнем носителе
|
||||
|
||||
5) ipset/get_reestr_preresolved.sh. то же самое, что и 2), только берется уже заресолвленый список
|
||||
со стороннего ресурса.
|
||||
|
||||
6) ipset/get_reestr_preresolved_smart.sh. то же самое, что и 5), с добавлением всего диапазона некоторых
|
||||
автономных систем (прыгающие IP адреса из cloudflare, facebook, ...) и некоторых поддоменов блокируемых сайтов
|
||||
|
||||
Cкрипты с названием get_antifilter_* оперируют списками адресов и масок подсетей с сайтов antifilter.network и antifilter.download :
|
||||
|
||||
5) ipset/get_antifilter_ip.sh. получает лист https://antifilter.download/list/ip.lst.
|
||||
7) ipset/get_antifilter_ip.sh. получает лист https://antifilter.download/list/ip.lst.
|
||||
|
||||
6) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst.
|
||||
это умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22
|
||||
количество префиксов измеряется всего лишь десятками тысяч, потому это лучшее решение для роутера с 64 Mb RAM
|
||||
8) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst.
|
||||
умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22
|
||||
|
||||
7) ipset/get_antifilter_ipsum.sh. получает лист https://antifilter.download/list/ipsum.lst.
|
||||
это суммаризация отдельных адресов из ip.lst по маске /24
|
||||
количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM
|
||||
9) ipset/get_antifilter_ipsum.sh. получает лист https://antifilter.download/list/ipsum.lst.
|
||||
суммаризация отдельных адресов из ip.lst по маске /24
|
||||
|
||||
8) ipset/get_antifilter_ipresolve.sh. получает лист https://antifilter.download/list/ipresolve.lst.
|
||||
пре-ресолвленный список, аналогичный получаемый при помощи get_reestr_resolve
|
||||
сотни тысяч IP, на роутерах с 64 Mb использовать не рекомендуется
|
||||
10) ipset/get_antifilter_ipresolve.sh. получает лист https://antifilter.download/list/ipresolve.lst.
|
||||
пре-ресолвленный список, аналогичный получаемый при помощи get_reestr_resolve. только ipv4.
|
||||
|
||||
9) ipset/get_antifilter_allyouneed.sh. получает лист https://antifilter.download/list/allyouneed.lst.
|
||||
11) ipset/get_antifilter_allyouneed.sh. получает лист https://antifilter.download/list/allyouneed.lst.
|
||||
Суммарный список префиксов, созданный из ipsum.lst и subnet.lst.
|
||||
количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM
|
||||
|
||||
Все варианты рассмотренных скриптов автоматически создают и заполняют ipset.
|
||||
Варианты 2-9 дополнительно вызывают вариант 1.
|
||||
Варианты 2-11 дополнительно вызывают вариант 1.
|
||||
|
||||
10) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config
|
||||
12) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config
|
||||
Если переменная не определена, то ресолвятся лишь листы для ipset nozapret/nozapret6.
|
||||
|
||||
Листы РКН все время изменяются. Возникают новые тенденции. Требования к RAM могут меняться.
|
||||
@ -738,6 +734,8 @@ Cкрипты с названием get_antifilter_* оперируют спис
|
||||
Или вы можете узнать о проблеме лишь когда у вас начнет постоянно пропадать wifi, и вам придется
|
||||
его перезагружать каждые 2 часа (метод кувалды).
|
||||
|
||||
Самый щадящие варианты по RAM - get_antifilter_allyouneed.sh, get_antifilter_ipsum.sh.
|
||||
|
||||
Листы zapret-ip.txt и zapret-ipban.txt сохраняются в сжатом виде в файлы .gz.
|
||||
Это позволяет снизить их размер во много раз и сэкономить место на роутере.
|
||||
Отключить сжатие листов можно параметром конфига GZIP_LISTS=0.
|
||||
|
@ -244,7 +244,7 @@ select_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"
|
||||
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 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
|
||||
|
45
ipset/get_reestr_preresolved.sh
Executable file
45
ipset/get_reestr_preresolved.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
IPSET_DIR="$(dirname "$0")"
|
||||
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
|
||||
|
||||
. "$IPSET_DIR/def.sh"
|
||||
|
||||
|
||||
TMPLIST="$TMPDIR/list_nethub.txt"
|
||||
URL4="http://list.nethub.fi/reestr_resolved4.txt"
|
||||
URL6="http://list.nethub.fi/reestr_resolved6.txt"
|
||||
|
||||
|
||||
getuser && {
|
||||
[ "$DISABLE_IPV4" != "1" ] && {
|
||||
curl -vH "Accept-Encoding: gzip" -k --fail --max-time 180 --connect-timeout 10 --retry 4 --max-filesize 33554432 "$URL4" | gunzip - >"$TMPLIST" ||
|
||||
{
|
||||
echo ipv4 list download failed
|
||||
exit 2
|
||||
}
|
||||
dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ')
|
||||
if test $dlsize -lt 32768; then
|
||||
echo list is too small. can be bad.
|
||||
exit 2
|
||||
fi
|
||||
zz "$ZIPLIST" <"$TMPLIST"
|
||||
rm -f "$TMPLIST"
|
||||
}
|
||||
[ "$DISABLE_IPV6" != "1" ] && {
|
||||
curl -H "Accept-Encoding: gzip" -k --fail --max-time 180 --connect-timeout 10 --retry 4 --max-filesize 33554432 "$URL6" | gunzip - >"$TMPLIST" ||
|
||||
{
|
||||
echo ipv4 list download failed
|
||||
exit 2
|
||||
}
|
||||
dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ')
|
||||
if test $dlsize -lt 32768; then
|
||||
echo list is too small. can be bad.
|
||||
exit 2
|
||||
fi
|
||||
zz "$ZIPLIST6" <"$TMPLIST"
|
||||
rm -f "$TMPLIST"
|
||||
}
|
||||
}
|
||||
|
||||
"$IPSET_DIR/create_ipset.sh"
|
45
ipset/get_reestr_preresolved_smart.sh
Executable file
45
ipset/get_reestr_preresolved_smart.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
IPSET_DIR="$(dirname "$0")"
|
||||
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
|
||||
|
||||
. "$IPSET_DIR/def.sh"
|
||||
|
||||
|
||||
TMPLIST="$TMPDIR/list_nethub.txt"
|
||||
URL4="http://list.nethub.fi/reestr_smart4.txt"
|
||||
URL6="http://list.nethub.fi/reestr_smart6.txt"
|
||||
|
||||
|
||||
getuser && {
|
||||
[ "$DISABLE_IPV4" != "1" ] && {
|
||||
curl -vH "Accept-Encoding: gzip" -k --fail --max-time 180 --connect-timeout 10 --retry 4 --max-filesize 33554432 "$URL4" | gunzip - >"$TMPLIST" ||
|
||||
{
|
||||
echo ipv4 list download failed
|
||||
exit 2
|
||||
}
|
||||
dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ')
|
||||
if test $dlsize -lt 32768; then
|
||||
echo list is too small. can be bad.
|
||||
exit 2
|
||||
fi
|
||||
zz "$ZIPLIST" <"$TMPLIST"
|
||||
rm -f "$TMPLIST"
|
||||
}
|
||||
[ "$DISABLE_IPV6" != "1" ] && {
|
||||
curl -H "Accept-Encoding: gzip" -k --fail --max-time 180 --connect-timeout 10 --retry 4 --max-filesize 33554432 "$URL6" | gunzip - >"$TMPLIST" ||
|
||||
{
|
||||
echo ipv4 list download failed
|
||||
exit 2
|
||||
}
|
||||
dlsize=$(LANG=C wc -c "$TMPLIST" | xargs | cut -f 1 -d ' ')
|
||||
if test $dlsize -lt 32768; then
|
||||
echo list is too small. can be bad.
|
||||
exit 2
|
||||
fi
|
||||
zz "$ZIPLIST6" <"$TMPLIST"
|
||||
rm -f "$TMPLIST"
|
||||
}
|
||||
}
|
||||
|
||||
"$IPSET_DIR/create_ipset.sh"
|
Loading…
Reference in New Issue
Block a user