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], благодаря чему помогает экономить интернет-трафик, защищать систему от вредоносных элементов веб-страниц, а также может использоваться в качестве вспомогательного инструмента для обхода интернет-цензуры. Он может быть настроен пользователями как для автономных систем, так и для многопользовательских сетей[5] и может использоваться практически с любым браузером.
Privoxy основан на Internet Junkbuster[англ.] и распространяется под лицензиями ISC и GPL v2. Он работает в Linux, OpenWrt, DD-WRT, Windows, macOS, OS/2, AmigaOS, BeOS и большинстве Unix-подобных дистрибутивах. Программное обеспечение размещено на SourceForge[6].
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Техническая реализация
[править | править код]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 работает как простейший прокси-сервер, перенаправляющий запросы на интернет-сервера, не анализирующий и не модифицирующий заголовки HTTP-протокола и не фильтрующий интернет-контент), а также получать исчерпывающую информацию о том, какие правила применяются при запросе тех или иных URL и где (в каком файле действий) эти правила были определены. В последнем случае предоставляются прямые ссылки для быстрого внесения соответствующих изменений с помощью встроенного редактора файлов действий (см. иллюстрацию).
Хотя Privoxy часто используется в качестве промежуточного звена между приложениями, использующими HTTP(S)-протокол и программой Tor — клиентом анонимной распределённой сети маршрутизаторов Onion Routers, при этом не следует забывать, о том что Privoxy является совершенно самостоятельной программой, защищающей интересы своих пользователей на уровне протокола HTTP аналогично тому, как Tor делает это на уровне базовых протоколов TCP/IP. Privoxy может с успехом применяться и без Tor, причём во многих случаях использование Tor вне связки с Privoxy или другим аналогичным фильтрующим прокси как минимум просто неэффективно, поскольку анализ IP-адреса является лишь одним из множества способов идентификации пользователей веб-сервисов, к тому же способов крайне ненадёжных в условиях дефицита публичных IP-адресов (в России).
См. также
[править | править код]Примечания
[править | править код]- ↑ 1 2 Privoxy — Gentoo Wiki . wiki.gentoo.org. Дата обращения: 25 июля 2025.
- ↑ Anonymisieren mit Squid und Privoxy (нем.). Linux-Magazin. Дата обращения: 25 июля 2025.
- ↑ The Tor Project, Inc. Tor Project: FAQ . 2019.www.torproject.org. Дата обращения: 25 июля 2025. Архивировано из оригинала 10 июля 2025 года.
- ↑ openPGP в России / Софт / Privoxy . www.pgpru.com. Дата обращения: 25 июля 2025. Архивировано из оригинала 21 марта 2025 года.
- ↑ Privoxy Frequently Asked Questions . www.privoxy.org. Дата обращения: 25 июля 2025.
- ↑ Brockmeier, Joe. Tool of the Month: Privoxy . Dr. Dobb's Journal (17 июня 2005). Дата обращения: 27 марта 2014. Архивировано 28 марта 2014 года.
Ссылки
[править | править код]- Privoxy — Home Page (англ.) — Официальный сайт.
- Minor Privoxy improvements (англ.) — Страница о Privoxy на сайте Фабиана Кейла.
- Overview of privoxy source package (англ.) — Страница privoxy source package Debian.
- Русский Privoxy — Русскоязычный сайт пользователей Privoxy.
- Privoxy . Gentoo Wiki.
- Настройка Privoxy
- Борьба с рекламой при помощи Privoxy
![]() | Для улучшения этой статьи желательно: |