Proxomitron

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 во многом остаётся непревзойдённым другими проектами-конкурентами.

Другие проекты по фильтрации веб-страниц

[править | править код]
  • HandyCache (HC) - это кэширующий прокси-сервер с плагином Content Master, позволяющий заблокировать загрузку и отображение рекламы. Обладает огромной гибкостью и функциональностью, Пожалуй, на сегодняшний день является лучшим решением для резки рекламы. Списки правил обновляются постоянно, кроме того, пользователь может добавлять свои правила фильтрации и исключения из правил. Обрабатывается также содержание https-сайтов (возможность может быть отключена либо гибко настроена). Кэшированием также можно гибко управлять. Дополнительно можно подключать к программе списки Ad Muncher и AdBlock Plus. Есть возможность даже создавать собственные списки блокировки визуально, щёлкая мышкой по элементам сайта, показ которых нужно отключить. Официальный сайт - http://handycache.ru/ Программа русскоязычная, имеет форум поддержки, на котором оперативно решаются возможные проблемы.
  • Privoxy — кроссплатформенная программа с похожей идеей. Концепция другая, но этот проект достаточно близко подошёл к Proxomitron'у по общей функциональности
  • Proximodo[6] — попытка создания свободной программы, подобной Proxomitron'у. Проект развивался в 2004—2005 годах, позднее были попытки пересобрать открытые коды. К использованию не пригоден, так как проект не дошёл до рабочей стадии, но код открыт для последователей.

Существуют плагины для браузеров, позволяющие реализовывать простые частные случаи по фильтрации веб-страниц. Подавляющее большинство их реализовано для Mozilla Firefox'а благодаря его распространённости и открытой структуре. Наиболее функциональные расширения:

  • Ad Muncher — осуществляет мониторинг и фильтр, обеспечивает блокирование принудительно всплывающих окон, баннеров и некоторых других назойливых элементов, среди которых фоновая музыка и звуки, потеря фокуса ввода и т. п. Содержит более 2000 фильтров.
  • Adguard — позволяет блокировать рекламу, всплывающие окна, баннеры и другие нежелательные объекты.

Расширения Firefox'а

[править | править код]
  • NoScriptрасширение Firefox'а, позволяющее отключать java-скрипты на страницах. Есть «чёрный» и «белый» списки, небольшие настройки и, собственно, всё.
  • AdBlock Plusрасширение Firefox'а, позволяющее вырезать из страниц баннеры. Несмотря на то, что средства, предоставляемые этой программой, очень скудны (фактически большей частью блокировка по списку адресов), существует несколько обновляемых источников бан-листов.
  • RequestPolicyрасширение Firefox'а, блокирующее запросы со страницы на сторонние сайты
  • HTTP User Agent Cleanerрасширение Firefox'а, позволяющее подменять http-заголовки на случайные, запрещать AJAX (иногда это блокирует всю рекламу).

Расширения Opera

[править | править код]
  • Block External Scripts[7] — скрипт убирает рекламу, реализованную на js, блокируя загрузку скриптов с неродительского домена. В результате отображается страница, полностью очищенная от «чужих» элементов.

Примечания

[править | править код]
  1. 1 2 Язык регулярных выражений Proxomitron Архивировано 10 января 2007 года.
  2. Функции Proxomitron Архивировано 28 сентября 2007 года.
  3. YahooGroups Prox-List: The original discussion group, includes message archives, files section, more Архивная копия от 30 октября 2005 на Wayback Machine (англ.)
  4. Последнее обращение автора Архивировано 10 января 2007 года.
  5. Proxomitron.Info …the Webhiker’s Guide to Proxomitron. Дата обращения: 13 мая 2005. Архивировано 5 ноября 2005 года.
  6. Сайт проекта Proximodo. Дата обращения: 13 мая 2005. Архивировано 14 декабря 2005 года.
  7. ЛУЧШИЕ и просто полезные UserJS !!!!! Дата обращения: 26 апреля 2013. Архивировано из оригинала 28 апреля 2013 года.
Русскоязычные ресурсы
Англоязычные