From b1fb0b64bbf4bb8c5eba506c9a85d006c05e6f53 Mon Sep 17 00:00:00 2001 From: gSpot Date: Thu, 13 Nov 2025 18:16:16 +0300 Subject: [PATCH] Updated --- Home.md | 12 +++++++++--- Lua‑модуль.md | 6 +++--- Python‑модуль.md | 6 +++--- Если-после-установки-возникли-проблемы....md | 15 ++------------- Самостоятельная-установка-и-настройка.md | 16 ++++++++-------- ...ации-и-сокращения-количества-записей-в-списке-блокировок.md | 2 +- 6 files changed, 26 insertions(+), 31 deletions(-) diff --git a/Home.md b/Home.md index b39c095..96cb065 100644 --- a/Home.md +++ b/Home.md @@ -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). diff --git a/Lua‑модуль.md b/Lua‑модуль.md index 9eb6d6b..16bf84c 100644 --- a/Lua‑модуль.md +++ b/Lua‑модуль.md @@ -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. Включение модуля:** diff --git a/Python‑модуль.md b/Python‑модуль.md index 9c0be19..5d5b07a 100644 --- a/Python‑модуль.md +++ b/Python‑модуль.md @@ -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. Включение модуля:** diff --git a/Если-после-установки-возникли-проблемы....md b/Если-после-установки-возникли-проблемы....md index 74d271f..58d1edc 100644 --- a/Если-после-установки-возникли-проблемы....md +++ b/Если-после-установки-возникли-проблемы....md @@ -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. Недостаток в том, что в этих диапазонах большое количество не заблокированных адресов, и трафик к ним будет также проходить через прокси. В общем, в случае нехватки оперативной памяти, это возможный вариант... Ну и, естественно, можно использовать свои собственные списки заблокированных хостов и решать самостоятельно какое количество записей будет в вашем блэклисте. diff --git a/Самостоятельная-установка-и-настройка.md b/Самостоятельная-установка-и-настройка.md index 4714976..42ec994 100644 --- a/Самостоятельная-установка-и-настройка.md +++ b/Самостоятельная-установка-и-настройка.md @@ -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 diff --git a/Способы-оптимизации-и-сокращения-количества-записей-в-списке-блокировок.md b/Способы-оптимизации-и-сокращения-количества-записей-в-списке-блокировок.md index 5c3f1cd..deb1908 100644 --- a/Способы-оптимизации-и-сокращения-количества-записей-в-списке-блокировок.md +++ b/Способы-оптимизации-и-сокращения-количества-записей-в-списке-блокировок.md @@ -1,4 +1,4 @@ -Оптимизация и уменьшение количества записей в списке блокировок возможны только для режимов обновления блэклиста использующих полный реестр, т.е. источники `zapret-info` и `rublacklist`. Другие два источника (`antifilter`, `ruantiblock`) предоставляют уже оптимизированный список блокировок и описанные ниже методы оптимизации с ними не работают. +Оптимизация и уменьшение количества записей в списке блокировок возможны только для режимов обновления блэклиста использующих полный реестр, т.е. источники `zapret-info`, `rublacklist` и `antifilter`. Источник `ruantiblock` предоставляют уже оптимизированный список блокировок и описанные ниже методы оптимизации с ним не работают. Некоторые методы уменьшения количества записей в итоговых конфигах nftables и dnsmasq (в примерах опции UCI):