Browse Source

ipset: additional lists

pull/98/head
bol-van 3 years ago
parent
commit
3536dd45d7
  1. 2
      config
  2. 16
      docs/readme.txt
  3. 2
      ipset/antifilter.helper
  4. 13
      ipset/get_antifilter_allyouneed.sh
  5. 13
      ipset/get_antifilter_ipresolve.sh

2
config

@ -9,7 +9,7 @@
# options for ipsets # options for ipsets
# maximum number of elements in sets. also used for nft sets # maximum number of elements in sets. also used for nft sets
SET_MAXELEM=262144 SET_MAXELEM=522288
# too low hashsize can cause memory allocation errors on low RAM systems , even if RAM is enough # too low hashsize can cause memory allocation errors on low RAM systems , even if RAM is enough
# too large hashsize will waste lots of RAM # too large hashsize will waste lots of RAM
IPSET_OPT="hashsize 262144 maxelem $SET_MAXELEM" IPSET_OPT="hashsize 262144 maxelem $SET_MAXELEM"

16
docs/readme.txt

@ -157,8 +157,6 @@ NFQUEUE работает без изменений.
Остальные рассматриваемые здесь функции могут быть перенесены на nftables. Остальные рассматриваемые здесь функции могут быть перенесены на nftables.
Рекомендуется версия nft 1.0.2 или выше. Рекомендуется версия nft 1.0.2 или выше.
Относительно старые версии ядра и/или утилиты nft могут вызывать ошибки.
В частности, на ubuntu 18.04 с ядром 4.15 будут проблемы. В 20.04 - работает.
Когда это работать не будет Когда это работать не будет
@ -688,7 +686,7 @@ Cкрипты с названием get_antifilter_* оперируют спис
5) ipset/get_antifilter_ip.sh. получает лист https://antifilter.network/download/ip.lst. 5) ipset/get_antifilter_ip.sh. получает лист https://antifilter.network/download/ip.lst.
7) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst. 6) ipset/get_antifilter_ipsmart.sh. получает лист https://antifilter.network/download/ipsmart.lst.
это умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22 это умная суммаризация отдельных адресов из ip.lst по маскам от /32 до /22
количество префиксов измеряется всего лишь десятками тысяч, потому это лучшее решение для роутера с 64 Mb RAM количество префиксов измеряется всего лишь десятками тысяч, потому это лучшее решение для роутера с 64 Mb RAM
@ -696,10 +694,18 @@ Cкрипты с названием get_antifilter_* оперируют спис
это суммаризация отдельных адресов из ip.lst по маске /24 это суммаризация отдельных адресов из ip.lst по маске /24
количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM
8) ipset/get_antifilter_ipresolve.sh. получает лист https://antifilter.download/list/ipresolve.lst.
пре-ресолвленный список, аналогичный получаемый при помощи get_reestr_resolve
сотни тысяч IP, на роутерах с 64 Mb использовать не рекомендуется
9) ipset/get_antifilter_allyouneed.sh. получает лист https://antifilter.download/list/allyouneed.lst.
Суммарный список префиксов, созданный из ipsum.lst и subnet.lst.
количество префиксов измеряется всего лишь десятками тысяч, потому можно использовать на роутерах с 64 Mb RAM
Все варианты рассмотренных скриптов автоматически создают и заполняют ipset. Все варианты рассмотренных скриптов автоматически создают и заполняют ipset.
Варианты 2-7 дополнительно вызывают вариант 1. Варианты 2-9 дополнительно вызывают вариант 1.
8) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config 10) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config
Если переменная не определена, то ресолвятся лишь листы для ipset nozapret/nozapret6. Если переменная не определена, то ресолвятся лишь листы для ipset nozapret/nozapret6.
Листы РКН все время изменяются. Возникают новые тенденции. Требования к RAM могут меняться. Листы РКН все время изменяются. Возникают новые тенденции. Требования к RAM могут меняться.

2
ipset/antifilter.helper

@ -8,7 +8,7 @@ get_antifilter()
curl --fail --max-time 150 --connect-timeout 20 --max-filesize 41943040 -k -L "$1" | cut_local >"$ZIPLISTTMP" && curl --fail --max-time 150 --connect-timeout 20 --max-filesize 41943040 -k -L "$1" | cut_local >"$ZIPLISTTMP" &&
{ {
dlsize=$(LANG=C wc -c "$ZIPLISTTMP" | xargs | cut -f 1 -d ' ') dlsize=$(LANG=C wc -c "$ZIPLISTTMP" | xargs | cut -f 1 -d ' ')
if [ $dlsize -lt 204800 ]; then if [ $dlsize -lt 102400 ]; then
echo list file is too small. can be bad. echo list file is too small. can be bad.
exit 2 exit 2
fi fi

13
ipset/get_antifilter_allyouneed.sh

@ -0,0 +1,13 @@
#!/bin/sh
IPSET_DIR="$(dirname "$0")"
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
. "$IPSET_DIR/def.sh"
getuser && {
. "$IPSET_DIR/antifilter.helper"
get_antifilter https://antifilter.download/list/allyouneed.lst "$ZIPLIST"
}
"$IPSET_DIR/create_ipset.sh"

13
ipset/get_antifilter_ipresolve.sh

@ -0,0 +1,13 @@
#!/bin/sh
IPSET_DIR="$(dirname "$0")"
IPSET_DIR="$(cd "$IPSET_DIR"; pwd)"
. "$IPSET_DIR/def.sh"
getuser && {
. "$IPSET_DIR/antifilter.helper"
get_antifilter https://antifilter.download/list/ipresolve.lst "$ZIPLIST"
}
"$IPSET_DIR/create_ipset.sh"
Loading…
Cancel
Save