Privoxy

Privoxy
Логотип программы Privoxy
Тип Прокси-сервер
Разработчик Разработчики Privoxy
Написана на C
Операционная система Кроссплатформенное программное обеспечение
Дата выпуска 2001
Последняя версия 4.0.0 (21 января 2025)
Репозиторий privoxy.org/git/privoxy.…
privoxy.org/gitweb/?p=pr…
[email protected]:23/g…
Состояние активное
Лицензия Лицензия ISC, GPL v2
Сайт privoxy.org
Логотип Викисклада Медиафайлы на Викискладе

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

Privoxy часто используется в связке с другими прокси и часто используется в сочетании с Squid[1][2]. Он также рекомендуется для сторонних приложений, которые не поддерживают SOCKS[3].

Обзор

Privoxy позволяет фильтровать содержимое веб-страниц до их отображения в браузере. Программа позволяет управлять файлами cookies, удалять рекламу и баннеры, блокировать всплывающие окна, а также скрывать любой другой нежелательный контент[4]. Благодаря этим функциям Privoxy способствует снижению объёма потребляемого интернет-трафика, защищает систему от вредоносных элементов веб-страниц, а также может использоваться в качестве вспомогательного инструмента для обхода интернет-цензуры. Программа настраивается как для автономных систем, так и для многопользовательских сетей[5], совместима со всеми основными веб-браузерами и не требует изменения их конфигурации.


Privoxy основан на Internet Junkbuster[англ.] и распространяется под лицензиями ISC и GPL v2. Он работает в Linux, OpenWrt, DD-WRT, Windows, macOS, OS/2, AmigaOS, BeOS и большинстве Unix-подобных дистрибутивах. Программное обеспечение размещено на SourceForge[6].

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

Скриншот из конфигурации Firefox: настройки для использования с Privoxy

Privoxy реализует механизм online garbage collection (сборки мусора в реальном времени) и оптимизирован для работы в качестве фильтрующего прокси-сервера.

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

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

Осуществляя фильтрацию на протокольном уровне, Privoxy анализирует 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. 1 2 Privoxy — Gentoo Wiki. wiki.gentoo.org. Дата обращения: 25 июля 2025.
  2. Anonymisieren mit Squid und Privoxy (нем.). Linux-Magazin. Дата обращения: 25 июля 2025.
  3. The Tor Project, Inc. Tor Project: FAQ. 2019.www.torproject.org. Дата обращения: 25 июля 2025. Архивировано из оригинала 10 июля 2025 года.
  4. openPGP в России / Софт / Privoxy. www.pgpru.com. Дата обращения: 25 июля 2025. Архивировано из оригинала 21 марта 2025 года.
  5. Privoxy Frequently Asked Questions. www.privoxy.org. Дата обращения: 25 июля 2025.
  6. Brockmeier, Joe. Tool of the Month: Privoxy. Dr. Dobb's Journal (17 июня 2005). Дата обращения: 27 марта 2014. Архивировано 28 марта 2014 года.

Ссылки

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.