Martin Helme

Privoxyбесплатный прокси-инструмент с расширенными возможностями фильтрации интернет-контента для защиты конфиденциальности интернет-пользователей, изменения содержимого веб-страниц, управления файлами cookie, обхода ограничений доступа к некоторым веб-сайтам, удаления рекламы, баннеров, всплывающих окон, а также любого другого нежелательного контента.

История

Privatoxi основан на онлайн-сборщике мусора и выпущен под лицензией GNU General Public License. Программа работает в Linux, open script, DD script, Windows, macOS, OS/2, AmigaOS, BeOS и большинстве типов Unix-подобных операционных систем. Практически любой браузер может использовать Privox, подтверждающий, что исходный код, а также скомпилированное программное обеспечение размещены на SourceForge[1]. Исторически сложилось так, что проект Tor объединял и связывал Privatoxia с tor, но это было прекращено в 2010 году, когда они продвигали свой собственный внутренний проект Tor Browser и рекомендовали использовать внешние сторонние прокси-серверы. Privox по-прежнему работает, если настроить его вручную, и по-прежнему рекомендуется для сторонних небраузерных приложений, которые изначально не поддерживают socks[2].

Сфера применения

Наиболее распространённые сферы применения Privoxy:

  • Снижение расходов на поддержание IT-инфраструктуры организаций, в которых интернет-трафик и рабочее время сотрудников ощутимо дороги. Посредством установки фильтрующего прокси-сервера вводится исполнительный механизм ограничений загрузки «паразитного» дорогостоящего контента;
  • Как средство контроля и очистки трафика индивидуальными пользователями;
  • Для тестирования веб-серверов и веб-приложений, — для отладки собственных реализаций протокола HTTP — разработчиками.

Техническая реализация

Технически возможности Privoxy реализуются посредством модификации (замены и удаления) или блокирования загрузки данных:

  • На уровне заголовков протокола HTTP;
  • На уровне веб-контента.

Фильтруя на уровне протокола, Privox анализирует http-заголовки и заменяет их, при необходимости, в соответствии с определенным пользователем набором правил работы с интернет-сайтами, чтобы предотвратить передачу браузером какой-либо информации, позволяющей получить "след" сеанса подключения пользователя и легко отследить его среди другие, которые позже появились во многих других клиентах веб-сервисов.

Хотя функции, ориентированные на работу с протоколом HTTP, были реализованы в Privoxy относительно недавно, в настоящий момент они практически аналогичны возможностям преобразования веб-контента и также реализуются на основе фильтрации и замены с использованием регулярных выражений PCRE. Этот механизм обеспечивает возможности поточной модификации данных с использованием наиболее мощного и универсального PCRE-оператора s/// (известного в языке программирования Perl как оператор замены).

Логика и терминология

Privoxy функционирует на основе системы правил, которые определяют изменения контента. Для создания нового правила необходимо указать, какие элементы будут модифицироваться (множество объектов модификации), и как именно это будет происходить (действия, влияющие на обработку контента).

Объекты модификации можно задать двумя способами:

  • Перечислить конкретные URL-адреса, удаляя префикс http:// и возможно опуская доменное имя или путь.
  • Определить набор URL с помощью маски, используя подстановочные символы «*», «?» и символьные диапазоны в квадратных скобках.

В некоторых случаях объект модификации может быть представлен только разделителем между доменным именем и путём — косой чертой «/». Этот символ ассоциируется со всеми допустимыми интернет-адресами и используется для формирования правил, которые применяются ко всем сайтам. Такие действия указываются в верхней части файла default.action.

Действия по модификации контента делятся на три типа:

  • Простые действия. Их алгоритм жёстко задан в исходном коде Privoxy и не подлежит изменению без модификации и перекомпиляции.
  • Параметрически простые действия. Эти механизмы обработки контента используют простые форматы данных, такие как строки, флаги (да/нет), числа и другие. Они предусматривают передачу параметров внутри своего описания.

Параметрически сложные действия. Эти механизмы работают с более сложными форматами данных, включая регулярные выражения и их различные формы представления, такие как списки и перечни.

Интерфейс

Все методы обработки контента удобно настраивать посредством развитого веб-интерфейса, который после установки и запуска Privoxy будет доступен по адресу config.privoxy.org или (сокращённо) p.p

Русифицированный веб-интерфейс Privoxy
Русифицированный веб-интерфейс Privoxy

Веб-интерфейс позволяет настраивать множество параметров работы Privoxy, переключать состояние его активности (в неактивном состоянии Privoxy работает как простейший прокси-сервер, перенаправляющий запросы на интернет-сервера, не анализирующий и не модифицирующий заголовки HTTP-протокола и не фильтрующий интернет-контент), а также получать исчерпывающую информацию о том, какие правила применяются при запросе тех или иных URL и где (в каком файле действий) эти правила были определены. В последнем случае предоставляются прямые ссылки для быстрого внесения соответствующих изменений с помощью встроенного редактора файлов действий (см. иллюстрацию).

Хотя Privoxy часто используется в качестве промежуточного звена между приложениями, использующими HTTP(S)-протокол и программой Tor — клиентом анонимной распределённой сети маршрутизаторов Onion Routers, при этом не следует забывать, о том что Privoxy является совершенно самостоятельной программой, защищающей интересы своих пользователей на уровне протокола HTTP аналогично тому, как Tor делает это на уровне базовых протоколов TCP/IP. Privoxy может с успехом применяться и без Tor, причём во многих случаях использование Tor вне связки с Privoxy или другим аналогичным фильтрующим прокси как минимум просто неэффективно, поскольку анализ IP-адреса является лишь одним из множества способов идентификации пользователей веб-сервисов, к тому же способов крайне ненадёжных в условиях дефицита публичных IP-адресов (в России).

См. также

Примечания

  1. Brockmeier, Joe. Tool of the Month: Privoxy. Dr. Dobb's Journal (17 июня 2005). Дата обращения: 27 марта 2014. Архивировано 28 марта 2014 года.
  2. Tor Frequently Asked Questions. Дата обращения: 11 октября 2022. Архивировано 2 августа 2013 года.

Ссылки

No tags for this post.