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
@ -506,13 +456,14 @@ MODE=custom
ЕСЛИ СОВСЕМ ВСЕ УЖАСНО С МЕСТОМ : не надо устанавливать дополнительные пакеты через opkg. ЕСЛИ СОВСЕМ ВСЕ УЖАСНО С МЕСТОМ : не надо устанавливать дополнительные пакеты через opkg.
оставьте лишь /opt/zapret/tpws/tpws, /opt/zapret/config, /etc/init.d/zapret, /etc/firewall.zapret оставьте лишь /opt/zapret/tpws/tpws, /opt/zapret/config, /etc/init.d/zapret, /etc/firewall.zapret
используйте MODE=tpws_all или tpws_all_https используйте MODE=tpws_all или tpws_all_https
такой вариант потребует около 100 кб места и полностью статичен. такой вариант потребует около 100 кб места и полностью статичен.
отсутствуют любые загрузки, обновления, изменения файлов. отсутствуют любые загрузки, обновления, изменения файлов.
tpws без ipset использует всего лишь DNAT, который есть по умолчанию 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"