15%

Спести 15% на всички хостинг услуги

Тествай уменията си и получи Отстъпка за всеки хостинг план

Използвайте код:

Skills
За начало
21.10.2024

Как да настроите връзка с прокси сървър във Firefox

Mozilla Firefox предоставя вградена, детайлна конфигурация на прокси, която ви позволява да насочвате браузър трафика през междинен сървър — без да инсталирате разширения на трети страни. Независимо дали трябва да принудите трафика да минава през корпоративен шлюз, да тествате гео-ограничено съдържание или да изолирате сесиите за сърфиране от системния прокси, вграденият панел Connection Settings на Firefox ви дава пълен контрол над всеки прокси протокол поотделно.

Това ръководство обхваща всички режими на конфигурация, поддържани от Firefox, обяснява техническите разлики между прокси протоколите и посочва реалните проблеми, които повечето уроци напълно пропускат.

Защо да конфигурирате прокси директно във Firefox вместо системно

Повечето операционни системи предоставят глобална настройка за прокси, която всички приложения наследяват. Firefox може да използва тези настройки, но конфигурирането на прокси на ниво браузър предлага отличителни предимства:

  • Изолация на ниво приложение: Системният ви прокси остава непроменен, докато Firefox насочва трафика през отделен сървър — полезно за разработчици, изпълняващи локални услуги едновременно с проксирано сърфиране.
  • Детайлност на ниво протокол: Firefox ви позволява да задавате различни прокси сървъри за HTTP, HTTPS и SOCKS трафик поотделно, което системната настройка не може да направи.
  • Бързо превключване без администраторски права: На заключени корпоративни машини може да нямате разрешение да променяте мрежовите настройки на ОС, но пак можете да коригирате собствената конфигурация на Firefox.
  • Поддръжка на PAC файл: Firefox може да зареди скрипт за автоматична конфигурация на прокси (Proxy Auto-Configuration) от URL адрес, позволявайки динамично, базирано на правила маршрутизиране, което системните прокси рядко поддържат на това ниво на гъвкавост.

Ако използвате среда за VPS Хостинг и трябва да тествате как вашият сървър отговаря на заявки от различни географски изходни точки, конфигурацията на прокси на ниво браузър е най-бързият начин да симулирате това, без да докосвате мрежовия стек на сървъра.

Разбиране на режимите за конфигурация на прокси във Firefox

Преди да докоснете каквато и да е настройка, разберете какво всъщност прави всеки режим под капака.

РежимКак работиНай-добър случай на употреба
Без проксиДиректна връзка; Firefox игнорира всеки системен проксиЛокална разработка, доверени мрежи
Автоматично откриване (WPAD)Изпраща DHCP/DNS заявка за `wpad.dat` PAC файлУправлявани корпоративни мрежи с WPAD инфраструктура
Използване на системните настройки за проксиЧете конфигурацията на прокси от ОС (напр. Windows Internet Options, macOS Network Preferences)Съответствие с другите приложения на същата машина
Ръчна конфигурация на проксиЗадавате адрес на сървъра и порт за всеки протоколЛични прокси, SOCKS5 тунели, SSH пренасочване на портове
URL адрес за автоматична конфигурация на проксиИзтегля и изпълнява PAC файл от предоставен от вас URL адресМногорегионални настройки, пулове от прокси с балансиране на натоварването

Автоматичното откриване чрез WPAD носи реален риск за сигурността: в ненадеждни мрежи (обществен Wi-Fi, споделени офис LAN мрежи), злонамерен DHCP сървър може да предостави фалшив wpad.dat файл и да пренасочи целия ви трафик. Освен ако не сте в мрежа, която контролирате, избягвайте този режим.

Стъпка по стъпка: Конфигуриране на прокси сървър във Firefox

Стъпка 1 — Отворете настройките на Firefox

Стартирайте Firefox и отворете панела с настройки, като използвате някой от следните методи:

  • Кликнете върху менюто хамбургер (три хоризонтални линии) в горния десен ъгъл, след което изберете Settings.
  • Въведете about:preferences директно в адресната лента и натиснете Enter.
  • На macOS, записът в менюто се чете като Preferences, а не Settings — и двата отварят един и същи панел.

Стъпка 2 — Навигирайте до мрежовите настройки

В страницата с настройки останете на раздела General (зарежда се по подразбиране). Превъртете до самото дъно на страницата, докато стигнете до секцията Network Settings. Кликнете върху бутона Settings…, за да отворите диалога Connection 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 изтичане, което може да разкрие всеки хостнейм, който посещавате, на вашия ISP или локална мрежа.

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 кешира тези идентификационни данни за сесията и, ако му позволите, в Password Manager за бъдещи сесии.

За прокси, изискващи удостоверяване, но използвани в автоматизирани или headless контексти, идентификационните данни могат да бъдат вградени директно в PAC файла или управлявани чрез предпочитанията network.proxy.socks_username и network.proxy.socks_password в about:config — въпреки че съхраняването на идентификационни данни в обикновен текст в конфигурационни файлове носи очевидни последици за сигурността.

Стъпка 8 — Деактивиране на прокси

За да се върнете към директна връзка, отидете в Settings > Network Settings и изберете No Proxy, след което кликнете OK. За да възстановите системното поведение на прокси, изберете Use system proxy settings.

Разширена конфигурация чрез about:config

За сценарии, при които GUI е недостатъчен, 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-over-SOCKS (предотвратява DNS изтичане)
`network.proxy.no_proxies_on`StringСписък за заобикаляне, разделен със запетаи
`network.proxy.autoconfig_url`StringURL адрес на PAC файл

Тези предпочитания могат също да бъдат заключени чрез mozilla.cfg или Group Policy в корпоративни внедрявания, предотвратявайки потребителите да променят настройките на прокси.

Сравнение на прокси протоколи: 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 инспекция, действайки като man-in-the-middle, представяйки собствения си сертификат на Firefox. Firefox ще ви предупреди, освен ако root CA на прокси не е инсталиран в хранилището ви за сертификати. Ако виждате неочаквани предупреждения за сертификати след активиране на прокси, това е вероятната причина.

WebRTC изтичания: Имплементацията на WebRTC на Firefox може да заобиколи настройките на прокси и да разкрие реалния ви IP адрес чрез STUN заявки. За да предотвратите това, задайте media.peerconnection.enabled на false в about:config, ако WebRTC не е необходим, или използвайте разширение за браузър, което контролира поведението на WebRTC.

Заобикаляне на прокси чрез директен DNS: Както беше отбелязано по-рано, винаги активирайте Proxy DNS when using SOCKS v5, за да предотвратите DNS изтичания. Комбинирането на SOCKS5 прокси с правилно конфигуриран SSL сертификат на вашия изходен сървър осигурява криптиране от край до край, дори когато трафикът преминава през междинна инфраструктура.

Излагане на идентификационни данни: 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 въведете вашия VPS IP и порт 1080, изберете SOCKS v5 и активирайте Proxy DNS when using SOCKS v5. Тази настройка, работеща на VPS с cPanel или обикновен VPS, ви дава частен, удостоверен SOCKS5 прокси с пълен контрол върху логовете.

За екипи, нуждаещи се от споделена прокси инфраструктура, Споделен уеб хостинг не е подходящ за изпълнение на прокси демони — нуждаете се от VPS или dedicated сървър с 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
За начало