Як використовувати Raspberry Pi як проксі-сервер (з Privoxy)

Використання Raspberry Pi як проксі-сервера надає можливість контролювати доступ до вебсайтів. Цей метод дозволяє не тільки обмежувати відвідування певних ресурсів, але й очищати вебсторінки від слідкуючих скриптів та іншого небажаного вмісту. Далі описано кроки для налаштування проксі-сервера.

Проксі-сервер Privoxy

Веб-проксі функціонує як посередник між вашими пристроями в мережі та інтернетом. Він аналізує HTTP та HTTPS трафік, діючи як своєрідний “прикордонний контроль”. Проксі перевіряє запитувану веб-адресу (URL) і, якщо вона знаходиться в чорному списку або не відповідає встановленим критеріям, з’єднання блокується.

Якщо ж вебсайт є дозволеним, проксі-сервер отримує його вміст та передає його на пристрій, який ініціював запит. Це забезпечує певний рівень анонімності для пристроїв, підключених до вашої мережі.

Проксі-сервер сканує отримані вебсторінки на наявність трекінгових скриптів, реклами та іншого небажаного контенту. Весь цей “сміття” видаляється, і користувач отримує лише “чисту” вебсторінку. Це нагадує своєрідну санітарну обробку вебсайтів, видаляючи приховані елементи відстеження та порушення конфіденційності, які часто супроводжують відвідування інтернет-ресурсів.

Звісно, блокування реклами є неоднозначним питанням. Значна частина безкоштовного контенту в інтернеті фінансується саме за рахунок реклами. З іншого боку, з точки зору приватності, відстеження та взаємна кореляція дій користувача в інтернеті виглядають щонайменше неприємно, а в гіршому випадку – агресивно.

Privoxy (проксі, орієнтований на конфіденційність) дозволяє вирішити багато цих питань. Його централізоване управління спрощує адміністрування. Після налаштування браузерів на різних комп’ютерах в мережі для використання проксі-сервера, всі подальші зміни виконуються на самому проксі-сервері, а не на кожному окремому пристрої.

Інсталяція Privoxy

Для встановлення Privoxy, необхідно підключитися до Raspberry Pi через SSH. IP-адреса нашого тестового пристрою – 192.168.4.18, тому ми вводимо наступну команду:

ssh [email protected]

Оскільки ми плануємо встановлення нового програмного забезпечення, рекомендується спочатку оновити індекси репозиторію та встановити доступні оновлення. Це можна зробити за допомогою однієї команди, використовуючи оператор && для послідовного виконання двох команд apt-get. Друга команда буде виконана лише в разі успішного завершення першої.

Вводимо:

sudo apt-get update && sudo apt-get upgrade

Час виконання цієї команди може відрізнятися залежно від моделі Raspberry Pi та часу останнього оновлення. Після завершення процесу встановлюємо Privoxy:

sudo apt-get install privoxy

Налаштування з’єднань

За замовчуванням Privoxy приймає HTTP і HTTPS з’єднання лише з того комп’ютера, на якому він працює. Нам необхідно налаштувати його так, щоб він приймав з’єднання з інших комп’ютерів в мережі. Конфігураційний файл Privoxy розташований за шляхом “/etc/privoxy/config”. Для внесення змін потрібні права адміністратора (sudo).

Вводимо команду:

sudo nano /etc/privoxy/config

Файл конфігурації досить великий, проте більша його частина складається з коментарів та інструкцій. Прокручуємо його до початку розділу 4.2.

Необхідно знайти налаштування адреси прослуховування. Закоментуйте два початкових рядки, додавши на початку рядка символ решітки (#), а потім додайте наступний новий запис:

listen-address :8118

Ця команда вказує Privoxy приймати з’єднання через порт 8118 з будь-якої IP-адреси. Privoxy використовує набір фільтрів, які застосовуються до URL-адрес за допомогою правил, які називаються діями. Фільтри та дії можна редагувати як текстові файли, так і за допомогою браузерного інтерфейсу Privoxy.

Обліковий запис адміністратора Privoxy не захищений паролем, тому варто розглянути, чи потрібно вам активувати цю функцію у вашій мережі. Якщо так, прокрутіть файл донизу та введіть такий рядок:

enable-edit-actions 1

Для збереження змін натисніть Ctrl+O, потім Enter, а потім Ctrl+X, щоб закрити редактор.

Тепер необхідно перезапустити Privoxy, щоб зміни вступили в силу:

sudo systemctl restart privoxy

Можна скористатися командою systemctl щоб перевірити статус Privoxy та переконатися, що він запущений:

sudo systemctl status privoxy

Якщо все гаразд, повідомлень про помилки не буде. Спробуємо встановити віддалене адміністративне з’єднання через браузер. Відкрийте браузер на іншому комп’ютері та перейдіть за IP-адресою вашого Raspberry Pi на порт 8118.

У нашому випадку це:

192.168.4.18:8118

Ви побачите домашню сторінку Privoxy, як показано нижче.

Це означає, що Privoxy запущено та працює з параметрами за замовчуванням. Зазвичай, їх достатньо.

Наступним кроком є налаштування браузерів на всіх комп’ютерах в мережі для використання Privoxy як проксі-сервера.

Налаштування браузера

Всі сучасні браузери мають можливість налаштування проксі. Інструкцію можна знайти у довідці браузера. У Firefox, наприклад, достатньо ввести “about:preferences” в адресний рядок.

Перейдіть до розділу “Налаштування мережі” і натисніть “Налаштування”.

В розділі “Налаштування проксі-сервера” виберіть “Ручна конфігурація проксі”. Введіть IP-адресу Raspberry Pi в поле “HTTP проксі”, а в поле “Порт” введіть “8118”.

Поставте галочку біля опції “Використовувати цей проксі для FTP та HTTPS” (поля “Проксі HTTPS” та “Проксі FTP” будуть автоматично заповнені) та натисніть “ОК”.

Закрийте налаштування та відкрийте будь-який вебсайт – він повинен відображатися без проблем. Якщо це так, то Privoxy працює з налаштуваннями за замовчуванням.

Налаштування Privoxy

У браузері перейдіть за адресою config.privoxy.org.

На домашній сторінці Privoxy натисніть “Переглянути та змінити поточну конфігурацію”. На сторінці конфігурації можна переглянути налаштування дій та фільтрів.

Файли конфігурації можна редагувати безпосередньо в текстовому редакторі (шляхи до файлів вказані на екрані). Однак набагато зручніше використовувати браузерний інтерфейс. Важливо зауважити, що налаштування “default.action” не можна редагувати.

Натисніть “Редагувати” для відкриття налаштувань “Узгодити всі дії”.

Відкриється сторінка з параметрами редагування. Натиснувши на будь-який елемент синього кольору, ви перейдете на сторінку довідки з описом цього параметра.

Кнопки “Встановити обережно”, “Встановити середній” та “Налаштувати розширені” дозволяють змінювати рівень агресивності фільтрації Privoxy. Можна налаштувати Privoxy на максимально агресивну фільтрацію всього, що виглядає хоч трохи підозрілим. Або ж, навпаки, встановити менш жорсткі правила.

Для налаштування кожного параметра окремо натисніть “Редагувати”.

Виберіть значення “Увімкнено”, “Вимкнено” або “Без змін” для кожного параметра, натиснувши на відповідний перемикач.

Короткий опис кожного параметра наведено в стовпці “Опис”. Повне пояснення можна отримати, натиснувши на посилання у стовпці “Дія”.

Для збереження налаштувань натисніть “Надіслати” вгорі або внизу сторінки.

Спочатку випробуйте налаштування за замовчуванням

У більшості випадків налаштувань за замовчуванням достатньо для коректної роботи. Privoxy надає всі необхідні параметри для налаштування, якщо в цьому виникне потреба.

Перед тим як вносити будь-які зміни, радимо створити резервну копію текстових файлів налаштувань. Це дозволить легко відновити попередні налаштування у випадку, якщо ви заблокуєте доступ до інтерфейсу браузера.