Редиректор для Squid

Изображение пользователя den2007.



Небольшой самописный редиректор для squid, написанный на PERL.
Имеет одну функцию - отфильтровывает запрос, посланный методом GET в кодировке UTF8 и 1251.
Пример работы.
Вводит пользователь запрос в поисковую систему, типа ******, а ему страница левая по вашему выбору.

Работает на Google, Yandex и др. (желательно в браузере включить кодирование строк url в utf8).

Установка.
1. Копируем скрипт в определенную директорию, например /usr/local/bin/,
устанавливаем владельца и группу скрипта такую же как у squid,
обязательно делаем его исполняемым.

2. Создаем файл для хранения образцов плохих выражений в определенной директории,например файл bad в /usr/local/etc/,
устанавливаем владельца и группу скрипта такую же как у squid.
Каждая запись в файле располагается на новой строке.

Пример файла bad
*******
*******

Не пишу конкретнее, Dansguardian иначе заблокирует.

Открываем в текстовом редакторе скрипт и редактируем две строки.

$poisk="/usr/local/etc/bad";
указываем свое местоположение bad. Доп. кавычек не ставим.
$html="http://192.168.4.1/safeinternet.html";
прописываем свою страницу замены, можно адрес школьного сайта поставить.
:-) Доп. кавычек не ставим.

3. Проверяем работу скрипта, запустив его из консоли.
Записываем в bad слово э р о т и к , естественно слитно, символами в нижнем регистре.

На ввод 5 5 5 5, скрипт должен выдать 5 5 5 5.
На ввод строки http://www.google.com/search?q=%D0%AD%D1%80%D0%9E%D1%82%D0%98%D0%BA%D0%90 5 5 5 скрипт должен вернуть адрес заданной вами страницы плюс 5 5 5.

Если проверка удачная, то

4. подключаем скрипт к Squid,
прописав в Squid.conf две строки:
первая указывает где находится программа редиректора.
вторая количество одновременно запущенных процессов редиректора.

(чем больше скорость доступа в Интернет и интенсивнее использование прокси, тем больше их должно быть, иначе при их нехватке squid может повиснуть.)

redirect_program /usr/local/bin/redir.pl
redirect_children 20

5. Перезапускаем Squid для принятия изменений.

PS. Файл bad должен быть записан в кодировке utf-8, если системная локаль другая, то можно использовать ICONV.

Прикрепленный файлРазмер
redir.pl_.txt5.52 кб