Proxomitron | |
---|---|
Тип | Прокси-сервер |
Разработчик | Scott R. Lemmon |
Операционная система | Windows |
Последняя версия | 4.5j (01.06.2003) |
Лицензия | Freeware |
Сайт | proxomitron.info |
Proxomitron — бесплатная программа с закрытым кодом, универсальный фильтр для интернет-страниц, технически реализованный в качестве прокси-сервера. Основное его назначение — уничтожение всевозможных видов интернет-рекламы (в частности, баннеров) и блокировка всплывающих окон. Но этим возможности программы не ограничиваются: изменить на странице можно всё «до последнего тега», что делает его универсальным инструментом для управления содержимым страниц. Например, можно добавить недостающие возможности, встраивая скрипты или обойти различные ограничения и защиты на веб-сайтах.
Редактирование страниц («фильтрация») происходит на основе правил («фильтров»), построенных с помощью собственного языка регулярных выражений[1] и функций[2], предназначенных для работы с HTML. Фильтры могут быть 2 типов: для текста страницы и для HTTP-заголовков. Фильтры для текста — двухуровневые: с помощью более простого выражения выбираются фрагменты текста (обычно тег или группа тегов), которые затем проверяются основным кодом фильтра.
В программе не используется громоздкий, хотя универсальный и широко распространённый PCRE. Вместо этого автор создал свой язык, упрощённый и приспособленный для использования именно для работы с текстом веб-страниц.[1] Благодаря этому создавать и читать фильтры Proxomitron'а намного проще, чем синтаксически сложные конструкции PCRE.
Сравнения в Proxomitron'е нечувствительны к регистру, что тоже сделано для удобства пользователя. Однако при замене русского текста регистрозависимость всё же есть, хотя это напрямую и не относится к языку разметки HTML — с ним-то это работает отлично.
В Proxomitron'е есть возможность использования префиксов URL вида http://prefix..ru.wikipedia.org. Существует десяток команд-префиксов, которые обычно используются для отладки. С помощью префиксов, например, можно временно отключать фильтрацию, получать исходный код страницы с подсветкой синтаксиса или его же с отладочным выводом фильтров. При этом можно использовать несколько префиксов одновременно.
В программе реализованы достаточно удобные средства для отладки фильтров. В первую очередь, в окне редактирования есть возможность проверки — при нажатии кнопки выдаётся окно с двумя текстовыми полями. В верхнее можно вставить кусок HTML-кода с интересующей страницы, в нижнем при этом будет отображён результат, код после прохода данного фильтра.
Для проверки совпадения фильтра по маске адреса используется то же окно, но теперь в первой строке верхнего поля нужно вставить URL, в нижнее будет выдан результат совпадения.
Наконец, удобно тестировать фильтры на «живых» веб-страницах с использованием URL-префикса dbug, наглядно выдающего результат применения фильтров на текст страницы.
Все эти возможности, как и остальные, хорошо описаны во встроенном в программу руководстве пользователя.
Proxomitron поддерживает внешние прокси. Хотя поддерживаются только HTTP-прокси, для использования его с Socks-прокси достаточно установить дополнительный «соксификатор» типа SocksCap, FreeCap и т.д.
В правилах Proxomitron'а можно гибко задать использование прокси-серверов. Например, настроить использование внешнего прокси только для некоторого «чёрного» списка сайтов или наоборот, использовать на всех сайтах, кроме доверенных из «белого» списка. Можно установить, какой прокси на каком сайте будет использоваться — например, для российских сайтов - российские сервера, а для иностранных - американские. Вдобавок, всегда есть возможность с помощью фильтров отдавать разным сайтам, например, разные заголовки HTTP: Useragent, поддерживаемые браузером языки, используемая операционная система и так далее — заметный шаг к анонимности.
Благодаря своим широким возможностям Proxomitron иногда используется в составе некоторых проектов в качестве одного из звеньев цепочки локальных прокси-серверов. Например, он применяется в нескольких «связках» Tor.
Проект с конца 1990-x годов до 2003 года разрабатывал Скотт Лемон (Scott R. Lemmon). Хотя существовало сообщество, члены которого активно тестировали и предлагали к реализации новые функции[3], сама программа писалась Скоттом в одиночку.
Разработка Proxomitron'а была прекращена в июне 2003 года на версии 4.5j по личным причинам автора[4]. Существует несколько версий, почему он это сделал, а также, почему не выложил исходные коды, но факт остаётся фактом.
Спустя год после выпуска последней версии единственный автор программы Скотт Лемон (Scott R. Lemmon) умер[5]. Проект не был открытым и исходные тексты программы формально принадлежат компании, в которой работал Скотт, которая не раскрывает и не использует их сама. Неофициальных утечек кода тоже не было. Предпринимались попытки обратной разработки Proxomitron'а, но результата не достигли.
Тем не менее, функциональность программы настолько высока, что даже при отсутствии обновления и добавления новых функций Proxomtron во многом остаётся непревзойдённым другими проектами-конкурентами.
Существуют плагины для браузеров, позволяющие реализовывать простые частные случаи по фильтрации веб-страниц. Подавляющее большинство их реализовано для Mozilla Firefox'а благодаря его распространённости и открытой структуре. Наиболее функциональные расширения: