Carbon Reductor позволяет блокировать разным абонентам разные ресурсы и показывать разные страницы заглушки в зависимости от списка запрещённых URL к которому принадлежит ресурс.
Поддерживаются списки URL и списки доменов.
Обобщённое устройство дополнительных списков
Для настройки дополнительных списков нужно три "компонента":
- Файл со списком заблокированных ресурсов, описывающий категорию ресурсов
- Файл со списком IP сетей, описывающий категорию абонентов
- Файл со списком сопоставлений, в котором категории ресурсов привязываются к категориям абонентов.
Ко всем этим файлам относятся те же самые требования, что и к обычным пользовательским спискам (в списках URL должны быть HTTP-URL, в списке доменов - домены, в списке IP - IPv4 адреса).
Все эти файлы располагаются в директори.
/app/reductor/cfg/userinfo/hooks
При изменении файла сопоставлений и добавлении новых URL/доменов (например при первичной настройке) требуются полная обработка списков перезапуск службы /app/reductor.
Рекомендуем проверить фильтрацию URL/доменов для абонента входящего в категорию для которой фильтрация предполагается и для абонента вне таких групп до (не должно работать) и после (должно заработать) настройки.
chroot /app/reductor/ /usr/local/Reductor/bin/update.sh /app/reductor/service restart
Настройка дополнительных списков URL
Категории URL
Создайте папку для категорий URL
mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/
внутри неё создайте файл категории URL со списком URL (требования к спискам те же, что и для собственных списков провайдера).
название файла должно состоять из номера категории (без расширения), например 1, 2, 3 или 153.
Примеры
# cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/1 http://test1.category1.example.com/index.html http://test2.category1.example.com/bad-things-in-internet.html # cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/2 http://test3.category2.example.com/one-more-bad-thing.php?param=1 http://test4.category2.example.com
Категории абонентов
123
Связь категорий абонентов и URL
123
Настройка дополнительных списков доменов
Категории доменов
Создайте папку для категорий доменов
mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/
внутри неё создайте файл категории доменов со списком доменов (требования к спискам те же, что и для собственных списков провайдера).
название файла должно состоять из номера категории (без расширения), например 1, 2, 3 или 153.
Примеры
# cat /app/reductor/cfg/userinfo/hooks/custom_domains/1 test1.category1.example.com test2.category1.example.com # cat /app/reductor/cfg/userinfo/hooks/custom_domains/2 test3.category2.example.com test4.category2.example.com
Категории абонентов
123
Связь категорий абонентов и URL
123
Предыдущая версия документации
Разные списки заблокированных Domain
Нужно перечислить список блокируемых domain.
Создайте папку
mkdir -p /app/reductor/cfg/userinfo/hooks/custom_domains/
Дальше по аналогии с URL, создайте списки с нужными ресурсами.
Разные подсети абонентов
Создайте папку
mkdir -p /app/reductor/cfg//userinfo/hooks/custom_ipsets
внутри неё создайте файл со списком подсетей (требования к спискам те же, что и для собственных списков провайдера).
название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро.
Пример:
/app/reductor/cfg/userinfo/hooks/custom_ipsets/1
/app/reductor/cfg/userinfo/hooks/custom_ipsets/2
содержимое:
#cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/1
192.168.3.0/24
10.30.0.0/16
#cat /app/reductor/cfg/userinfo/hooks/custom_ipsets/2
196.168.4.0/24
Связывание этих списков и разные страницы редиректа
Далее необходимо описать связь между этими списками в файле.
Для URL:
/app/reductor/cfg/userinfo/hooks/custom_bindings
Формат файла:
1 колонка - id списка (одноимённо с файлом списка, только цифры. id списка фильтрации по всем ФЗ, минюсту, our.list итд - 0).
2 колонка - id ipset’а
3 колонка - url куда редиректить
4 колонка - комментарий, в правиле показываться будет
разделитель - пробел или tab, комментарии не поддерживаются
Пример содержимого для редиректа части абонентов на другую заглушку:
0 1 http://www.patriarchia.ru just_other_block_page
0 -1 http://default.redirect.page/ default
Пример содержимого для фильтрации доп. URL для части абонентов:
1 1 http://www.patriarchia.ru no_suicide_and_terrorism
2 2 http://somthing.very.good no_something_very_bad
Для Domain:
/app/reductor/cfg/userinfo/hooks/custom_bindings_dns
Формат файла:
1 колонка - id списка (одноимённо с файлом списка, только цифры. id списка фильтрации по всем ФЗ, минюсту, our.list итд - 0).
2 колонка - id ipset’а
3 колонка - IP куда редиректить
4 колонка - Статично прописать "with_subdomains"
5 колонка - Вид списка "black"
6 колонка - комментарий, в правиле показываться будет
разделитель - пробел или tab, комментарии не поддерживаются
Пример содержимого для редиректа абонентов на заглушку:
1 1 192.168.1.100 with_subdomains black content_filter