Общая информация
Carbon Reductor поддерживает фильтрацию с помощью нескольких списков, что позволяет блокировать разным абонентам разные ресурсы и показывать разные страницы заглушки в зависимости от того из какого списка запрещённых URL был открыт ресурс.
Кастомные списки располагаются в директории:
/app/reductor/cfg/userinfo/hooks
и состоят из списков заблокированных ресурсов, списков абонентских сетей и файла с описанием связки между ресурсами и абонентами, а также страницей на которую они будут редиректиться.
Описания файлов
Разные списки заблокированных URL
В первую очередь нужно перечислить список блокируемых URL.
Создайте папку
mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/
внутри неё создайте файл со списком url (требования к спискам те же, что и для собственных списков провайдера).
название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро.
Пример:
/app/reductor/cfg/userinfo/hooks/custom_url_lists/1
/app/reductor/cfg/userinfo/hooks/custom_url_lists/2
содержимое:
#cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/1
http://боль.кладбище.гроб.рф
http://игил.и.прочие.тренды.рф
http://sorry.for.this.example.com
#cat /app/reductor/cfg/userinfo/hooks/custom_url_lists/2
http://something.very.bad
Разные подсети абонентов
Создайте папку
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
Связывание этих списков и разные страницы редиректа
Далее необходимо описать связь между этими списками в файле
/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