mirror of
https://github.com/bol-van/zapret.git
synced 2024-12-02 14:40:52 +03:00
ipset optimizations
This commit is contained in:
parent
eb9edbde6e
commit
d3e53ebede
@ -53,3 +53,7 @@ ISP support : added DNS filtering to ubuntu and debian scripts
|
||||
v10
|
||||
|
||||
tpws : added split-pos option. split every message at specified position
|
||||
|
||||
v11
|
||||
|
||||
ipset : scripts optimizations
|
||||
|
10
ipset/def.sh
10
ipset/def.sh
@ -7,3 +7,13 @@ ZIPSET_IPBAN=ipban
|
||||
ZIPLIST_IPBAN=$EXEDIR/zapret-ip-ipban.txt
|
||||
ZIPLIST_USER_IPBAN=$EXEDIR/zapret-ip-user-ipban.txt
|
||||
ZUSERLIST_IPBAN=$EXEDIR/zapret-hosts-user-ipban.txt
|
||||
|
||||
getuser()
|
||||
{
|
||||
[ -f $ZUSERLIST ] && {
|
||||
dig A +short +time=8 +tries=2 -f $ZUSERLIST | grep -E '^[^;].*[^.]$' | grep -vE '^192.168.[0-9]*.[0-9]*$' | grep -vE '^127.[0-9]*.[0-9]*.[0-9]*$' | grep -vE '^10.[0-9]*.[0-9]*.[0-9]*$' | sort | uniq >$ZIPLIST_USER
|
||||
}
|
||||
[ -f $ZUSERLIST_IPBAN ] && {
|
||||
dig A +short +time=8 +tries=2 -f $ZUSERLIST_IPBAN | grep -E '^[^;].*[^.]$' | grep -vE '^192.168.[0-9]*.[0-9]*$' | grep -vE '^127.[0-9]*.[0-9]*.[0-9]*$' | grep -vE '^10.[0-9]*.[0-9]*.[0-9]*$' | sort | uniq >$ZIPLIST_USER_IPBAN
|
||||
}
|
||||
}
|
@ -9,7 +9,7 @@ EXEDIR=$(dirname $SCRIPT)
|
||||
ZURL=http://antizapret.prostovpn.org/proxy.pac
|
||||
ZIPLISTTMP=/tmp/zapret-ip.txt
|
||||
|
||||
$EXEDIR/get_user.sh
|
||||
getuser
|
||||
|
||||
curl --fail --max-time 60 --max-filesize 4194304 "$ZURL" | sed -nre "s/\"([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\"/\1\n/gp" | sed -nre "s/^[^0-9]*([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*$/\1/p" >$ZIPLISTTMP &&
|
||||
{
|
||||
|
@ -11,7 +11,7 @@ ZDIG=/tmp/zapret-dig.txt
|
||||
ZIPLISTTMP=/tmp/zapret-ip.txt
|
||||
ZURL=http://reestr.rublacklist.net/api/current
|
||||
|
||||
$EXEDIR/get_user.sh
|
||||
getuser
|
||||
|
||||
curl --fail --max-time 60 --max-filesize 20971520 "$ZURL" >$ZREESTR && {
|
||||
dlsize=$(wc -c "$ZREESTR" | cut -f 1 -d ' ')
|
||||
|
@ -6,8 +6,6 @@ EXEDIR=$(dirname $SCRIPT)
|
||||
|
||||
. "$EXEDIR/def.sh"
|
||||
|
||||
$EXEDIR/get_user_ipban.sh
|
||||
getuser
|
||||
|
||||
[ -f $ZUSERLIST ] && {
|
||||
dig A +short +time=8 +tries=2 -f $ZUSERLIST | grep -E '^[^;].*[^.]$' | grep -vE '^192.168.[0-9]*.[0-9]*$' | grep -vE '^127.[0-9]*.[0-9]*.[0-9]*$' | grep -vE '^10.[0-9]*.[0-9]*.[0-9]*$' | sort | uniq >$ZIPLIST_USER
|
||||
}
|
||||
"$EXEDIR/create_ipset.sh"
|
||||
|
@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
# resolve user host list
|
||||
|
||||
SCRIPT=$(readlink -f $0)
|
||||
EXEDIR=$(dirname $SCRIPT)
|
||||
|
||||
. "$EXEDIR/def.sh"
|
||||
|
||||
[ -f $ZUSERLIST_IPBAN ] && {
|
||||
dig A +short +time=8 +tries=2 -f $ZUSERLIST_IPBAN | grep -E '^[^;].*[^.]$' | grep -vE '^192.168.[0-9]*.[0-9]*$' | grep -vE '^127.[0-9]*.[0-9]*.[0-9]*$' | grep -vE '^10.[0-9]*.[0-9]*.[0-9]*$' | sort | uniq >$ZIPLIST_USER_IPBAN
|
||||
}
|
17
readme.txt
17
readme.txt
@ -1,4 +1,5 @@
|
||||
zapret v.10
|
||||
zapret v.11
|
||||
|
||||
Для чего это надо
|
||||
-----------------
|
||||
|
||||
@ -115,6 +116,7 @@ tpws - это transparent proxy.
|
||||
--hostdot ; добавление точки после имени хоста : "Host: kinozal.tv."
|
||||
--methodspace ; добавить пробел после метода : "GET /" => "GET /"
|
||||
Параметры манипуляции могут сочетаться в любых комбинациях.
|
||||
Есть исключение : split-pos заменяет split-http-req.
|
||||
|
||||
Провайдеры
|
||||
----------
|
||||
@ -152,17 +154,23 @@ tiera : сама тиера до последнего ничего не бани
|
||||
несколько Мб и продолжает расти. На роутерах openwrt /tmp представляет собой tmpfs , то есть ramdisk.
|
||||
В случае роутера с 32 мб памяти ее может не хватить, и будут проблемы. В этом случае используйте
|
||||
следующий скрипт.
|
||||
Скрипт автоматически вызывает ipset/get_user.sh и обновляет ipset
|
||||
|
||||
3) ipset/get_anizapret.sh. быстро и без нагрузки на роутер получает лист с http://antizapret.prostovpn.org.
|
||||
Скрипт автоматически вызывает ipset/get_user.sh и обновляет ipset
|
||||
|
||||
Все варианты рассмотренных скриптов автоматически создают и заполняют ipset.
|
||||
Варианты 2 и 3 дополнительно вызывают вариант 1.
|
||||
|
||||
На роутерах не рекомендуется вызывать эти скрипты чаще раза за 2 суток, поскольку сохранение идет
|
||||
либо во внутреннюю флэш память роутера, либо в случае extroot - на флэшку.
|
||||
В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней
|
||||
флэш памятью, то вы просто убьете роутер.
|
||||
|
||||
Обновление ipset выполняет скрипт ipset/create_ipset.sh
|
||||
Принудительное обновление ipset выполняет скрипт ipset/create_ipset.sh
|
||||
|
||||
Можно внести список доменов в ipset/zapret-hosts-user-ipban.txt. Их ip адреса будут помещены
|
||||
в отдельный ipset "ipban". Он может использоваться для принудительного завертывания всех
|
||||
соединений на прозрачный proxy "redsocks".
|
||||
|
||||
|
||||
Пример установки на debian 7
|
||||
----------------------------
|
||||
@ -207,6 +215,7 @@ ubuntu 12,14
|
||||
Имеется готовый конфиг для upstart : zapret.conf. Его нужно скопировать в /etc/init и настроить по аналогии с debian.
|
||||
Запуск службы : "start zapret"
|
||||
Останов службы : "stop zapret"
|
||||
Ubuntu 12 так же, как и debian 7, оснащено ядром 3.2. См замечание в разделе "debian 7".
|
||||
|
||||
Другие linux системы
|
||||
--------------------
|
||||
|
Loading…
Reference in New Issue
Block a user