Privoxy: различия между версиями
[отпатрулированная версия] | [непроверенная версия] |
Greignar (обсуждение | вклад) Версия 3.0.28 |
Batanick (обсуждение | вклад) Пунктуация, орфография |
||
(не показано 11 промежуточных версий 10 участников) | |||
Строка 1: | Строка 1: | ||
{{Карточка программы |
{{Карточка программы |
||
| name = Privoxy |
| name = Privoxy |
||
| logo = Privoxy Icon.png |
|||
| screenshot = |
| screenshot = |
||
| caption = |
| caption = |
||
Строка 12: | Строка 13: | ||
| website = http://www.privoxy.org/ |
| website = http://www.privoxy.org/ |
||
}} |
}} |
||
{{стиль}} |
|||
{{стиль}}<!-- стиль и правда хромает даже на мой айтишный взгляд --> |
|||
'''Privoxy''' — это [[свободное программное обеспечение|свободный]] [[ |
'''Privoxy''' — это [[свободное программное обеспечение|свободный]] [[-сервер]] с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности пользователей сети [[Интернет]], изменения содержания веб-страниц, управления [[cookies]], ограничения доступа к некоторым сайтам удаления рекламы, [[баннер]]ов, [[всплывающие окна|всплывающих окон]], а также любого другого нежелательного контента. |
||
== История == |
|||
Privoxy основан на [[Internet Junkbuster]] и выпущен под лицензией [[GNU General Public License]]. Программа работает на [[Linux]], [[OpenWrt]], [[DD-WRT]], [[Microsoft Windows|Windows]], [[macOS]], [[OS/2]], [[AmigaOS]], [[BeOS]], и на большинстве разновидностей [[Unix|Unix-подобных]] ОС. Почти любой веб-браузер может использовать Privoxy. Исходный код, а также скомпилированное программное обеспечение размещено на [[SourceForge]].<ref>{{cite web|url=http://www.drdobbs.com/tool-of-the-month-privoxy/199102828|title=Tool of the Month: Privoxy|last=Brockmeier|first=Joe|work=[[Dr. Dobb's Journal]]|date=2005-06-17|access-date=2014-03-27|archive-date=2014-03-28|archive-url=https://web.archive.org/web/20140328101658/http://www.drdobbs.com/tool-of-the-month-privoxy/199102828|deadlink=no}}</ref> Исторически сложилось так, что Tor Project объединял в себе и связывал Privoxy с [[Tor]], но это было прекращено в 2010 году, поскольку они продвигали свой собственный внутренний проект [[Tor Browser]] и рекомендовали использовать внешние прокси-серверы третьих сторон. Privoxy по-прежнему работает, если настроить его вручную, и по-прежнему рекомендуется для сторонних небраузерных приложений, которые изначально не поддерживают [[SOCKS]].<ref>{{cite web|url=https://www.torproject.org/docs/faq.html.en#TBBSocksPort|title=Tor Frequently Asked Questions|access-date=2022-10-11|archive-date=2013-08-02|archive-url=https://archive.today/20130802204452/https://www.torproject.org/docs/faq.html.en%23WhyCalledTor#TBBSocksPort|deadlink=no}}</ref> |
|||
== Сфера применения == |
== Сфера применения == |
||
Наиболее распространённые сферы применения Privoxy: |
Наиболее распространённые сферы применения Privoxy: |
||
* |
* расходов на поддержание IT-инфраструктуры организаций, в которых интернет-трафик и рабочее время сотрудников ощутимо дороги. Посредством установки [[Фильтрующий прокси-сервер|фильтрующего прокси-сервера]] вводится исполнительный механизм ограничений загрузки «паразитного» дорогостоящего контента |
||
* Как средство контроля и очистки трафика |
* Как средство контроля и очистки трафика индивидуальными пользователями |
||
* Для тестирования веб-серверов и веб-приложений, для отладки собственных реализаций протокола HTTP — разработчиками |
* Для тестирования веб-серверов и веб-приложений, для отладки собственных реализаций протокола HTTP — разработчиками |
||
== Техническая реализация == |
== Техническая реализация == |
||
Технически возможности Privoxy реализуются посредством модификации (замены и удаления) или блокирования загрузки данных: |
Технически возможности Privoxy реализуются посредством модификации (замены и удаления) или блокирования загрузки данных: |
||
* На уровне заголовков протокола HTTP; |
* На уровне заголовков протокола HTTP; |
||
* На уровне веб-контента |
* На уровне веб-контента |
||
При фильтрации на уровне протокола Privoxy анализирует [[HTTP]]-заголовки и подменяет их в случае необходимости согласно определяемому пользователем набору правил работы с интернет-сайтами для предотвращения передачи браузером какой-либо информации, позволяющей получить «отпечаток» сессии соединения с пользователем и легко отследить его среди множества других клиентов веб-сервисов впоследствии. |
При фильтрации на уровне протокола Privoxy анализирует [[HTTP]]-заголовки и подменяет их в случае необходимости согласно определяемому пользователем набору правил работы с интернет-сайтами для предотвращения передачи браузером какой-либо информации, позволяющей получить «отпечаток» сессии соединения с пользователем и легко отследить его среди множества других клиентов веб-сервисов впоследствии. |
||
Хотя функции, ориентированные на работу с протоколом HTTP, были реализованы в Privoxy относительно недавно, в настоящий момент они практически аналогичны возможностям преобразования веб-контента и также реализуются на основе фильтрации и замены с использованием [[PCRE|регулярных выражений PCRE]]. Этот механизм обеспечивает возможности поточной модификации данных с использованием наиболее мощного и универсального PCRE-оператора s/// (известного в языке программирования [[Perl]] как оператор замены). |
Хотя функции, ориентированные на работу с протоколом HTTP, были реализованы в Privoxy относительно недавно, в настоящий момент они практически аналогичны возможностям преобразования веб-контента и также реализуются на основе фильтрации и замены с использованием [[PCRE|регулярных выражений PCRE]]. Этот механизм обеспечивает возможности поточной модификации данных с использованием наиболее мощного и универсального PCRE-оператора s/// (известного в языке программирования [[Perl]] как оператор замены). |
||
Строка 33: | Строка 37: | ||
== Логика и терминология == |
== Логика и терминология == |
||
Логически функциональность Privoxy реализуется на основе набора правил изменения контента. |
Логически функциональность Privoxy реализуется на основе набора правил изменения контента. |
||
Для создания нового правила нужно определить во-первых, '''что''' будет модифицироваться (назовём это множеством объектов модификации) и '''каким образом''' эта модификация будет осуществляться (перечислить действия, влияющие на обработку контента). |
|||
Задать объекты модификации можно следующим образом: |
Задать объекты модификации можно следующим образом: |
||
# Непосредственно перечислив целевые [[URL]]-адреса, где '''должен''' быть опущен префикс http:// и '''могут''' быть пропущены доменная или путевая части |
# Непосредственно перечислив целевые [[URL]]-адреса, где '''должен''' быть опущен префикс http:// и '''могут''' быть пропущены доменная или путевая части |
||
# Определив некое множество [[URL]] с помощью маски наподобие традиционных [[Регулярные выражения|регулярных выражений]], содержащей подстановочные символы-шаблоны «*», «?» и диапазоны символов (в квадратных скобках). |
# Определив некое множество [[URL]] с помощью маски наподобие традиционных [[Регулярные выражения|регулярных выражений]], содержащей подстановочные символы-шаблоны «*», «?» и диапазоны символов (в квадратных скобках). |
||
Строка 43: | Строка 46: | ||
Действия по модификации контента бывают: |
Действия по модификации контента бывают: |
||
# Простыми. Это действия, алгоритм которых задан жёстко непосредственно в исходном коде Privoxy и не может быть изменён без модификации и перекомпиляции исходного кода |
# Простыми. Это действия, алгоритм которых задан жёстко непосредственно в исходном коде Privoxy и не может быть изменён без модификации и перекомпиляции исходного кода |
||
# Параметрически простыми. Механизмы обработки контента, использующие простые форматы представления данных — одиночные строки, флаги (вида «да/нет»), числа и т. д. Эти действия предусматривают передачу опциональных или обязательных параметров непосредственно внутри своего описания |
# Параметрически простыми. Механизмы обработки контента, использующие простые форматы представления данных — одиночные строки, флаги (вида «да/нет»), числа и т. д. Эти действия предусматривают передачу опциональных или обязательных параметров непосредственно внутри своего описания |
||
# Параметрически сложными. Механизмы обработки контента, использующие сложные форматы представления данных — |
# Параметрически сложными. Механизмы обработки контента, использующие сложные форматы представления данных — регулярные выражения и различные формы их представления — например, перечни списки. |
||
== Интерфейс == |
== Интерфейс == |
||
Строка 52: | Строка 55: | ||
[[Веб-интерфейс]] позволяет настраивать множество параметров работы Privoxy, переключать состояние его активности (в неактивном состоянии Privoxy работает как простейший прокси-сервер, перенаправляющий запросы на интернет-сервера, не анализирующий и не модифицирующий заголовки [[HTTP]]-протокола и не фильтрующий интернет-контент), а также получать исчерпывающую информацию о том, какие правила применяются при запросе тех или иных [[URL]] и где (в каком файле действий) эти правила были определены. В последнем случае предоставляются прямые ссылки для быстрого внесения соответствующих изменений с помощью встроенного редактора файлов действий (см. иллюстрацию). |
[[Веб-интерфейс]] позволяет настраивать множество параметров работы Privoxy, переключать состояние его активности (в неактивном состоянии Privoxy работает как простейший прокси-сервер, перенаправляющий запросы на интернет-сервера, не анализирующий и не модифицирующий заголовки [[HTTP]]-протокола и не фильтрующий интернет-контент), а также получать исчерпывающую информацию о том, какие правила применяются при запросе тех или иных [[URL]] и где (в каком файле действий) эти правила были определены. В последнем случае предоставляются прямые ссылки для быстрого внесения соответствующих изменений с помощью встроенного редактора файлов действий (см. иллюстрацию). |
||
Хотя Privoxy часто используется в качестве промежуточного звена между приложениями, использующими HTTP(S)-протокол и программой [[Tor]] — клиентом анонимной распределённой сети маршрутизаторов Onion Routers, при этом не следует забывать о том |
Хотя Privoxy часто используется в качестве промежуточного звена между приложениями, использующими HTTP(S)-протокол и программой [[Tor]] — клиентом анонимной распределённой сети маршрутизаторов Onion Routers, при этом не следует забывать о том что Privoxy является совершенно самостоятельной программой, защищающей интересы своих пользователей на уровне протокола HTTP аналогично тому, как Tor делает это на уровне базовых протоколов TCP/IP. Privoxy может с успехом применяться и без Tor, причём во многих случаях использование Tor вне связки с Privoxy или другим аналогичным фильтрующим прокси как минимум просто неэффективно, поскольку анализ [[IP-адрес]]а является лишь одним из множества способов идентификации пользователей веб-сервисов, к тому же способов крайне ненадёжных в условиях дефицита публичных IP-адресов (в России). |
||
== См. также == |
== См. также == |
Текущая версия от 07:59, 4 июля 2024
Privoxy | |
---|---|
Тип | Прокси-сервер |
Разработчик | Разработчики Privoxy |
Написана на | C |
Операционная система | Кроссплатформенное программное обеспечение |
Первый выпуск | 2001 |
Последняя версия | 3.0.28 (30 декабря 2018) |
Репозиторий |
privoxy.org/git/privoxy.… privoxy.org/gitweb/?p=pr… |
Лицензия | GNU GPL |
Сайт | privoxy.org |
Медиафайлы на Викискладе |
Стиль этой статьи неэнциклопедичен или нарушает нормы литературного русского языка. |
Privoxy — это свободный прокси-сервер с расширенными возможностями фильтрования интернет-контента для защиты конфиденциальности пользователей сети Интернет, изменения содержания веб-страниц, управления cookies, обхода ограничения доступа к некоторым сайтам, удаления рекламы, баннеров, всплывающих окон, а также любого другого нежелательного контента.
История
[править | править код]Privoxy основан на Internet Junkbuster и выпущен под лицензией GNU General Public License. Программа работает на Linux, OpenWrt, DD-WRT, Windows, macOS, OS/2, AmigaOS, BeOS, и на большинстве разновидностей Unix-подобных ОС. Почти любой веб-браузер может использовать Privoxy. Исходный код, а также скомпилированное программное обеспечение размещено на SourceForge.[1] Исторически сложилось так, что Tor Project объединял в себе и связывал Privoxy с Tor, но это было прекращено в 2010 году, поскольку они продвигали свой собственный внутренний проект Tor Browser и рекомендовали использовать внешние прокси-серверы третьих сторон. Privoxy по-прежнему работает, если настроить его вручную, и по-прежнему рекомендуется для сторонних небраузерных приложений, которые изначально не поддерживают SOCKS.[2]
Сфера применения
[править | править код]Наиболее распространённые сферы применения Privoxy:
- Снижение расходов на поддержание IT-инфраструктуры организаций, в которых интернет-трафик и рабочее время сотрудников ощутимо дороги. Посредством установки фильтрующего прокси-сервера вводится исполнительный механизм ограничений загрузки «паразитного» дорогостоящего контента;
- Как средство контроля и очистки трафика индивидуальными пользователями;
- Для тестирования веб-серверов и веб-приложений, — для отладки собственных реализаций протокола HTTP — разработчиками.
Техническая реализация
[править | править код]Технически возможности Privoxy реализуются посредством модификации (замены и удаления) или блокирования загрузки данных:
- На уровне заголовков протокола HTTP;
- На уровне веб-контента.
При фильтрации на уровне протокола Privoxy анализирует HTTP-заголовки и подменяет их в случае необходимости согласно определяемому пользователем набору правил работы с интернет-сайтами для предотвращения передачи браузером какой-либо информации, позволяющей получить «отпечаток» сессии соединения с пользователем и легко отследить его среди множества других клиентов веб-сервисов впоследствии.
Хотя функции, ориентированные на работу с протоколом HTTP, были реализованы в Privoxy относительно недавно, в настоящий момент они практически аналогичны возможностям преобразования веб-контента и также реализуются на основе фильтрации и замены с использованием регулярных выражений PCRE. Этот механизм обеспечивает возможности поточной модификации данных с использованием наиболее мощного и универсального PCRE-оператора s/// (известного в языке программирования Perl как оператор замены).
Логика и терминология
[править | править код]Логически функциональность Privoxy реализуется на основе набора правил изменения контента. Для создания нового правила нужно определить, во-первых, что будет модифицироваться (назовём это множеством объектов модификации) и каким образом эта модификация будет осуществляться (перечислить действия, влияющие на обработку контента).
Задать объекты модификации можно следующим образом:
- Непосредственно перечислив целевые URL-адреса, где должен быть опущен префикс http:// и могут быть пропущены доменная или путевая части;
- Определив некое множество URL с помощью маски наподобие традиционных регулярных выражений, содержащей подстановочные символы-шаблоны «*», «?» и диапазоны символов (в квадратных скобках).
Вырожденным случаем объекта модификации является 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-адресов (в России).
См. также
[править | править код]Примечания
[править | править код]- ↑ Brockmeier, Joe Tool of the Month: Privoxy . Dr. Dobb's Journal (17 июня 2005). Дата обращения: 27 марта 2014. Архивировано 28 марта 2014 года.
- ↑ Tor Frequently Asked Questions . Дата обращения: 11 октября 2022. Архивировано 2 августа 2013 года.
Ссылки
[править | править код]- Privoxy — Home Page (англ.) — Официальный сайт.
- Minor Privoxy improvements (англ.) — Страница о Privoxy на сайте Фабиана Кейла.
- Overview of privoxy source package (англ.) — Страница privoxy source package Debian.
- Русский Privoxy — Русскоязычный сайт пользователей Privoxy.
- Настройка Privoxy
- Борьба с рекламой при помощи Privoxy
Для улучшения этой статьи желательно:
|