get_config.sh : download list from config

This commit is contained in:
bolvan 2019-05-06 19:43:10 +03:00
parent 743f9e5111
commit 1e2571ac8b
4 changed files with 32 additions and 71 deletions

2
config
View File

@ -21,7 +21,7 @@ TPWS_OPT_HTTPS="--split-pos=3"
#SLAVE_ETH=eth0 #SLAVE_ETH=eth0
# for install_easy select which init script will be used to get ip or host list # select which init script will be used to get ip or host list
# possible value : get_user.sh get_antizapret.sh get_combined.sh get_reestr.sh get_hostlist.sh # possible value : get_user.sh get_antizapret.sh get_combined.sh get_reestr.sh get_hostlist.sh
# comment if not required # comment if not required
GETLIST="get_antizapret.sh" GETLIST="get_antizapret.sh"

View File

@ -158,6 +158,9 @@ get_reestr.sh может использовать мультипоточный
Все варианты рассмотренных скриптов автоматически создают и заполняют ipset. Все варианты рассмотренных скриптов автоматически создают и заполняют ipset.
Варианты 2-4 дополнительно вызывают вариант 1. Варианты 2-4 дополнительно вызывают вариант 1.
5) ipset/get_config.sh. этот скрипт вызывает то, что прописано в переменной GETLIST из файла config
Если переменная не определена, то никаких действий не выполняется.
На роутерах не рекомендуется вызывать эти скрипты чаще раза за 2 суток, поскольку сохранение идет На роутерах не рекомендуется вызывать эти скрипты чаще раза за 2 суток, поскольку сохранение идет
либо во внутреннюю флэш память роутера, либо в случае extroot - на флэшку. либо во внутреннюю флэш память роутера, либо в случае extroot - на флэшку.
В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней В обоих случаях слишком частая запись может убить флэшку, но если это произойдет с внутренней
@ -205,7 +208,7 @@ tpws должен запускаться без фильтрации по ipset.
Выбор параметров Выбор параметров
---------------- ----------------
Файл /opt/zapret/config используется различными компонентами системы и содержит основные настройки. Файл /opt/zapret/config используется различными компонентами системы и содержит основные настройки.
Его нужно просмотреть и при необходимости отредактировать. Его нужно просмотреть и при необходимости отредактировать.
Выберите MODE : Выберите MODE :
@ -231,8 +234,9 @@ TPWS_OPT_HTTPS="--split-pos=3"
название внутреннего сетевого интерфейса (LAN). название внутреннего сетевого интерфейса (LAN).
Параметр GETLIST указывает инсталятору install_easy.sh какой скрипт дергать Параметр GETLIST указывает инсталятору install_easy.sh какой скрипт дергать
для обновления списка заблокированных ip или хостов. для обновления списка заблокированных ip или хостов. Он же вносится в crontab.
Поместите сюда название скрипта, который будете использовать для обновления листов.
Если не нужно, то параметр следует закомментировать.
Пример установки на debian-подобную систему Пример установки на debian-подобную систему
------------------------------------------- -------------------------------------------
@ -265,41 +269,14 @@ TPWS_OPT_HTTPS="--split-pos=3"
Включить автозапуск службы : Включить автозапуск службы :
systemctl enable zapret systemctl enable zapret
В зависимости от выбранного MODE : Удалить старые листы, если они были созданы ранее :
rm /opt/zapret/ipset/zapret-ip.txt /opt/zapret/ipset/zapret-ip-user.txt /opt/zapret/ipset/zapret-ip-ipban.txt /opt/zapret/ipset/zapret-ip-user-ipban.txt /opt/zapret/ipset/zapret-hosts.txt
MODE содержит "ipset" :
Удалить старые ip листы, если они были созданы ранее :
rm /opt/zapret/ipset/zapret-ip.txt /opt/zapret/ipset/zapret-ip-user.txt /opt/zapret/ipset/zapret-ip-ipban.txt /opt/zapret/ipset/zapret-ip-user-ipban.txt
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены. По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
Выбрать каким скриптом из перечисленных будем получать список ip заблокированных адресов : Выполнить скрипт обновления листа :
/opt/zapret/ipset/get_user.sh /opt/zapret/ipset/get_config.sh
/opt/zapret/ipset/get_antizapret.sh
/opt/zapret/ipset/get_combined.sh
/opt/zapret/ipset/get_reestr.sh
Выполнить этот скрипт первый раз вручную для начального заполнения списка.
Зашедулить задание обновления листа : Зашедулить задание обновления листа :
crontab -e crontab -e
Создать строчку "0 12 * * */2 <выбранный скрипт>" Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_config.sh"
Например :
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_antizapret.sh"
MODE содержит "hostlist" :
Удалить список доменов РКН, если он уже есть :
rm /opt/zapret/ipset/zapret-hosts.txt
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены
ЕСЛИ вы хотите использовать список заблокированных доменов РКН:
Выполнить :
/opt/zapret/ipset/get_hostlist.sh
Зашедулить задание обновления листа :
crontab -e
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_hostlist.sh"
ИНАЧЕ будет использоваться только zapret-hosts-user.txt
MODE=custom
Сами должны знать что делать
Иные MODE :
Ничего делать не нужно
Запустить службу : Запустить службу :
systemctl start zapret systemctl start zapret
@ -440,47 +417,20 @@ ipset можно выкинуть, если не будем пользовать
Настроить параметры согласно разделу "Выбор параметров". Настроить параметры согласно разделу "Выбор параметров".
В зависимости от выбранного MODE : Удалить старые листы, если они были созданы ранее :
rm /opt/zapret/ipset/zapret-ip.txt /opt/zapret/ipset/zapret-ip-user.txt /opt/zapret/ipset/zapret-ip-ipban.txt /opt/zapret/ipset/zapret-ip-user-ipban.txt /opt/zapret/ipset/zapret-hosts.txt
MODE содержит "ipset" :
Удалить старые ip листы, если они были созданы ранее :
rm /opt/zapret/ipset/zapret-ip.txt /opt/zapret/ipset/zapret-ip-user.txt /opt/zapret/ipset/zapret-ip-ipban.txt /opt/zapret/ipset/zapret-ip-user-ipban.txt
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены. По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены.
Выбрать каким скриптом из перечисленных будем получать список ip заблокированных адресов : Выполнить скрипт обновления листа :
/opt/zapret/ipset/get_user.sh /opt/zapret/ipset/get_config.sh
/opt/zapret/ipset/get_antizapret.sh
/opt/zapret/ipset/get_combined.sh
/opt/zapret/ipset/get_reestr.sh
Выполнить этот скрипт первый раз вручную для начального заполнения списка.
Зашедулить задание обновления листа : Зашедулить задание обновления листа :
crontab -e crontab -e
Создать строчку "0 12 * * */2 <выбранный скрипт>" Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_config.sh"
Например :
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_antizapret.sh"
MODE содержит "hostlist" :
Удалить список доменов РКН, если он уже есть :
rm /opt/zapret/ipset/zapret-hosts.txt
По желанию прописать в /opt/zapret/ipset/zapret-hosts-user.txt свои домены
ЕСЛИ вы хотите использовать список заблокированных доменов РКН:
Выполнить :
/opt/zapret/ipset/get_hostlist.sh
Зашедулить задание обновления листа :
crontab -e
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_hostlist.sh"
ИНАЧЕ будет использоваться только zapret-hosts-user.txt
MODE=custom
Сами должны знать что делать
Иные MODE :
Ничего делать не нужно
Включить автозапуск службы и запустить ее : Включить автозапуск службы и запустить ее :
/etc/init.d/zapret enable /etc/init.d/zapret enable
/etc/init.d/zapret start /etc/init.d/zapret start
В зависимости от выбранного в инит скрипте MODE скопировать нужный файл настроек фаервола : В зависимости от выбранного в файле config MODE скопировать нужный файл настроек фаервола :
cp /opt/zapret/init.d/openwrt/firewall.zapret.$MODE /etc/firewall.zapret cp /opt/zapret/init.d/openwrt/firewall.zapret.$MODE /etc/firewall.zapret
Например : Например :
cp /opt/zapret/init.d/openwrt/firewall.zapret.tpws_ipset_https /etc/firewall.zapret cp /opt/zapret/init.d/openwrt/firewall.zapret.tpws_ipset_https /etc/firewall.zapret
@ -513,6 +463,7 @@ tpws без ipset использует всего лишь DNAT, который
СОВЕТ : Покупайте только роутеры с USB. В USB можно воткнуть флэшку и вынести на нее корневую файловую систему СОВЕТ : Покупайте только роутеры с USB. В USB можно воткнуть флэшку и вынести на нее корневую файловую систему
или использовать ее в качестве оверлея. Не надо мучать себя, запихивая незапихиваемое в 8 мб встроенной флэшки. или использовать ее в качестве оверлея. Не надо мучать себя, запихивая незапихиваемое в 8 мб встроенной флэшки.
Для комфортной работы с zapret нужен роутер с 16 Mb встроенной памяти или USB разъемом и 64 (а лучше 128) Mb RAM. Для комфортной работы с zapret нужен роутер с 16 Mb встроенной памяти или USB разъемом и 64 (а лучше 128) Mb RAM.
Списки РКН растут, скоро уже и 16 Mb не будет хватать (если уже не).
Простая установка на openwrt Простая установка на openwrt

View File

@ -12,7 +12,7 @@ ZAPRET_CONFIG=$EXEDIR/config
SYSTEMD_SYSV_GENERATOR=/lib/systemd/system-generators/systemd-sysv-generator SYSTEMD_SYSV_GENERATOR=/lib/systemd/system-generators/systemd-sysv-generator
SYSTEMD_SYSV_GENERATOR2=/usr$SYSTEMD_SYSV_GENERATOR SYSTEMD_SYSV_GENERATOR2=/usr$SYSTEMD_SYSV_GENERATOR
[ -n "$GETLIST" ] && GET_LIST="$EXEDIR/ipset/$GETLIST" GET_LIST="$EXEDIR/ipset/get_config.sh"
GET_LIST_PREFIX=/ipset/get_ GET_LIST_PREFIX=/ipset/get_
exists() exists()

10
ipset/get_config.sh Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
# run script specified in config
SCRIPT=$(readlink -f $0)
EXEDIR=$(dirname $SCRIPT)
. "$EXEDIR/../config"
[ -z "$GETLIST" ] && return
[ -x "$EXEDIR/$GETLIST" ] && "$EXEDIR/$GETLIST"