Просмотр Исходного

{toc}


h1. Общая информация

Carbon Reductor поддерживает фильтрацию с помощью нескольких списков, что позволяет блокировать разным абонентам разные ресурсы и показывать разные страницы заглушки в зависимости от того из какого списка запрещённых URL был открыт ресурс.

Кастомные списки располагаются в директории:

{panel}
/app/reductor/cfg/userinfo/hooks
{panel}
и состоят из списков заблокированных ресурсов, списков абонентских сетей и файла с описанием связки между ресурсами и абонентами, а также страницей на которую они будут редиректиться.

h1. Описания файлов


h2. Разные списки заблокированных URL

В первую очередь нужно перечислить список блокируемых URL. 

Создайте папку

{panel}
mkdir -p /app/reductor/cfg/userinfo/hooks/custom_url_lists/
{panel}

внутри неё создайте файл со списком url ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]).

название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро.

Пример:

{panel}
/app/reductor/cfg/userinfo/hooks/custom_url_lists/1
/app/reductor/cfg/userinfo/hooks/custom_url_lists/2
{panel}

содержимое:

{panel}
#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
{panel}

h2. Разные подсети абонентов

Создайте папку

{panel}
mkdir -p /app/reductor/cfg//userinfo/hooks/custom_ipsets
{panel}

внутри неё создайте файл со списком подсетей ([требования к спискам те же, что и для собственных списков провайдера|http://docs.carbonsoft.ru/67404013]).
название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро.

Пример:
{panel}
/app/reductor/cfg/userinfo/hooks/custom_ipsets/1
/app/reductor/cfg/userinfo/hooks/custom_ipsets/2
{panel}

содержимое:
{panel}
#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
{panel}

h2. Связывание этих списков и разные страницы редиректа

Далее необходимо описать связь между этими списками в файле
{panel}
/app/reductor/cfg/userinfo/hooks/custom_bindings
{panel}

Формат файла:
1 колонка - id списка (одноимённо с файлом списка, только цифры. id списка фильтрации по всем ФЗ, минюсту, our.list итд - 0).
2 колонка - id ipset’а
3 колонка - url куда редиректить
4 колонка - комментарий, в правиле показываться будет
разделитель - пробел или tab, комментарии не поддерживаются

h3. Пример содержимого для редиректа части абонентов на другую заглушку:
{panel}
0 1 http://www.patriarchia.ru just_other_block_page
0 -1 http://default.redirect.page/ default
{panel}

h3. Пример содержимого для фильтрации доп. URL для части абонентов:
{panel}
1 1 http://www.patriarchia.ru no_suicide_and_terrorism
2 2 http://somthing.very.good no_something_very_bad
{panel}