15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати
21.10.2024

Як налаштувати підключення до проксі-сервера у 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`Integer0=Без проксі, 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`Integer4 або 5
`network.proxy.socks_remote_dns`BooleanУвімкнути DNS через SOCKS (запобігає витокам DNS)
`network.proxy.no_proxies_on`StringСписок обходу, розділений комами
`network.proxy.autoconfig_url`StringURL PAC-файлу

Ці параметри також можна заблокувати через mozilla.cfg або групову політику в корпоративних розгортаннях, запобігаючи зміні налаштувань проксі користувачами.

Порівняння проксі-протоколів: HTTP, HTTPS, SOCKS4 та SOCKS5

ФункціяHTTP ProxyHTTPS Proxy (CONNECT)SOCKS4SOCKS5
Обізнаність про протоколЛише HTTPHTTP + тунелювання HTTPSЛише TCPTCP + UDP
DNS-розпізнаванняЛокальнеЛокальнеЛокальнеВіддалене (необов’язково)
АвтентифікаціяBasic/DigestBasic/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-файлу.

15%

Збережіть 15% на всі хостинг-послуги

Перевірте свої навички і отримайте Знижку на будь-який план хостингу

Використовуй код:

Skills
Почати