mirror of
https://github.com/gSpotx2f/ruantiblock_openwrt.git
synced 2026-05-14 06:30:59 +00:00
Updated
+2
-2
@@ -56,9 +56,9 @@ Ruantiblock - решение для обхода блокировок (при п
|
||||
`ruantiblock` - [https://github.com/gSpotx2f/ruantiblock_blacklist](https://github.com/gSpotx2f/ruantiblock_blacklist). Заранее созданные конфиги для ipset и dnsmasq. Загружаются уже готовые файлы, без выполнения каких-либо оптимизаций и обработок. Обновляется раз в сутки. Этот источник даёт блэклист для стандартной конфигурации ruantiblock и ваш роутер не выполняет никакой тяжёлой работы по обработке данных. Включен по умолчанию и не требует установки модуля-парсера.
|
||||
Можно [организовать собственный источник](https://github.com/gSpotx2f/ruantiblock_blacklist) заранее подготовленных конфигов со своими настройками, которые формируются вне роутера (например, на выделенном сервере или ПК и загружаются на GitHub). Это может быть полезно при наличии нескольких роутеров (использующих данное решение для обхода блокировок), где формирование конфигов ipset и dnsmasq происходит один раз на одной машине, а другие получают уже готовые сформированные конфиги (не выполняя повторно одну и ту же работу).
|
||||
|
||||
`zapret-info` - [https://github.com/zapret-info/z-i](https://github.com/zapret-info/z-i). Чистый реестр от РКН в исходном виде. Содержит много лишних данных (всякие статьи, основания, судебные решения и пр. для каждой записи), что увеличивает размер файла (к тому же в кодировке CP1251). Очень надёжный источник, сбоев практически не бывает, расположен на GitHub (есть зеркала).
|
||||
`zapret-info` - [https://github.com/zapret-info/z-i](https://github.com/zapret-info/z-i). Содержит много лишних данных для каждой записи, что увеличивает размер файла (к тому же в кодировке CP1251). Очень надёжный источник, сбоев практически не бывает, расположен на GitHub (есть зеркала).
|
||||
|
||||
`rublacklist` - [https://rublacklist.net](https://rublacklist.net). Реестр от Роскомсвободы. Имеет удобный API, но иногда бывают проблемы с надёжностью (недоступность сайта и пр).
|
||||
`rublacklist` - [https://rublacklist.net](https://rublacklist.net). Блэклист от Роскомсвободы. В режиме `fqdn`, также, содержит много лишних данных и огромный размер выгрузки, но имеет удобный API. Иногда бывают проблемы с надёжностью (недоступность сайта и пр). Можно использовать в случае недоступности других источников.
|
||||
|
||||
`antifilter` - [https://antifilter.download](https://antifilter.download). Этот источник для устройств, которым не хватает оперативной памяти для полных списков блокировок. Доступен только вариант `ip` - оптимизированный список IP адресов (все адреса приведены к маске /24). Очень компактен в размере, но покрывает большое количество лишних IP адресов в диапазонах.
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Стандартный модуль-парсер, написан на Lua. Необходим для получения и обработки списка блокировок из источников: `zapret-info`, `rublacklist`, `antifilter`.
|
||||
Стандартный модуль-парсер, написан на Lua. Необходим для получения и обработки блэклиста из источников: `zapret-info`, `rublacklist`, `antifilter`.
|
||||
Зависимости: lua, luasocket, luasec, luabitop, iptool-lua. Дополнительно, для преобразования кириллических доменов в punycode: iconv, idn-lua (https://raw.githubusercontent.com/haste/lua-idn/master/idn.lua) или idn (если не доступен idn-lua).
|
||||
|
||||
**2. Установка зависимостей:**
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Дополнительный модуль-парсер, написан на Python3. Более экономно расходует оперативную память и, в целом, работает стабильнее чем Lua. Не использует внешних утилит для преобразования текста (iconv, idn). Предпочтителен в ситуации нехватки оперативной памяти - скорость работы почти такая же как у lua-модуля, но системных ресурсов потребляет меньше, в условиях большого объёма данных...
|
||||
Дополнительный модуль-парсер, написан на Python3. Более экономно расходует оперативную память и, в целом, работает стабильнее чем Lua. Не использует внешних утилит для преобразования текста (iconv, idn). Предпочтителен в ситуации нехватки оперативной памяти - скорость работы ниже чем у lua-модуля, но системных ресурсов потребляет меньше, в условиях большого объёма данных.
|
||||
|
||||
**1. Установка зависимостей:**
|
||||
|
||||
|
||||
@@ -32,14 +32,14 @@
|
||||
**2. После запуска скрипт задаст несколько вопросов по конфигурации:**
|
||||
|
||||
+ Режим прокси: Tor, VPN или прозрачный прокси.
|
||||
+ Выбор списка блокировок: собственный список (только [записи пользователя](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://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)) или весь блэклист полностью.
|
||||
+ Установка luci-app-ruantiblock. Приложение для LuCI (веб-интерфейса OpenWrt). [Подробнее тут](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/luci%E2%80%91app%E2%80%91ruantiblock).
|
||||
|
||||
При выборе Tor конфигурации скрипт устанавливает Tor (если не установлен), скачивает файл `torrc` из репозитория и устанавливает его вместо текущего конфига (старый конфиг бэкапится там же в `/etc/tor`). На конечном этапе добавляется задание для обновления блэклиста в cron: `0 3 */3 * * /usr/bin/ruantiblock update` (скорректируйте под свои требования).
|
||||
|
||||
**3. После установки**
|
||||
|
||||
+ В Tor конфигурации - если ваш провайдер блокирует входные узлы Tor, то необходимо настроить мосты. Далее, пример конфигурации с маскировкой Tor-трафика с помощью утилиты obfs4proxy. Установка obfs4proxy:
|
||||
+ В Tor конфигурации - если у вас недоступны входные узлы Tor, то необходимо настроить мосты. Далее, пример конфигурации с маскировкой Tor-трафика с помощью утилиты obfs4proxy. Установка obfs4proxy:
|
||||
|
||||
opkg install obfs4proxy
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
|
||||
**5. Убедитесь, что корректно разрешаются DNS-имена**
|
||||
|
||||
Провайдеры на своих DNS-серверах подменяют адреса заблокированных сайтов на адрес страницы "заглушки", а использование сторонних серверов часто ограничивают или изменяют сторонний DNS-трафик (DNS-спуфинг). Поэтому для обхода блокировок необходима замена провайдерского DNS-сервера на сторонний и обязательное применение DNS-шифрования (dnscrypt-proxy, [https-dns-proxy](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-https%E2%80%91dns%E2%80%91proxy) и пр.). Очень желательно настроить [перехват стороннего DNS-трафика](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%B2%D0%B0%D1%82-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B5%D0%B3%D0%BE-DNS-%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0) хостов локальной сети.
|
||||
Провайдеры на своих DNS-серверах часто ограничивают или изменяют сторонний DNS-трафик (DNS-спуфинг). Поэтому необходима замена провайдерского DNS-сервера на сторонний и обязательное применение DNS-шифрования (dnscrypt-proxy, [https-dns-proxy](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0-%D0%B8-%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-https%E2%80%91dns%E2%80%91proxy) и пр.). Очень желательно настроить [перехват стороннего DNS-трафика](https://github.com/gSpotx2f/ruantiblock_openwrt/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%B2%D0%B0%D1%82-%D1%81%D1%82%D0%BE%D1%80%D0%BE%D0%BD%D0%BD%D0%B5%D0%B3%D0%BE-DNS-%D1%82%D1%80%D0%B0%D1%84%D0%B8%D0%BA%D0%B0) хостов локальной сети (в последних версиях https-dns-proxy такая опция уже встроена).
|
||||
|
||||
|
||||
**6. Проверьте попадает ли трафик к заблокированным сайтам в цепочку ruantiblock в iptables**
|
||||
@@ -92,7 +92,7 @@
|
||||
|
||||
**8. Если возникают проблемы с нехваткой оперативной памяти**
|
||||
|
||||
На девайсах с оперативной памятью в 128Мб и менее может проявляться ошибка нехватки памяти при обновлении блэклиста. Реестр постоянно растёт, памяти начинает не хватать... Например, при использовании lua-парсера это выглядит как сообщение `Killed`:
|
||||
На девайсах с оперативной памятью в 128Мб и менее может проявляться ошибка нехватки памяти при обновлении блэклиста. Размер блэклиста постоянно растёт, памяти начинает не хватать... Например, при использовании lua-парсера это выглядит как сообщение `Killed`:
|
||||
|
||||
root@OpenWrt:~# /usr/bin/ruantiblock update
|
||||
ruantiblock update...
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
_Получить IP адрес локального интерфейса можно следующей командой: `uci get network.lan.ipaddr`._
|
||||
|
||||
+ Если ваш провайдер блокирует входные узлы Tor, то необходимо настроить мосты. Далее, пример конфигурации с маскировкой Tor-трафика с помощью утилиты obfs4proxy. Установка obfs4proxy:
|
||||
+ Если у вас недоступны входные узлы Tor, то необходимо настроить мосты. Далее, пример конфигурации с маскировкой Tor-трафика с помощью утилиты obfs4proxy. Установка obfs4proxy:
|
||||
|
||||
opkg install obfs4proxy
|
||||
|
||||
@@ -153,7 +153,7 @@
|
||||
|
||||
**6. Выбор списка блокировок**
|
||||
|
||||
По умолчанию, используется пустой список (только [записи пользователя](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://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)), который вы можете формировать самостоятельно добавляя лишь необходимые вам хосты. Для включения полного обхода блокировок необходимо задать соответствующий режим обновления блэклиста:
|
||||
|
||||
uci set ruantiblock.config.bllist_preset="ruantiblock-fqdn"
|
||||
uci commit ruantiblock
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
|
||||
_Получить IP адрес локального интерфейса можно следующей командой: `uci get network.lan.ipaddr`._
|
||||
|
||||
+ Если ваш провайдер блокирует входные узлы Tor, то необходимо настроить мосты. Далее, пример конфигурации с маскировкой Tor-трафика с помощью утилиты obfs4proxy. Установка obfs4proxy:
|
||||
+ Если у вас недоступны входные узлы Tor, то необходимо настроить мосты. Далее, пример конфигурации с маскировкой Tor-трафика с помощью утилиты obfs4proxy. Установка obfs4proxy:
|
||||
|
||||
opkg install obfs4proxy
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
|
||||
**6. Выбор списка блокировок**
|
||||
|
||||
По умолчанию, используется пустой список (только [записи пользователя](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://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)), который вы можете формировать самостоятельно добавляя лишь необходимые вам хосты. Для включения полного обхода блокировок необходимо задать соответствующий режим обновления блэклиста:
|
||||
|
||||
uci set ruantiblock.config.bllist_preset="ruantiblock-fqdn"
|
||||
uci commit ruantiblock
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
или
|
||||
uci set ruantiblock.config.bllist_preset="antifilter-ip"
|
||||
|
||||
в совокупности с методом оптимизации списка ip-адресов (п.2). В этом случае, dnsmasq не участвует в обходе блокировок, а в ipset будет добавляться оптимизированный список всех ip-адресов из реестра. Такая конфигурация приведёт к избыточному использованию VPN-соединения, но позволит иcключить из схемы dnsmasq, т.е. в этой конфигурации нет зависимости от разрешения имён и службы DNS (в контексте именно обхода блокировок).
|
||||
в совокупности с методом оптимизации списка ip-адресов (п.2). В этом случае, в ipset будет добавляться оптимизированный список всех ip-адресов из блэклиста. Такая конфигурация приведёт к избыточному использованию VPN-соединения, но позволит иcключить из схемы разрешение имён DNS для записей блэклиста (пользовательские FQDN записи всё-равно будут использовать DNS).
|
||||
|
||||
**6.** Пример комбинации разных оптимизаций списка блокировок:
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
uci set ruantiblock.config.bllist_summarize_cidr="1"
|
||||
uci commit ruantiblock
|
||||
|
||||
Здесь обновление блэклиста выполняется в режиме `ip` (без применения dnsmasq), включена группировка и суммаризация IP адресов. После применения настроек нужно обновить блэклист для получения результата:
|
||||
Здесь обновление блэклиста выполняется в режиме `ip`, включена группировка и суммаризация IP адресов. После применения настроек нужно обновить блэклист для получения результата:
|
||||
|
||||
/usr/bin/ruantiblock update
|
||||
|
||||
|
||||
Reference in New Issue
Block a user