Проксирование на Raspberry Pi с Privoxy — настройка и лучшие практики
Быстрые ссылки
The Privoxy Proxy Server
Установка Privoxy
Приём соединений
Настройка браузера
Настройка Privoxy
Попробуйте сначала настройки по умолчанию

О чём этот материал
В этой статье объясняется, что такое веб‑прокси, зачем нужен Privoxy и как его развернуть на Raspberry Pi. Приведены команды, примеры конфигурации, советы по безопасности и проверочные процедуры. Материал ориентирован на домашние сети и небольшие офисы.
The Privoxy Proxy Server
Веб‑прокси размещается между устройствами вашей сети и интернетом. Он перехватывает HTTP и HTTPS‑трафик и действует как «пограничный контроль»: проверяет URL и решает, разрешать соединение или нет. Если адрес совпадает с запрещённым списком или удовлетворяет заданным правилам, прокси отклоняет запрос.
Если сайт допускается, прокси запрашивает страницу и передаёт её клиенту. Это даёт устройствам в сети некоторую степень анонимности.
Privoxy дополнительно «прочесывает» полученные страницы: удаляет трекеры, рекламные блоки и другой нежелательный код, оставляя чистую веб‑страницу. Благодаря центральному управлению вы администрируете только прокси, а не каждый клиент отдельно.
Важно: блокировка рекламы влияет на доходы сайтов. Решение об агрессивном фильтре — компромисс между приватностью и поддержкой контента.
Установка Privoxy
Подключитесь по SSH к Raspberry Pi. В примере используется IP 192.168.4.18:
ssh pi@192.168.4.18Перед установкой обновите индексы пакетов и сами пакеты:
sudo apt-get update && sudo apt-get upgradeПосле завершения установки выполните:
sudo apt-get install privoxyСовет: если у вас нестабильное подключение, используйте screen или tmux для долгих обновлений.
Приём соединений
По умолчанию Privoxy принимает соединения только от локальной машины. Чтобы разрешить подключения с других устройств, отредактируйте конфиг:
sudo nano /etc/privoxy/configФайл большой, но основная рабочая зона находится в разделе 4.2. Найдите строки с listen-address. Закомментируйте старые строки (поставьте # в начале) и добавьте:
listen-address :8118
Это укажет Privoxy принимать соединения на порту 8118 с любых IP‑адресов. Privoxy использует фильтры и правила (actions) для обработки URL. Их можно редактировать как текстовые файлы или через веб‑интерфейс Privoxy.
Примечание о правах: административный интерфейс Privoxy по умолчанию не защищён паролем. Решите, нужно ли включать редактирование действий (enable-edit-actions). Если да, добавьте в конец файла:
enable-edit-actions 1Сохраните изменения (Ctrl+O, Enter), затем выйдите (Ctrl+X).
Перезапустите Privoxy, чтобы применить изменения:
sudo systemctl restart privoxyПроверить статус:
sudo systemctl status privoxyЕсли сервис активен и без ошибок, откройте браузер на другом компьютере и перейдите по адресу Raspberry Pi с указанием порта 8118:
192.168.4.18:8118Вы увидите главную страницу Privoxy.

Если страница открывается — Privoxy работает с настройками по умолчанию.
Настройка браузера
Практически в любом браузере можно задать прокси. В Firefox введите about:preferences в адресной строке. Найдите раздел «Сетевые настройки» и нажмите «Настройки».
Выберите «Ручная настройка прокси». В поле HTTP Proxy укажите IP‑адрес вашего Raspberry Pi, в поле Порт — 8118. Отметьте «Использовать этот прокси для FTP и HTTPS», затем нажмите OK.
Закройте вкладки настроек и откройте любой сайт. Если страницы загружаются как обычно, Privoxy работает.
Настройка Privoxy
Откройте в браузере config.privoxy.org.

Нажмите «View and Change the Current Configuration». На странице сводки вы увидите пути к файлам actions и filters.
Вы можете редактировать файлы вручную или через веб‑интерфейс. Учтите, что default.action редактировать нельзя по замыслу разработчиков.
Нажмите «Edit» напротив Match‑All.Action.

На странице редактирования можно переключать предустановленные режимы: «Set to Cautious», «Set to Medium», «Set to Advanced». Они меняют степень строгости фильтрации. Также можно изменять каждую опцию вручную, переключая radio‑кнопки на Enabled, Disabled или No Change.

При сохранении нажмите Submit вверху или внизу страницы.

Попробуйте сначала настройки по умолчанию
В большинстве ситуаций стандартные параметры достаточно удачны. Перед изменением рекомендуем сделать резервную копию текстовых конфигураций — так вы легко откатите изменения, если потеряете доступ через веб‑интерфейс.
Резервное копирование и контроль версий конфигураций
Мини‑методика для безопасных изменений:
- Скопируйте текущие файлы конфигурации в домашнюю папку с меткой даты:
sudo cp /etc/privoxy/config /home/pi/privoxy-config-$(date +%F).bak
sudo cp /etc/privoxy/user.action /home/pi/user.action-$(date +%F).bak- Заархивируйте копии:
cd /home/pi
tar czf privoxy-bak-$(date +%F).tar.gz privoxy-config-*.bak user.action-*.bak- Храните копии на внешнем диске или в безопасном облаке.
Преимущество: вы всегда можете быстро восстановить рабочую конфигурацию.
Рекомендации по безопасности
- Разграничьте административный доступ. Если вы включаете enable-edit-actions, рассмотрите сетевую политику (firewall) так, чтобы панель редактирования была доступна только из доверенной подсети.
- Настройте правила на маршрутизаторе, чтобы порт 8118 был доступен только внутри вашей локальной сети. Никогда не пробрасывайте порт 8118 в интернет без надёжной аутентификации.
- Периодически обновляйте систему и пакеты: sudo apt-get update && sudo apt-get upgrade.
- Храните конфигурации и список заблокированных доменов в системе контроля версий (например, git) — так видно, кто и когда вносил изменения.
Политика приватности и GDPR — краткие замечания
Privoxy удаляет трекеры и скрипты на уровне HTTP/HTML, но не шифрует трафик. Для соответствия требованиям GDPR важно:
- Информировать пользователей сети о наличии прокси и целях фильтрации.
- Обеспечить возможность восстановления доступа к удалённому контенту, если это требуется по законам или политике организации.
Критерии приёмки
- Privoxy отвечает на порту 8118 и статус systemctl показывает active (running).
- Главная страница Privoxy доступна по IP:
:8118 из доверенной подсети. - Отключение/включение настроек через веб‑интерфейс работает без ошибок.
- После настройки браузера страницы загружаются, и видимые рекламы/трекеры заметно сокращены (визуальная проверка).
Руководство по устранению неполадок
Privoxy не запускается:
- sudo systemctl status privoxy — посмотрите логи.
- sudo journalctl -u privoxy –since “1 hour ago” — просмотрите ошибки.
- Проверьте синтаксис /etc/privoxy/config на предмет опечаток.
Невозможно подключиться к 192.168.x.x:8118:
- Проверьте, слушает ли порт: sudo ss -tulpn | grep 8118
- Убедитесь, что firewall (iptables/ufw) не блокирует порт.
- Проверьте сеть: ping и traceroute до Raspberry Pi.
Браузер не видит изменений фильтра:
- Очистите кэш браузера.
- Убедитесь, что браузер действительно использует прокси (проверьте настройки и заголовки HTTP).
- Временно отключите расширения браузера, которые могут обходить системный прокси.
Заблокирован доступ к веб‑интерфейсу:
- Восстановите резервную копию конфигурации из /home/pi.
- Перезагрузите privoxy: sudo systemctl restart privoxy
Списки задач по ролям
Роль: Домашний администратор
- Установить обновления OS.
- Установить privoxy.
- Настроить listen-address.
- Проверить доступность из сети.
- Сделать резервную копию конфигов.
Роль: Пользователь
- Настроить прокси в браузере.
- Проверить открытие сайтов.
- Сообщить администратору о проблемах с доступом к легитимным сайтам.
Роль: Сетевой администратор малого офиса
- Ограничить доступ к административной панели Privoxy через межсетевой экран.
- Вести журнал изменений конфигурации в git.
- Автоматизировать обновления и оповещения о состоянии сервиса.
Мини‑методология изменения правил фильтрации
- Оцените причину изменения: новый трекер, ложное срабатывание, требование службы.
- Сделайте резервную копию конфигурации.
- Внесите минимальное изменение (enable/disable одного параметра).
- Протестируйте в течение 24 часов с несколькими сайтами.
- Зафиксируйте изменение в журнале с описанием причины и даты.
Дерево решений для включения/исключения правил (Mermaid)
flowchart TD
A[Новый запрос на блокировку] --> B{Это трекер/реклама?}
B -- Да --> C[Добавить правило в user.action]
B -- Нет --> D{Это функциональный ресурс?}
D -- Да --> E[Не блокировать; помечать как исключение]
D -- Нет --> C
C --> F[Перезагрузить privoxy и тестировать]
E --> F
F --> G{Проблемы?}
G -- Да --> H[Откат резервной копии и пересмотр]
G -- Нет --> I[Закрыть задачу]Тесты и приёмка (Test cases)
Тест: Privoxy отвечает на / (главная страница)
- Шаги: Открыть http://
:8118 - Ожидание: Страница отображается, нет ошибок 403/500.
- Шаги: Открыть http://
Тест: Фильтрация трекеров
- Шаги: Открыть сайт, известный трекером; сравнить запросы с и без прокси.
- Ожидание: С прокси исчезают внешние запросы к трекерам.
Тест: Доступ из подсети
- Шаги: С другого устройства в сети открыть http://
:8118 - Ожидание: Доступ есть.
- Шаги: С другого устройства в сети открыть http://
Тест: Откат конфигурации
- Шаги: Внести ошибочную правку, восстановить из .bak и перезапустить Privoxy
- Ожидание: Сервис возвращается в рабочее состояние.
Глоссарий — 1 строка на термин
- Privoxy — HTTP/HTTPS‑прокси для фильтрации рекламы и трекеров.
- listen-address — параметр конфигурации, определяющий IP/порт для прослушивания.
- actions/filters — текстовые правила, которые применяются к URL и содержимому.
Советы по миграции и совместимости
- При переносе конфигураций на другой сервер сохраняйте относительные пути и проверяйте версии Privoxy.
- Если вы используете DNS‑блокеры (Pi‑hole и пр.), спланируйте приоритет: Privoxy фильтрует содержимое, а DNS‑блокер — разрешение имён.
Короткое резюме
Privoxy — лёгкий и мощный инструмент для фильтрации веб‑трафика на Raspberry Pi. Установка проста: apt‑install, правка /etc/privoxy/config и перезапуск сервиса. Важно защитить административный доступ и хранить резервные копии конфигураций. Для внедрения в продакшен следуйте методике: резерв, минимальные изменения, тестирование и логирование.
Важное примечание: не открывайте порт 8118 в интернет без дополнительной аутентификации. Оставляйте резервные копии и документируйте изменения.
Похожие материалы
Праздничные подарки и почта в Animal Crossing
Как подключиться к Wi‑Fi в McDonald's
Редактирование изображений в JES — сохранить изображение
Как считать пустые ячейки в Google Sheets
JAR‑файлы: что это и как создавать