Сменить язык
Русский English
Меню
Цены
Прокси
ТИПЫ ПРОКСИ
ПО ЛОКАЦИЯМ74 локации
Решения
СЦЕНАРИИВсе сценарии
Ресурсы
ОБУЧЕНИЕ
БЕСПЛАТНЫЕ ИНСТРУМЕНТЫ
СРАВНЕНИЕВсе сравнения

Как включить прокси только для некоторых сайтов в Chrome

Пересказать с ИИ ChatGPT Perplexity Claude Grok Google AI Mode
Содержание
  1. Есть ли в Chrome настройка прокси для отдельного сайта?
  2. Что делает PAC-скрипт?
  3. Какими способами можно передать Chrome PAC-скрипт?
  4. Может ли каждая вкладка работать через свой прокси?
  5. Почему правило с путём не срабатывает на HTTPS-сайтах?
  6. Какой способ выбрать?
  7. Короткие ответы

Коротко: В настольном Chrome нет настройки, которая включает прокси для отдельных сайтов. Браузер работает с одной конфигурацией прокси на весь трафик, и берёт её из операционной системы, флага запуска, политики администратора или расширения. Чтобы через прокси шли только некоторые сайты, Chrome нужен PAC-скрипт: короткая функция, которая выбирает прокси для каждого запроса. Её пишут вручную, или расширение собирает её из правил.

Чтобы в Chrome через прокси шли только определённые сайты, браузеру дают PAC-скрипт со списком этих сайтов, и Chrome сверяется с ним при каждом запросе. Взять скрипт браузер может из трёх мест: из операционной системы, из отдельно запущенного Chrome или из расширения.

Есть ли в Chrome настройка прокси для отдельного сайта?

Нет. На странице настроек Chrome есть единственный пункт про прокси, «Open your computer’s proxy settings» (открыть настройки прокси компьютера), и Chromium описывает эти настройки как действующие на весь компьютер (строки настроек Chromium).

Заметки Chromium о прокси называют четыре источника, из которых Chrome может взять конфигурацию прокси: политику администратора, флаги командной строки, расширение и операционную систему. Тот, что действует, задаёт одну конфигурацию на всё, что загружает браузер, а решение для отдельного сайта живёт внутри этой конфигурации в виде PAC-скрипта.

Что делает PAC-скрипт?

PAC-скрипт (proxy auto-configuration, автоматическая настройка прокси) это функция на JavaScript с именем FindProxyForURL. Chrome вызывает её для каждого запроса, передавая адрес и имя хоста, и использует строку, которую она возвращает: DIRECT, если прокси не нужен, или PROXY host:port для прокси-сервера. Так это описано в справочнике MDN по PAC.

Этот скрипт отправляет один домен и его поддомены через прокси, а всё остальное напрямую. Адрес прокси взят из диапазона, зарезервированного для документации (RFC 5737); подставьте вместо него свой.

function FindProxyForURL(url, host) {
  if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
    return "PROXY 203.0.113.10:8080";
  }
  return "DIRECT";
}

Добавьте по одному условию на каждый сайт, который должен идти через прокси. Последний return решает, что будет со всеми сайтами, которых нет в списке.

Какими способами можно передать Chrome PAC-скрипт?

Тремя: через системные настройки прокси, через отдельно запущенный Chrome или через расширение. Они различаются тем, какую часть компьютера затрагивают и как вступает в силу изменение.

Через системные настройки прокси

В Windows в настройках прокси есть пункт «setup script» (сценарий настройки), куда вписывают адрес скрипта, как показано в руководстве Microsoft, и Chrome следует системной настройке. Скрипт должен быть доступен по URL. Его будут использовать и все остальные приложения, которые читают системные настройки прокси, поэтому этот способ подходит для скрипта, рассчитанного на весь компьютер.

В отдельном экземпляре Chrome

Chrome принимает флаги прокси при запуске, они перечислены на странице сетевых настроек Chromium: --proxy-server задаёт один прокси, --proxy-bypass-list перечисляет хосты, которые его обходят, а --proxy-pac-url указывает на скрипт. Если запустить второй Chrome со своим --user-data-dir, он работает рядом с вашим обычным, потому что два запущенных экземпляра не могут делить один каталог данных (заметки Chromium о каталоге пользовательских данных).

google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"

Такой экземпляр пускает весь свой трафик через прокси, поэтому маршрут сайта определяется тем, в каком окне вы его открыли. Чтобы сменить прокси, экземпляр придётся закрыть и запустить снова с новыми флагами.

С помощью прокси-расширения

Расширение задаёт прокси Chrome для профиля, в который оно установлено, через API chrome.proxy, а переключатель с правилами собирает их в PAC-скрипт. Так работает наше бесплатное расширение ProxyJam Connector, в Chrome и в Microsoft Edge:

  1. Добавьте профиль с хостом, портом и протоколом прокси.
  2. Добавьте правило, например «Domain + subdomains» (домен и поддомены) с example.com, которое указывает на этот профиль. Срабатывает первое правило, подходящее под сайт.
  3. Оставьте запасной вариант на Direct, чтобы сайты, не подходящие ни под одно правило, подключались без прокси.
  4. Выберите Auto во всплывающем окне на панели инструментов.

Для сайта, подошедшего под правило, скрипт Connector называет только этот прокси, без прямого подключения в качестве запасного. Если прокси не работает, сайт не загрузится, и ваш собственный адрес для него не будет использован.

Может ли каждая вкладка работать через свой прокси?

В Chrome нет. API chrome.proxy хранит одно значение на профиль и не принимает вкладку в качестве параметра, так что у вкладки нет собственной настройки.

Рабочая единица здесь профиль или экземпляр. Создайте второй профиль Chrome для работы через прокси и установите расширение туда, или запустите второй экземпляр со своими флагами, и держите два окна рядом. Тогда у каждого окна будет свой прокси.

Почему правило с путём не срабатывает на HTTPS-сайтах?

От адреса https:// Chrome передаёт PAC-скрипту только схему, хост и порт. Путь, параметры запроса и фрагмент отрезаются начиная с Chrome 52, а настройку, которая это отключала, убрали в Chrome 75 (заметки Chromium о прокси).

Поэтому правило вроде example.com/shop/* не совпадёт ни с одной HTTPS-страницей. Пишите правила по имени хоста, а если разделу сайта нужен собственный маршрут, выделите ему отдельный поддомен. Обычные адреса http:// по-прежнему попадают в скрипт вместе с путём, хотя Chromium не советует на это полагаться. Connector показывает предупреждение рядом с любым правилом, которое зависит от пути.

Какой способ выбрать?

Для нескольких сайтов и одного прокси меньше всего работы с расширением, а на странице расширения перечислено, что Connector умеет и чего не умеет в Chrome. Прокси, который просит пароль, разобран в статье почему Chrome постоянно спрашивает логин и пароль прокси, а перенос правил из старого переключателя в статье что изменилось с Manifest V3.

Если прокси, через который идут эти сайты, должен сохранять один адрес, зарегистрированный на интернет-провайдера, это и есть ISP-прокси. ProxyJam продаёт статические резидентные (ISP) прокси на странице ISP-прокси, цены на странице цен.

Откуда берётся маршрутизация и на что влияет каждый способ

Охват взят из документации Chromium о том, откуда браузер читает настройки прокси, и из описаний самих флагов; остальное следует из того, как настраивается каждый способ. Скорость и надёжность мы не измеряли. Когда маршрут выбирает PAC-скрипт, Chrome передаёт ему HTTPS-адрес только в виде схемы, хоста и порта.
Системные настройки проксиОтдельный экземпляр ChromeПрокси-расширение
На что влияетНа все приложения компьютера, которые читают системные настройкиТолько на окна этого экземпляраНа профиль Chrome, в который установлено расширение
Как выбираются сайтыPAC-скриптом, размещённым по URLТем, в каком окне вы открываете сайтПравилами, которые расширение превращает в PAC-скрипт
Как изменить настройкуОтредактировать размещённый скриптЗакрыть и запустить заново с новыми флагамиИзменить правило в расширении
Прокси с паролемChrome спрашивает в диалоговом окнеChrome спрашивает в диалоговом окнеРасширение может ответить за HTTP- и HTTPS-прокси

Убедитесь, каким маршрутом пошёл сайт

  1. Добавьте проверочную страницу в список на минуту

    Добавьте proxyjam.com к сайтам, которые ваш скрипт или правила отправляют через прокси, рядом с нужными вам сайтами.

  2. Откройте проверочную страницу

    What Is My IP показывает адрес, с которого пришёл запрос, а также интернет-провайдера и сеть (ASN), которым этот адрес принадлежит. И то и другое должно быть от прокси.

  3. Уберите её из списка и обновите страницу

    Теперь страница должна показать ваше собственное подключение. Если оба результата совпали с ожидаемыми, сайты из списка идут через прокси, а остальные напрямую.

Короткие ответы

Список исключений Chrome делает то же самое?

Он делает обратное. Флаг --proxy-bypass-list перечисляет хосты, которые обходят прокси, и действует только вместе с --proxy-server, поэтому всё, чего нет в списке, идёт через прокси. Чтобы пустить через прокси короткий список сайтов, а остальные оставить напрямую, используйте PAC-скрипт.

В окнах инкогнито тот же прокси?

Да, по умолчанию. Документация API прокси Chrome говорит, что окна инкогнито наследуют настройки обычных окон, а расширение при необходимости может задать для инкогнито отдельное значение.

Почему Chrome пишет, что использует настройки прокси из расширения?

Прокси задало расширение, а Chrome позволяет расширению или политике администратора определять эту настройку вместо системной. Отключите расширение или переключите его в режим Direct (напрямую), чтобы вернуть управление.

Что происходит с сайтами, которые не подходят ни под одно правило?

Они получают то, что скрипт возвращает в конце. В примере скрипта это DIRECT, поэтому такие сайты подключаются без прокси. В ProxyJam Connector это называется запасным вариантом (fallback), и он стоит на Direct, пока вы не выберете другое. Браузерное расширение

Источники