Найти в Дзене

Установка прокси-сервера Privoxy под Windows

Оглавление

В данной статье рассматривается установка Privoxy под Windows 10.
В остальных версиях Windows принцип, по идее, должен быть примерно таким же.

Что такое Privoxy

Privoxy — это свободный прокси-сервер с открытым исходным кодом.

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

При помощи Privoxy можно организовать белый список сайтов и белый список каналов Youtube.

Как установить Privoxy

Статья рассчитана на "чайников", поэтому опытные пользователи компьютера могут счесть её слишком подробной. ;-)

ВСЕ ОПИСАННЫЕ ЗДЕСЬ ОПЕРАЦИИ СЛЕДУЕТ ПРОИЗВОДИТЬ ИЗ ПОД УЧЁТНОЙ ЗАПИСИ АДМИНИСТРАТОРА!

Где скачать Privoxy

На сайте https://www.privoxy.org/ в секции Download есть ссылки на несколько зеркал, с которых можно скачать Privoxy.
На момент написания этой статьи последняя версия Privoxy была 3.0.34.

Также можете скачать один из вариантов Privoxy, настроенный автором, со всеми настройками.

Нас интересует не инсталлятор (.EXE), а ZIP-архив с Privoxy (в рассматриваемом случае privoxy_3.0.34.zip) - скачиваем его в какую-нибудь директорию.

Установка Privoxy

Итак, у Вас на компьютере есть ZIP-архив с Privoxy - либо с сайта Privoxy, либо мой вариант Privoxy.

-2

Дважды кликаем по этому архиву, чтобы его открыть. Внутри будет одна-единственная папка - кликаем по ней правой кнопкой мыши и выбираем "Копировать".

-3

Переходим на диск C, кликаем по свободному месту правой кнопкой мыши и выбираем "Вставить".

-4

При этом директория с Privoxy скопируется в корень диска C.
Вы можете установить Privoxy в любую другу папку по своему усмотрению, но в данном примере мы ставим Privoxy на C.

-5

Если Вы распаковывали архив, взятый с официального сайта, то папка с Privoxy будет называться privoxy_3.0.34.
Для эстетичности и единообразия ;-)   переименуем её в
privoxy.
Для этого кликаем по ней правой кнопкой мыши и выбираем "Переименовать".

-6

Итак, теперь у Вас на диске C есть папка privoxy.
Все остальные работы по настройке Privoxy мы будет производить, основываясь на этом её месторасположении.

-7

Предварительная настройка Privoxy через конфигурационный файл

Основной конфигурационный файл Privoxy - это config.txt в папке privoxy.
Кликаем по нему правой кнопкой мыши, выбираем "Открыть с помощью" и выбираем "Блокнот".

-8

Сетевые настройки Privoxy

На всякий случай убеждаемся, что Privoxy слушает локальный адрес на порту 8118:
в config.txt должна быть раскомментирована строка:
listen-address 127.0.0.1:8118

Впрочем, если Вы собираетесь использовать Privoxy на отдельном компьютере, то в listen-address следует указать IP-адрес сетевого интерфейса, которым Privoxy подключен в локальную сеть. Например:
listen-address 192.168.1.1:8118
При этом Privoxy будет обслуживать сразу всю Вашу сеть (конечно же лишь только те компьютеры, в которых
весь сетевой трафик направлен через Proxy).

Если надо - можно заставить Privoxy слушать трафик на 8118 порту на всех IP:
listen-address 0.0.0.0:8118

Использование порта 8118 необязательно - можно использовать любой свободный порт.

-9

Настройки логирования Privoxy

По-умолчанию, Privoxy настроен так, что ничего не пишет в LOG-файл.
За уровень детализации логирования в Privoxy отвечают параметры debug, которые по-умолчанию закомментированы.

-10

Соответственно, чтобы включить логирование в Privoxy, нужно раскомментировать хотя бы один из этих параметров.

-11

Прочие настройки Privoxy

Может сложиться такая ситуация, когда какая-то web-страница попала в кэш браузера, а потом Вы её заблокировали.
Чтобы такие страницы не отображалась из кэша, находим параметр enforce-blocks...

-12

... и присваиваем ему значение 1:
enforce-blocks 1

-13

Также имеет смысл увеличить объём буфера (иначе к слишком большим файлам / документам не будут применяться правила фильтрации Privoxy и такие документы будут отдаваться "как есть").
По-умолчанию установлено 4Mb:
buffer-limit 4096

-14

У меня установлено 16Mb:
buffer-limit 16384
Возможно, имеет смысл установить и ещё больше.

-15

На случай, если где-то по пути Ваших запросов попадётся другой прокси-сервер, который требует аутентификации, находим параметр enable-proxy-authentication-forwarding...

-16

... и присваиваем ему значение 1:
enable-proxy-authentication-forwarding 1

-17

Для работы прозрачного проксирования находим параметр accept-intercepted-requests...

-18

... и присваиваем ему значение 1:
accept-intercepted-requests 1

-19

По-умолчанию, Privoxy закрывает сетевое соединение, если оно закрыто клиентом.
Чтобы исправить такое поведение Privoxy, находим параметр connection-sharing...

-20

... и присваиваем ему значение 1:
connection-sharing 1

-21

Настройка Privoxy для повседневной работы

Как ограничить доступ к настройкам Privoxy обычным пользователям

Если Вы установили Privoxy для того, чтобы организовать белый список сайтов или каналов Youtube на компьютере раздолбая-школьника своего ребёнка, следует ОБЯЗАТЕЛЬНО завести новую учётную запись для ребёнка и у этой учётной записи отобрать права Администратора.

Далее следует ОБЯЗАТЕЛЬНО ограничить доступ к директории с Privoxy пользователей с ограниченными правами.

Если всего этого не сделать, то юный пытливый ум легко и просто обойдёт все без исключения наложенные Вами с таким трудом ограничения.

Как настроить Privoxy для фильтрации HTTPS трафика

С настройками по-умолчанию Privoxy не обрабатывает зашифрованный HTTPS трафик (он же ведь зашифрован ;-)  ).

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

Если Вам нужно организовать белый список каналов Youtube или если белый список сайтов должен блокировать отдельные разделы / страницы сайтов, то тут точно не обойтись без фильтрафии HTTPS трафика.

Чтобы заставить Privoxy анализировать HTTPS трафик (а по HTTPS-протоколу сейчас работает большинство сайтов), придётся пошаманить как расписано в отдельной статье как включить обработку HTTPS трафика в Privoxy.

Как настроить автозапуск Privoxy

В принципе, можно поставить Privoxy и в автозагрузку Windows.
Однако при этом он будет уязвим перед
юным раздолбаем ребёнком-школьником, на компьютере которого он будет работать.
Соответственно, делаем автозагрузку методом из статьи
как организовать автозагрузку Privoxy как службы Windows.

Направляем весь трафик через Privoxy

Любые усилия по созданию белых списков бесполезны, если Privoxy не будет обрабатывать весь сетевой трафик. Соответственно, делаем всё написанное в статье как пропустить через Privoxy весь трафик Windows и больше Ваш раздолбай будущий студент не будет заниматься на компьютере всякой фигнёй. Может быть...

Блокируем установку дополнений в браузеры

У пользователя даже с обычными правами (не Администратора) есть возможность установить в качестве дополнения для интернет-браузера какой-нибудь блокировщик рекламы.

Если планируете создать на компьютере белый список каналов Youtube, то теоретически этим самым блокировщиком можно заблокировать и работу белого списка каналов Youtube.
Соответственно, в этом случае нужно ОБЯЗАТЕЛЬНО исключить ситуацию, когда обычный пользователь по своему может ставить дополнения в браузер.
Как это сделать - читайте в статье
Как заблокировать установку расширений и дополнений в браузер.

Проверка работы Privoxy

Теперь, проверив настройки Privoxy в файле config.txt и внеся необходимые изменения, можно проверить работу Privoxy.

Запуск и остановка Privoxy в ручном режиме

Настройке Privoxy на повседневную работу посвящена статья установка Privoxy как службы Windows.
Здесь же будет показано, как запустить и остановить Privoxy вручную.

Для ручного запуска Privoxy дважды кликаем по исполняемому файлу privoxy.exe:

-22

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

-23

Это окно (консоль) можно закрыть.

-24

Всё равно Privoxy продолжает работать. В трее есть значок (иконка) Privoxy.

-25

Чтобы остановить работу Privoxy, нужно кликнуть по иконке Privoxy в трее правой кнопкой мыши и кликнуть на "Exit Privoxy" - Privoxy прекратит работу.

-26

Проверка работы браузера через Privoxy

Теперь, научившись запускать и останавливать Privoxy в ручном режиме, потестируем, как он пропускает через себя трафик.
Для повседневной работы можно вообще
весь сетевой трафик Windows направить через Privoxy. Здесь же мы попробуем подключить через Privoxy web-браузер.
В данном примере используется браузер Firefox. В других браузерах есть примерно такие же настройки и по аналогии можно потестировать Privoxy и в них.

Итак, запускаем Firefox. В адресной строке набираем about:preferences и попадаем в настройки.
Также можно выбрать в верхнем меню Инструменты, а в нём - Настройки.
Страницу раздела "Основные" прокручиваем до самого низу.
Кликаем по "Настройки сети".

-27

В открывшемся окне "Параметры соединения" выбираем "Ручная настройка прокси".
Вводим HTTP прокси 127.0.0.1, порт 8118.
Ставим галочку "Также использовать этот прокси для HTTPS".
Нажимаем "OK".

-28

Пробуем открыть в Firefox сайты https://ipmy.ru и https://ya.ru.
Вполне ожидаемо Firefox, настроенный на работу через прокси-сервер, который пока ещё не запущен, ничего не отображает, выводя "Прокси-сервер отказывается принимать соединения".

-29

Запускаем вручную Privoxy.

-30

В Firefox нажимаем синие кнопки "Попробовать снова". Оба сайта открылись.
При этом в консоли Privoxy видно, что все запросы пошли именно через Privoxy (если Вы при настройке Privoxy включили логирование).

-31

Не забудьте в Firefox вернуть сетевые настройки в исходное состояние!
(Нужно выбрать "Использовать системные настройки прокси").

-32