По умолчанию reproxy при запуске начинает слушать порт 5555 на 127.0.0.1.
Вы можете задать другой адрес и порт, указав их при запуске.
Например: reproxy 10.10.2.15 8080
- если вы запустили reproxy, а он через секунду закрылся - откройте лог и посмотрите, что случилось.
- если вы запускаете reproxy из windows, то пустое черное окошко cmd - это нормально, т.к. все сообщения идут в лог файл reproxy.log.
Файлы с правилами фильтрации в каталоге filters должны называться также, как имя домена, трафик на/с которого вы хотите обрабатывать.
Каждый файл в filters может состоять из одной или нескольких секций с разными фильтрами.
Кодировка файлов - utf8, параметры, начинающиеся с букв re_, являются не обычным текстом, а регулярными выражениями (http://ru.wikipedia.org/wiki/Regex)
Название секции - произвольная строка в квадратных скобках.
Пример: [mail.ru]
Каждая секция содержит параметры и их значения в виде:
имя_параметра=значение параметра
Параметры бывают следующими:
encode - кодировка страницы: utf8, cp1251. Необходимо указывать, если в фильтрах используется не английский язык (т.е. очень часто).
Пример: encode=utf8
params_dump - флаг сохранения переданных от клиента GET и POST параметров в отдельный файл в папку data. Имя файла формируется как "дата_время_ip-адрес-клиента".
1 - сохранять, 0 - не сохранять, по умолчанию 0.
Пример: params_dump=1
re_url - регулярное выражение для включения фильтрации нужных страниц из домена по URL из запроса пользователя. Если параметр не задан - фильтры из этой секции не сработают.Пример: re_url=^/cgi-bin
param - фильтры по параметрам GET запроса пользователя.
Несколько фильтров (что-то),(что-то) склеиваются логическим "И".
Значения внутри фильтра склеиваются логическим "ИЛИ":
(имя_параметра_1:значение_1|значение_2|значение_3...),(имя_параметра_2:значение_1|значение_2...)...
Параметр работает только при наличии re_url
Пример: param=(text:окна|окно|пластиковые окна|купить окно),(lr:242)
re_beginN - для поиска текста ДО начала заменяемого фрагмента. N - число от 1 до 100
Пример: re_begin4=<div class="b-title"><h1>
re_endN - для поиска текста ПОСЛЕ конца заменяемого фрагмента. N - число от 1 до 100
Пример: re_end4=</h1></div>
Весь текст, стоящий ПОСЛЕ завершения beginN и ДО начала endN заменяется на значение из replaceN
replaceN - простой текст, значение для подстановки. N - число от 1 до 100
Пример: replace3=Превед!!!
Если задан параметр re_beginN, то параметры re_endN и replaceN будут являться обязательными.re_targetN - регулярное выражение, которое будет целиком заменяться на значение из replaceN при обнаружение в коде страницы сайта
Пример: re_target3=<h1>Google</h1>
replace_countN - необязательный параметр, задает сколько раз будут произведена замена фрагмента. Если replace_count не задан, будут заменяться все найденные фрагменты. N - число от 1 до 100.
Пример: replace_count2=3
Поиск и замена нужного фрагмента на загружаемой странице может проводится двумя способами:- указанием re_beginN, re_endN, replaceN (и, если нужно, replace_countN)
- указанием re_targetN, replaceN (и, если нужно, replace_countN)
В одном файле для одного домена можно указать несколько секций, фильтры в которых будут выполняться независимо друг от друга.
Нормально так намутили ) Регулярки полностью поддерживает или урезаный вариант?
ОтветитьУдалитьПолностью. Скрипт на питоне, там стандартный модуль re для регулярных выражений.
ОтветитьУдалитьбыстро работает??
ОтветитьУдалитьВполне быстро. Задержка на самом скрипте менее 300 миллисекунд + время на соединение с вашим сервером. Реально в среднем время загрузки сайтов увеличивается на 1-1,5 секунды.
ОтветитьУдалить