mirror of
https://github.com/gSpotx2f/ruantiblock_openwrt.git
synced 2026-05-14 14:40:58 +00:00
Updated
+9
-3
@@ -47,9 +47,13 @@ Ruantiblock - решение для обхода блокировок (при п
|
||||
ruantiblock-fqdn
|
||||
ruantiblock-ip
|
||||
zapret-info-fqdn
|
||||
zapret-info-fqdn-only
|
||||
zapret-info-ip
|
||||
rublacklist-fqdn
|
||||
rublacklist-fqdn-only
|
||||
rublacklist-ip
|
||||
antifilter-fqdn
|
||||
antifilter-fqdn-only
|
||||
antifilter-ip
|
||||
|
||||
Так можно задать в UCI:
|
||||
@@ -57,7 +61,7 @@ Ruantiblock - решение для обхода блокировок (при п
|
||||
uci set ruantiblock.config.bllist_preset="zapret-info-fqdn"
|
||||
uci commit ruantiblock
|
||||
|
||||
По сути, режим обновления блэклиста является комбинацией источника и типа обхода блокировок (`ip`, `fqdn`). Первые два режима обновления блэклиста (`ruantiblock-fqdn`, `ruantiblock-ip`) не требуют установки модуля-парсера (см. далее).
|
||||
По сути, режим обновления блэклиста является комбинацией источника и типа обхода блокировок (`ip`, `fqdn`, `fqdn-only`). Первые два режима обновления блэклиста (`ruantiblock-fqdn`, `ruantiblock-ip`) не требуют установки модуля-парсера (см. далее).
|
||||
|
||||
**Типы обхода блокировок:**
|
||||
|
||||
@@ -67,6 +71,8 @@ Ruantiblock - решение для обхода блокировок (при п
|
||||
|
||||
2. `fqdn` - из блэклиста извлекаются доменные имена (FQDN). Из записей, в которых отсутствует доменное имя, извлекаются IP адреса и CIDR диапазоны. Домены заносятся в конфиг dnsmasq и, далее, dnsmasq формирует временный список nftset по мере обращения к этим доменам, записи добавляются и удаляются динамически на основе DNS-запросов и таймаута. Т.е. домены обрабатывает dnsmasq, а CIDR диапазоны и IP адреса помещаются сразу в nftset. В этом варианте разрешение доменного имени в IP адрес происходит при обращении к заблокированному сайту, следовательно IP адрес сайта всегда будет актуальным (даже если устарел в самом списке блокировок).
|
||||
|
||||
3. `fqdn-only` - то же, что и `fqdn`, но из записей, в которых отсутствует доменное имя, НЕ извлекаются IP адреса и CIDR диапазоны, т.е. извлекаются только домены. Этот вариант может быть полезен, если заблокированные IP адреса и CIDR диапазоны берутся из другого источника через [записи пользователя](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%B2-%D0%B1%D0%BB%D1%8D%D0%BA%D0%BB%D0%B8%D1%81%D1%82%D0%B5).
|
||||
|
||||
**Источники блэклиста:**
|
||||
|
||||
`ruantiblock` - [https://github.com/gSpotx2f/ruantiblock_blacklist](https://github.com/gSpotx2f/ruantiblock_blacklist). Заранее созданные конфиги для nftables и dnsmasq. Загружаются уже готовые файлы, без выполнения каких-либо оптимизаций и обработок. Обновляется раз в сутки. Этот источник даёт блэклист для стандартной конфигурации ruantiblock и ваш роутер не выполняет никакой тяжёлой работы по обработке данных. Включен по умолчанию и не требует установки модуля-парсера.
|
||||
@@ -76,11 +82,11 @@ Ruantiblock - решение для обхода блокировок (при п
|
||||
|
||||
`rublacklist` - [https://rublacklist.net](https://rublacklist.net). Блэклист от Роскомсвободы. В режиме `fqdn`, также, содержит много лишних данных и огромный размер выгрузки, но имеет удобный API. Бывают проблемы с надёжностью (недоступность сайта и пр). Можно использовать в случае недоступности других источников. Обновление из этого источника выполняется довольно долго из-за размера выгрузки.
|
||||
|
||||
`antifilter` - [https://antifilter.download](https://antifilter.download). Этот источник для устройств, которым не хватает оперативной памяти для полных списков блокировок. Доступен только вариант `ip` - оптимизированный список IP адресов (все адреса приведены к маске /24). Очень компактен в размере, но покрывает большое количество лишних IP адресов в диапазонах. Ссылку на файл блэклиста из этого источника можно добавить в [список удалённых записей пользователя](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%B2-%D0%B1%D0%BB%D1%8D%D0%BA%D0%BB%D0%B8%D1%81%D1%82%D0%B5) и получать IP адреса напрямую без установки парсера отключив основной блэклист. Файл имеет простой формат совместимый с форматом файла записей пользователя.
|
||||
`antifilter` - [https://antifilter.download](https://antifilter.download). Довольно надёжный источник, существует много лет. Очень удобный формат в виде простого списка. Также, отсюда можно взять оптимизированный список IP адресов (все адреса приведены к маске /24) для устройств, которым не хватает оперативной памяти для полных списков блокировок (очень компактен в размере, но покрывает большое количество лишних IP адресов в диапазонах). [URL](https://antifilter.download/list/allyouneed.lst) оптимизированного списка можно добавить в [список удалённых записей пользователя](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%B2-%D0%B1%D0%BB%D1%8D%D0%BA%D0%BB%D0%B8%D1%81%D1%82%D0%B5) и получать IP адреса напрямую, без установки парсера, отключив основной блэклист. Файл имеет простой формат совместимый с форматом файла записей пользователя.
|
||||
|
||||
**Модули-парсеры:**
|
||||
|
||||
Установка модуля необходима для самостоятельного формирования списка блокировок силами роутера. Модуль выкачивает данные из источника, выполняет их преобразование (включая оптимизации) в необходимый для работы формат. Модуль требуется для всех источников блэклиста (`zapret-info`, `rublacklist`, `antifilter`), кроме `ruantiblock`, который предоставляет уже готовые и оптимизированные конфиги. Ну и как было отмечено ранее, `antifilter` тоже можно использовать напрямую без парсера через записи пользователя.
|
||||
Установка модуля необходима для самостоятельного формирования списка блокировок силами роутера. Модуль выкачивает данные из источника, выполняет их преобразование (включая оптимизации) в необходимый для работы формат. Модуль требуется для всех источников блэклиста (`zapret-info`, `rublacklist`, `antifilter`), кроме `ruantiblock`, который предоставляет уже готовые и оптимизированные конфиги.
|
||||
|
||||
`/usr/libexec/ruantiblock/ruab_parser.lua` - стандартный модуль, написан на Lua. Работает быстро, когда достаточно свободной оперативной памяти. [Установка](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/Lua%E2%80%91%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C).
|
||||
|
||||
|
||||
+3
-3
@@ -10,9 +10,9 @@
|
||||
|
||||
OpenWrt >= 23.05:
|
||||
|
||||
wget --no-check-certificate -O /tmp/ruantiblock-mod-lua_2.1.8-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/ruantiblock-mod-lua_2.1.8-r1_all.ipk
|
||||
opkg install /tmp/ruantiblock-mod-lua_2.1.8-r1_all.ipk
|
||||
rm /tmp/ruantiblock-mod-lua_2.1.8-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/ruantiblock-mod-lua_2.1.9-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/ruantiblock-mod-lua_2.1.9-r1_all.ipk
|
||||
opkg install /tmp/ruantiblock-mod-lua_2.1.9-r1_all.ipk
|
||||
rm /tmp/ruantiblock-mod-lua_2.1.9-r1_all.ipk
|
||||
|
||||
**4. Включение модуля:**
|
||||
|
||||
|
||||
+3
-3
@@ -9,9 +9,9 @@
|
||||
|
||||
OpenWrt >= 23.05:
|
||||
|
||||
wget --no-check-certificate -O /tmp/ruantiblock-mod-py_2.1.8-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/ruantiblock-mod-py_2.1.8-r1_all.ipk
|
||||
opkg install /tmp/ruantiblock-mod-py_2.1.8-r1_all.ipk
|
||||
rm /tmp/ruantiblock-mod-py_2.1.8-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/ruantiblock-mod-py_2.1.9-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/ruantiblock-mod-py_2.1.9-r1_all.ipk
|
||||
opkg install /tmp/ruantiblock-mod-py_2.1.9-r1_all.ipk
|
||||
rm /tmp/ruantiblock-mod-py_2.1.9-r1_all.ipk
|
||||
|
||||
**3. Включение модуля:**
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
**8. Если возникают проблемы с нехваткой оперативной памяти**
|
||||
|
||||
На девайсах с оперативной памятью в 128Мб и менее может проявляться ошибка нехватки памяти при обновлении блэклиста. Размер блэклиста постоянно растёт, памяти начинает не хватать... Например, при использовании lua-парсера это выглядит как сообщение `Killed`:
|
||||
На девайсах с оперативной памятью в 256Мб и менее может проявляться ошибка нехватки памяти при обновлении блэклиста. Размер блэклиста постоянно растёт, памяти начинает не хватать... Например, при использовании lua-парсера это выглядит как сообщение `Killed`:
|
||||
|
||||
root@OpenWrt:~# /usr/bin/ruantiblock update
|
||||
ruantiblock update...
|
||||
@@ -105,18 +105,7 @@
|
||||
|
||||
Присутствие подобных ошибок или зависаний говорит о наличии проблемы. Во-первых, можно попробовать подключить SWAP-файл (или раздел) на внешнем носителе (конечно, если это возможно на вашем устройстве). Во-вторых, подобрать настройки для оптимизации работы модуля-парсера и сократить количество записей в блэклисте (подробнее [здесь](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%A1%D0%BF%D0%BE%D1%81%D0%BE%D0%B1%D1%8B-%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B8-%D0%B8-%D1%81%D0%BE%D0%BA%D1%80%D0%B0%D1%89%D0%B5%D0%BD%D0%B8%D1%8F-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B5%D0%B9-%D0%B2-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B5-%D0%B1%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BE%D0%BA)). Далее, если подключен внешний носитель ([extroot](https://openwrt.org/docs/guide-user/additional-software/extroot_configuration)), можно попробовать использовать [python-модуль](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/Python%E2%80%91%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C), он стабильнее работает в условиях проблем со свободной памятью. Это не является полным решением проблемы, но позволит немного сократить потребление памяти.
|
||||
|
||||
Следующая конфигурация даёт самый минимальный размер списка блокировок (и требует менее всего памяти):
|
||||
|
||||
uci set ruantiblock.config.nftset_clear_sets="1"
|
||||
uci set ruantiblock.config.bllist_preset="antifilter-ip"
|
||||
uci set ruantiblock.config.bllist_ip_limit="0"
|
||||
uci set ruantiblock.config.bllist_summarize_ip="0"
|
||||
uci set ruantiblock.config.bllist_summarize_cidr="0"
|
||||
uci commit ruantiblock
|
||||
|
||||
Здесь минимальный список IP адресов, приведённых к подсетям /24 (https://antifilter.download/list/allyouneed.lst). Недостаток в том, что в этих диапазонах большое количество не заблокированных адресов, и трафик к ним будет также проходить через прокси. В общем, в случае нехватки оперативной памяти, это возможный вариант...
|
||||
|
||||
Ссылку на список [https://antifilter.download/list/allyouneed.lst](https://antifilter.download/list/allyouneed.lst) также можно добавить в удалённые записи пользователя (формат файла совместим) и не использовать модуль-парсер вообще.
|
||||
Минимальный размер списка блокировок можно получить используя только [записи пользователя](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D0%B8-%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D0%B5%D0%BB%D1%8F-%D0%B2-%D0%B1%D0%BB%D1%8D%D0%BA%D0%BB%D0%B8%D1%81%D1%82%D0%B5), без модуля-парсера. Можно, например, добавить ссылку [https://antifilter.download/list/allyouneed.lst](https://antifilter.download/list/allyouneed.lst) в удалённые записи пользователя (формат файла совместим) для загрузки во время обновления. Этот список содержит IP адреса из реестра приведённые к подсетям /24. Недостаток в том, что в этих диапазонах большое количество не заблокированных адресов, и трафик к ним будет также проходить через прокси. В общем, в случае нехватки оперативной памяти, это возможный вариант...
|
||||
|
||||
Ну и, естественно, можно использовать свои собственные списки заблокированных хостов и решать самостоятельно какое количество записей будет в вашем блэклисте.
|
||||
|
||||
|
||||
@@ -65,22 +65,22 @@
|
||||
|
||||
**2. Установка ruantiblock**
|
||||
|
||||
wget --no-check-certificate -O /tmp/ruantiblock_2.1.8-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/ruantiblock_2.1.8-r1_all.ipk
|
||||
opkg install /tmp/ruantiblock_2.1.8-r1_all.ipk
|
||||
rm /tmp/ruantiblock_2.1.8-r1_all.ipk
|
||||
wget --no-check-certificate -O /tmp/ruantiblock_2.1.9-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/ruantiblock_2.1.9-r1_all.ipk
|
||||
opkg install /tmp/ruantiblock_2.1.9-r1_all.ipk
|
||||
rm /tmp/ruantiblock_2.1.9-r1_all.ipk
|
||||
|
||||
|
||||
**3. Установка luci-app-ruantiblock**
|
||||
|
||||
Приложение для LuCI (веб-интерфейса OpenWrt). [Подробнее тут](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/luci%E2%80%91app%E2%80%91ruantiblock).
|
||||
|
||||
wget --no-check-certificate -O /tmp/luci-app-ruantiblock_2.1.8-r2_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/luci-app-ruantiblock_2.1.8-r2_all.ipk
|
||||
opkg install /tmp/luci-app-ruantiblock_2.1.8-r2_all.ipk
|
||||
wget --no-check-certificate -O /tmp/luci-app-ruantiblock_2.1.9-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/luci-app-ruantiblock_2.1.9-r1_all.ipk
|
||||
opkg install /tmp/luci-app-ruantiblock_2.1.9-r1_all.ipk
|
||||
|
||||
wget --no-check-certificate -O /tmp/luci-i18n-ruantiblock-ru_2.1.8-r2_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/luci-i18n-ruantiblock-ru_2.1.8-r2_all.ipk
|
||||
opkg install /tmp/luci-i18n-ruantiblock-ru_2.1.8-r2_all.ipk
|
||||
wget --no-check-certificate -O /tmp/luci-i18n-ruantiblock-ru_2.1.9-r1_all.ipk https://raw.githubusercontent.com/gSpotx2f/packages-openwrt/master/current/luci-i18n-ruantiblock-ru_2.1.9-r1_all.ipk
|
||||
opkg install /tmp/luci-i18n-ruantiblock-ru_2.1.9-r1_all.ipk
|
||||
|
||||
rm /tmp/luci-app-ruantiblock_2.1.8-r2_all.ipk /tmp/luci-i18n-ruantiblock-ru_2.1.8-r2_all.ipk
|
||||
rm /tmp/luci-app-ruantiblock_2.1.9-r1_all.ipk /tmp/luci-i18n-ruantiblock-ru_2.1.9-r1_all.ipk
|
||||
|
||||
rm -f /tmp/luci-modulecache/* /tmp/luci-indexcache*
|
||||
/etc/init.d/rpcd restart
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Оптимизация и уменьшение количества записей в списке блокировок возможны только для режимов обновления блэклиста использующих полный реестр, т.е. источники `zapret-info` и `rublacklist`. Другие два источника (`antifilter`, `ruantiblock`) предоставляют уже оптимизированный список блокировок и описанные ниже методы оптимизации с ними не работают.
|
||||
Оптимизация и уменьшение количества записей в списке блокировок возможны только для режимов обновления блэклиста использующих полный реестр, т.е. источники `zapret-info`, `rublacklist` и `antifilter`. Источник `ruantiblock` предоставляют уже оптимизированный список блокировок и описанные ниже методы оптимизации с ним не работают.
|
||||
|
||||
Некоторые методы уменьшения количества записей в итоговых конфигах nftables и dnsmasq (в примерах опции UCI):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user