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 — с ним-то это работает отлично.
URL-команды
[править | править код]В 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 2 Язык регулярных выражений Proxomitron Архивировано 10 января 2007 года.
- ↑ Функции Proxomitron Архивировано 28 сентября 2007 года.
- ↑ YahooGroups Prox-List: The original discussion group, includes message archives, files section, more Архивная копия от 30 октября 2005 на Wayback Machine (англ.)
- ↑ Последнее обращение автора Архивировано 10 января 2007 года.
- ↑ Proxomitron.Info …the Webhiker’s Guide to Proxomitron . Дата обращения: 13 мая 2005. Архивировано 5 ноября 2005 года.
- ↑ Сайт проекта Proximodo . Дата обращения: 13 мая 2005. Архивировано 14 декабря 2005 года.
- ↑ ЛУЧШИЕ и просто полезные UserJS !!!!! Дата обращения: 26 апреля 2013. Архивировано из оригинала 28 апреля 2013 года.
Ссылки
[править | править код]- Русскоязычные ресурсы
- Русскоязычный сайт Proxomitron — наиболее подробный сайт, посвящённый программе. Были попытки создания вики-проекта.
- Маскировка в сети — персональный фильтр базара Архивная копия от 17 ноября 2013 на Wayback Machine, Журнал «Хакер-спец», номер #029
- Англоязычные