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

{toc}


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

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

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

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

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


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

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

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

{code}
mkdir -p /usr/local/Reductor/userinfo/hooks/custom_url_lists/
{code}
внутри неё создайте файл со списком url ([требования к спискам те же, что и для собственных списков провайдера|Свои списки. Черные списки. Белые списки]).

*Важно*: эти списки не обрабатываются системой обработки списков и загружаются как есть. Если в них будут ошибки - это может привести к неработоспособности системы фильтрации. Также списки должны быть отсортированы с помощью утилиты sort.sh, например таким образом:

{code}
/usr/local/Reductor/bin/sort.sh /usr/local/Reductor/userinfo/hooks/custom_url_lists/1
{code}
название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро.

Пример:

{code}
/usr/local/Reductor/userinfo/hooks/custom_url_lists/1
/usr/local/Reductor/userinfo/hooks/custom_url_lists/2
{code}

содержимое:

{code}
# cat /usr/local/Reductor/userinfo/hooks/custom_url_lists/1
http://боль.кладбище.гроб.рф
http://игил.и.прочие.тренды.рф
http://sorry.for.this.example.com
# cat /usr/local/Reductor/userinfo/hooks/custom_url_lists/2
http://something.very.bad
{code}

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

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

{code}
mkdir -p /usr/local/Reductor/userinfo/hooks/custom_ipsets
{code}
внутри неё создайте файл со списком подсетей ([требования к спискам те же, что и для собственных списков провайдера|Свои списки. Черные списки. Белые списки]).
название файла должно состоять из номера списка (без расширения), который будет использоваться в качестве его идентификатора при создании правила и загрузки списка в ядро.

Пример:
{code}
/usr/local/Reductor/userinfo/hooks/custom_ipsets/1
/usr/local/Reductor/userinfo/hooks/custom_ipsets/2
{code}

содержимое:
{code}
# cat /usr/local/Reductor/userinfo/hooks/custom_ipsets/1
192.168.3.0/24
10.30.0.0/16
# cat /usr/local/Reductor/userinfo/hooks/custom_ipsets/2
196.168.4.0/24
{code}

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

Далее необходимо описать связь между этими списками в файле
{code}
/usr/local/Reductor/userinfo/hooks/custom_bindings
{code}

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

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

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

h1. Применение

{code}
/usr/local/Reductor/bin/update.sh
{code}Обязательно проверяйте, что при добавлении в списки URL не возникает проблем.

Если проблемы возникают - восстановите содержимое списков на предыдущее состояние и запустите update.sh заново.

Если это не помогает - временно переместите списки, например в /root/ и свяжитесь с технической поддержкой.