Як налаштувати підключення до проксі-сервера у Firefox
Mozilla Firefox забезпечує нативне, гранульоване налаштування проксі, яке дозволяє маршрутизувати трафік браузера через проміжний сервер — без встановлення будь-яких сторонніх розширень. Незалежно від того, чи потрібно вам спрямовувати трафік через корпоративний шлюз, тестувати геообмежений контент або ізолювати сеанси перегляду від системного проксі, вбудована панель Connection Settings Firefox надає вам повний контроль над кожним проксі-протоколом незалежно.
Цей посібник охоплює всі режими конфігурації, які підтримує Firefox, пояснює технічні відмінності між проксі-протоколами та вказує на реальні підводні камені, які більшість посібників повністю оминають.
Чому варто налаштовувати проксі безпосередньо у Firefox, а не на рівні системи
Більшість операційних систем надають глобальне налаштування проксі, яке успадковують усі програми. Firefox може використовувати ці налаштування, але конфігурування проксі на рівні браузера має очевидні переваги:
- Ізоляція на рівні програми: Системний проксі залишається незмінним, тоді як Firefox маршрутизує трафік через окремий сервер — корисно для розробників, які запускають локальні сервіси поряд із проксі-переглядом.
- Гранулярність на рівні протоколу: Firefox дозволяє призначати різні проксі-сервери для HTTP, HTTPS та SOCKS трафіку незалежно, чого не може зробити загальносистемне налаштування.
- Швидке перемикання без прав адміністратора: На заблокованих корпоративних машинах у вас може не бути дозволу на зміну мережевих налаштувань ОС, але ви все одно можете змінити власну конфігурацію Firefox.
- Підтримка PAC-файлів: Firefox може завантажувати скрипт автоматичного налаштування проксі з URL, забезпечуючи динамічну маршрутизацію на основі правил, яку системні проксі рідко підтримують на такому рівні гнучкості.
Якщо ви використовуєте середовище VPS Hosting і вам потрібно перевірити, як ваш сервер відповідає на запити з різних географічних вузлів виходу, конфігурація проксі на рівні браузера — найшвидший спосіб змоделювати це без зміни мережевого стека вашого сервера.
Розуміння режимів конфігурації проксі у Firefox
Перш ніж змінювати будь-які налаштування, зрозумійте, що насправді робить кожен режим.
| Режим | Як працює | Найкращий варіант використання |
|---|---|---|
| — | — | — |
| No Proxy | Пряме з’єднання; Firefox ігнорує будь-який системний проксі | Локальна розробка, довірені мережі |
| Auto-detect (WPAD) | Надсилає запит DHCP/DNS для PAC-файлу `wpad.dat` | Керовані корпоративні мережі з інфраструктурою WPAD |
| Use system proxy settings | Зчитує конфігурацію проксі ОС (наприклад, Windows Internet Options, macOS Network Preferences) | Узгодженість з іншими програмами на тому самому комп’ютері |
| Manual proxy configuration | Ви вказуєте адресу сервера та порт для кожного протоколу | Особисті проксі, SOCKS5 тунелі, переадресація портів SSH |
| Automatic proxy configuration URL | Завантажує та виконує PAC-файл з URL, який ви вказуєте | Багаторегіональні налаштування, пули проксі з балансуванням навантаження |
Автовиявлення WPAD несе реальний ризик безпеки: у ненадійних мережах (публічний Wi-Fi, спільні офісні LAN) шкідливий DHCP-сервер може надати підроблений файл wpad.dat і перенаправити весь ваш трафік. Якщо ви не перебуваєте в мережі, яку контролюєте, уникайте цього режиму.
Покрокова інструкція: налаштування проксі-сервера у Firefox
Крок 1 — Відкрийте налаштування Firefox
Запустіть Firefox і відкрийте панель налаштувань одним із таких способів:
- Натисніть меню-гамбургер (три горизонтальні лінії) у верхньому правому куті, потім виберіть Settings.
- Введіть
about:preferencesбезпосередньо в адресний рядок і натисніть Enter. - На macOS пункт меню називається Preferences, а не Settings — обидва відкривають одну й ту саму панель.
Крок 2 — Перейдіть до мережевих налаштувань
На сторінці Settings залишайтеся на вкладці General (вона завантажується за замовчуванням). Прокрутіть сторінку до самого низу, поки не побачите розділ Network Settings. Натисніть кнопку Settings…, щоб відкрити діалогове вікно Connection Settings.
Крім того, скористайтеся рядком пошуку у верхній частині сторінки Settings і введіть proxy — Firefox одразу виділить відповідний розділ.
Крок 3 — Виберіть режим конфігурації проксі
Діалогове вікно Connection Settings містить п’ять варіантів з перемикачами. Виберіть той, що відповідає вашій інфраструктурі. Для більшості ручних налаштувань ви оберете Manual proxy configuration — детально розглянуто в наступному розділі.
Крок 4 — Детальне налаштування ручного проксі
Вибір Manual proxy configuration відкриває окремі поля для кожного протоколу. Ось що контролює кожне поле і що вам потрібно знати про кожне з них:
HTTP Proxy
Введіть IP-адресу або ім’я хоста вашого проксі-сервера та його порт (зазвичай 3128, 8080 або 8888). Цей проксі обробляє звичайний HTTP-трафік. Зверніть увагу, що в сучасному Firefox поле HTTP Proxy також перехоплює HTTPS-запити за замовчуванням через метод тунелювання CONNECT — це означає, що ваш HTTPS-трафік тунелюється через цей проксі, навіть якщо поле SSL Proxy залишено порожнім.
SSL Proxy
Історично використовувався для окремого HTTPS-проксі. У поточних версіях Firefox, якщо ви заповните поле HTTP Proxy і залишите SSL Proxy порожнім, HTTPS все одно проксіюватиметься через CONNECT. Заповнюйте це поле лише якщо ваша інфраструктура маршрутизує SSL-трафік через окремий кінцевий пункт.
SOCKS Host
Для SOCKS-проксі введіть тут хост і порт. Також необхідно вибрати версію SOCKS:
- SOCKS v4: Підтримує лише TCP, без автентифікації, без IPv6, без UDP. Простіший, але обмежений.
- SOCKS v5: Підтримує TCP і UDP, необов’язкову автентифікацію за іменем користувача/паролем та повну підтримку IPv6. Завжди надавайте перевагу SOCKS v5, якщо ваш проксі явно не вимагає v4.
При виборі SOCKS v5 з’являється критичний підпараметр: Proxy DNS when using SOCKS v5. Увімкнення цього прапорця надсилає запити DNS-розпізнавання через SOCKS-проксі, а не розпізнає їх локально. Це важливо для конфіденційності та запобігання витокам. Якщо залишити його вимкненим, ваші DNS-запити надходять до вашого локального резолвера, навіть якщо трафік проходить через проксі — витік DNS, який може розкрити кожне ім’я хоста, яке ви відвідуєте, вашому провайдеру або локальній мережі.
Use this proxy server for all protocols
Встановлення цього прапорця копіює те, що ви ввели в поле HTTP Proxy, у всі інші поля протоколів. Використовуйте його лише тоді, коли ваш проксі-сервер дійсно обробляє всі протоколи на одній адресі та порту. Бездумне увімкнення цього параметра при наявності лише SOCKS-проксі призведе до збоїв.
No Proxy for
Розділений комами список імен хостів, IP-адрес і діапазонів CIDR, які повністю обходять проксі. Завжди включайте як мінімум:
localhost, 127.0.0.1, ::1Для корпоративних середовищ додайте суфікс вашого внутрішнього домену (наприклад, .corp.example.com) та будь-які підмережі RFC 1918, до яких вашим програмам потрібно звертатися безпосередньо. Якщо забути про це, локальні сервери розробки та внутрішні інструменти будуть маршрутизуватися через проксі, що або зламає їх, або призведе до витоку внутрішніх імен хостів на зовнішній сервер.
Крок 5 — URL автоматичного налаштування проксі (PAC-файл)
Якщо ви керуєте пулом проксі або вам потрібна маршрутизація на основі правил, виберіть Automatic proxy configuration URL і введіть URL вашого PAC-файлу. PAC-файл — це JavaScript-файл, що містить функцію FindProxyForURL(url, host). Firefox завантажує та кешує цей файл, а потім викликає функцію для кожного запиту, щоб визначити, який проксі (або пряме з’єднання) використовувати.
Приклад мінімального PAC-файлу:
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*.internal.example.com")) {
return "DIRECT";
}
if (isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0")) {
return "DIRECT";
}
return "SOCKS5 192.0.2.10:1080; DIRECT";
}Це маршрутизує внутрішні хости безпосередньо, обходить адреси RFC 1918 і використовує SOCKS5-проксі для всього іншого з переходом на пряме з’єднання, якщо проксі недоступний.
Крок 6 — Збережіть і перевірте конфігурацію
Натисніть OK, щоб застосувати налаштування. Firefox застосовує налаштування проксі негайно до нових з’єднань — повний перезапуск браузера не потрібен, хоча перезапуск очищає будь-які кешовані прямі з’єднання.
Щоб перевірити, чи активний проксі, відвідайте сайт на кшталт https://ifconfig.me або https://ipinfo.io. Показана IP-адреса має відповідати вихідній IP вашого проксі-сервера, а не вашій локальній IP.
Якщо ви бачите помилку «Proxy server is refusing connections», найпоширеніші причини такі:
- Неправильний номер порту
- Процес проксі не запущено або прив’язано до іншого інтерфейсу
- Брандмауер на проксі-сервері блокує вашу вихідну IP
- Проксі вимагає автентифікації, а Firefox ще не запитав облікові дані
Якщо ви бачите помилку «The proxy server is not responding», адреса хоста недоступна — перевірте DNS-розпізнавання, маршрутизацію та чи онлайн сервер.
Крок 7 — Автентифікація проксі
Якщо ваш проксі-сервер вимагає облікових даних, Firefox відобразить діалогове вікно автентифікації під час першої спроби з’єднання через цей проксі. Введіть ім’я користувача та пароль. Firefox кешує ці облікові дані на час сеансу і, якщо ви дозволите, у менеджері паролів для майбутніх сеансів.
Для проксі, які вимагають автентифікації, але використовуються в автоматизованих або безголових контекстах, облікові дані можна вбудувати безпосередньо в PAC-файл або керувати ними через параметри network.proxy.socks_username та network.proxy.socks_password у about:config — хоча зберігання облікових даних у відкритому тексті у файлах конфігурації має очевидні наслідки для безпеки.
Крок 8 — Вимкнення проксі
Щоб повернутися до прямого з’єднання, поверніться до Settings > Network Settings і виберіть No Proxy, потім натисніть OK. Щоб відновити загальносистемну поведінку проксі, виберіть натомість Use system proxy settings.
Розширена конфігурація через about:config
Для сценаріїв, де графічного інтерфейсу недостатньо, Firefox надає кожен параметр проксі як налаштування в about:config. Ключові параметри включають:
| Ключ параметра | Тип | Опис |
|---|---|---|
| — | — | — |
| `network.proxy.type` | Integer | 0=Без проксі, 1=Ручний, 2=PAC URL, 4=Автовиявлення, 5=Системний |
| `network.proxy.http` | String | Ім’я хоста HTTP-проксі |
| `network.proxy.http_port` | Integer | Порт HTTP-проксі |
| `network.proxy.socks` | String | Ім’я хоста SOCKS-проксі |
| `network.proxy.socks_port` | Integer | Порт SOCKS-проксі |
| `network.proxy.socks_version` | Integer | 4 або 5 |
| `network.proxy.socks_remote_dns` | Boolean | Увімкнути DNS через SOCKS (запобігає витокам DNS) |
| `network.proxy.no_proxies_on` | String | Список обходу, розділений комами |
| `network.proxy.autoconfig_url` | String | URL PAC-файлу |
Ці параметри також можна заблокувати через mozilla.cfg або групову політику в корпоративних розгортаннях, запобігаючи зміні налаштувань проксі користувачами.
Порівняння проксі-протоколів: HTTP, HTTPS, SOCKS4 та SOCKS5
| Функція | HTTP Proxy | HTTPS Proxy (CONNECT) | SOCKS4 | SOCKS5 |
|---|---|---|---|---|
| — | — | — | — | — |
| Обізнаність про протокол | Лише HTTP | HTTP + тунелювання HTTPS | Лише TCP | TCP + UDP |
| DNS-розпізнавання | Локальне | Локальне | Локальне | Віддалене (необов’язково) |
| Автентифікація | Basic/Digest | Basic/Digest | Відсутня | Ім’я користувача/Пароль |
| Підтримка IPv6 | Залежить від сервера | Залежить від сервера | Ні | Так |
| Трафік не-HTTP | Ні | Ні | Ні | Так |
| Рівень анонімності | Низький (заголовки відкриті) | Середній | Середній | Високий (з віддаленим DNS) |
| Типовий варіант використання | Корпоративна фільтрація | Загальний HTTPS-перегляд | Застарілі системи | SSH-тунелі, конфіденційність |
Для випадків використання з акцентом на конфіденційність SOCKS5 з увімкненим віддаленим DNS є найпотужнішим варіантом, доступним у нативній конфігурації Firefox. Він обробляє весь TCP-трафік, розпізнає DNS на стороні проксі та підтримує автентифікацію — що робить його придатним для маршрутизації через SSH-тунель (ssh -D 1080) або виділений SOCKS5-сервер, що працює на Dedicated Server.
Міркування щодо безпеки та конфіденційності
Ризик перехоплення трафіку: Кожен байт вашого незашифрованого HTTP-трафіку проходить через проксі-сервер у відкритому вигляді. Навіть для HTTPS проксі бачить ім’я хоста призначення через запит CONNECT. Використовуйте проксі лише від провайдерів або інфраструктури, яку ви контролюєте або явно довіряєте.
Перехоплення сертифікатів: Деякі корпоративні та «прозорі» HTTPS-проксі виконують SSL-інспекцію, діючи як посередник і надаючи Firefox власний сертифікат. Firefox попередить вас, якщо кореневий CA проксі не встановлено у вашому сховищі сертифікатів. Якщо після увімкнення проксі ви бачите несподівані попередження про сертифікати, це, швидше за все, і є причиною.
Витоки WebRTC: Реалізація WebRTC у Firefox може обходити налаштування проксі та розкривати вашу реальну IP-адресу через STUN-запити. Щоб запобігти цьому, встановіть media.peerconnection.enabled у значення false у about:config, якщо WebRTC не потрібен, або використовуйте розширення браузера, яке контролює поведінку WebRTC.
Обхід проксі через прямий DNS: Як зазначалося раніше, завжди вмикайте Proxy DNS when using SOCKS v5, щоб запобігти витокам DNS. Поєднання SOCKS5-проксі з належно налаштованим SSL Certificate на вашому вихідному сервері забезпечує наскрізне шифрування, навіть коли трафік проходить через проміжну інфраструктуру.
Розкриття облікових даних: Автентифікація HTTP-проксі надсилає облікові дані у кодуванні Base64, яке тривіально розкодовується. Якщо ваш проксі вимагає автентифікації, переконайтеся, що з’єднання з самим проксі зашифроване (тобто використовуйте HTTPS або SOCKS5-проксі через TLS, або SSH-тунель).
Налаштування власного проксі-сервера
Використання стороннього проксі-сервісу означає довіру цьому провайдеру щодо вашого трафіку. Запуск власного проксі на VPS дає вам повний контроль. Мінімальний SOCKS5-проксі з використанням dante на сервері Debian/Ubuntu:
apt update && apt install dante-server -yВідредагуйте /etc/danted.conf:
logoutput: syslog
internal: 0.0.0.0 port = 1080
external: eth0
clientmethod: none
socksmethod: username
user.privileged: root
user.notprivileged: nobody
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
socksmethod: username
log: connect disconnect
}systemctl enable danted --nowПотім у полі SOCKS Host у Firefox введіть IP вашого VPS і порт 1080, виберіть SOCKS v5 і увімкніть Proxy DNS when using SOCKS v5. Це налаштування, що працює на VPS з cPanel або звичайному VPS, надає вам приватний автентифікований SOCKS5-проксі з повним контролем журналювання.
Для команд, яким потрібна спільна проксі-інфраструктура, Shared Web Hosting не підходить для запуску проксі-демонів — вам потрібен VPS або виділений сервер з root-доступом і можливістю відкривати довільні порти.
Ключові висновки та матриця рішень
Використовуйте цей контрольний список перед завершенням конфігурації проксі у Firefox:
- Обирайте SOCKS v5 замість SOCKS v4 завжди, коли проксі-сервер це підтримує — підтримка UDP, IPv6 та віддаленого DNS є обов’язковою для сучасних випадків використання.
- Увімкніть «Proxy DNS when using SOCKS v5», якщо конфіденційність або запобігання витокам є вимогою.
- Заповніть поле «No Proxy for» значеннями
localhost,127.0.0.1,::1та будь-якими внутрішніми підмережами або суфіксами доменів. - Перевірте вихідну IP за допомогою
ifconfig.meабо аналогічного сервісу після застосування налаштувань. - Вимкніть WebRTC через
about:config, якщо метою є анонімність. - Уникайте режиму автовиявлення WPAD у ненадійних мережах.
- Переконайтеся, що автентифікація проксі використовує зашифрований канал, якщо потрібні облікові дані.
- Розгляньте можливість запуску власного проксі на контрольованому VPS, а не покладайтеся на сторонній сервіс для конфіденційного трафіку.
Якщо вам потрібна динамічна маршрутизація на основі правил через кілька вузлів виходу, витратьте час на написання PAC-файлу — це набагато зручніше в обслуговуванні, ніж щоразу вручну перелаштовувати Firefox при зміні топології проксі.
Часті запитання
Чи впливає налаштування проксі у Firefox на інші браузери або системні програми?
Ні. Firefox зберігає налаштування проксі незалежно від операційної системи. Зміни, внесені в Connection Settings Firefox, не мають жодного впливу на Chrome, системний curl або будь-яку іншу програму. Через налаштований проксі маршрутизується лише трафік, що надходить від Firefox.
Чому мій HTTPS-трафік все одно проходить через проксі, хоча я залишив поле SSL Proxy порожнім?
Це очікувана поведінка в сучасному Firefox. Коли налаштовано HTTP Proxy, Firefox використовує метод HTTP CONNECT для тунелювання HTTPS-з’єднань через той самий проксі. Поле SSL Proxy актуальне лише якщо ви хочете, щоб HTTPS-трафік проходив через інший кінцевий пункт проксі, ніж HTTP-трафік.
Як запобігти витокам DNS при використанні SOCKS5-проксі у Firefox?
Відкрийте Connection Settings, виберіть ваш SOCKS v5-проксі та встановіть прапорець Proxy DNS when using SOCKS v5. Крім того, встановіть network.proxy.socks_remote_dns у значення true у about:config. Це змушує Firefox надсилати DNS-запити через SOCKS-тунель, а не розпізнавати їх локально.
Чи можна використовувати налаштування проксі Firefox з SSH-тунелем?
Так. Створіть локальний SOCKS5-тунель за допомогою ssh -D 1080 -N user@your-server.com, потім налаштуйте Firefox на використання 127.0.0.1 на порту 1080 як SOCKS v5-проксі з увімкненим віддаленим DNS. Весь трафік Firefox буде зашифровано через SSH-тунель до вашого віддаленого сервера перед виходом в інтернет.
У чому різниця між «Auto-detect proxy settings» та «Automatic proxy configuration URL»?
Автовиявлення використовує протокол WPAD для автоматичного виявлення PAC-файлу через DHCP або DNS — ви не вказуєте жодного URL. Automatic proxy configuration URL вимагає від вас явно вказати URL PAC-файлу. Останній варіант є більш передбачуваним, більш безпечним і рекомендованим, коли ви заздалегідь знаєте розташування PAC-файлу.
