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

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

- Canonical: https://proxyjam.com/ru/blog/chrome-proxy-for-specific-sites/
- Updated: 2026-10-08
- Language: ru

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


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

1. **Добавьте проверочную страницу в список на минуту** Добавьте proxyjam.com к сайтам, которые ваш скрипт или правила отправляют через прокси, рядом с нужными вам сайтами.
2. **Откройте проверочную страницу** [What Is My IP](/what-is-my-ip/) показывает адрес, с которого пришёл запрос, а также интернет-провайдера и сеть (ASN), которым этот адрес принадлежит. И то и другое должно быть от прокси.
3. **Уберите её из списка и обновите страницу** Теперь страница должна показать ваше собственное подключение. Если оба результата совпали с ожидаемыми, сайты из списка идут через прокси, а остальные напрямую.

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

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

Охват взят из документации Chromium о том, откуда браузер читает настройки прокси, и из описаний самих флагов; остальное следует из того, как настраивается каждый способ. Скорость и надёжность мы не измеряли. Когда маршрут выбирает PAC-скрипт, Chrome передаёт ему HTTPS-адрес только в виде схемы, хоста и порта.


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

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

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

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

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

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

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

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

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


## Источники

- [Chromium: заметки о поддержке прокси (proxy.md)](https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md): откуда Chrome читает настройки прокси и то, что с Chrome 52 PAC-скрипты получают HTTPS-адреса без пути и параметров запроса
- [Chromium: строки настроек](https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/app/settings_strings.grdp): пункт «Open your computer's proxy settings», который описан как открывающий настройки для всего компьютера
- [Chromium: сетевые настройки](https://www.chromium.org/developers/design-documents/network-settings/): флаги `--proxy-server`, `--proxy-bypass-list` и `--proxy-pac-url`
- [Chromium: каталог пользовательских данных](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md): флаг `--user-data-dir` и то, что два запущенных экземпляра не могут делить один каталог
- [Chrome for Developers: API chrome.proxy](https://developer.chrome.com/docs/extensions/reference/api/proxy): режимы прокси, которые может задать расширение, и наследование обычной настройки окнами инкогнито
- [Chrome for Developers: API chrome.types](https://developer.chrome.com/docs/extensions/reference/api/types): области, в которых может храниться настройка, включая только для инкогнито
- [MDN: файл автоматической настройки прокси (PAC)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file): функция FindProxyForURL, её возвращаемые значения и dnsDomainIs
- [Microsoft Support: использование прокси-сервера в Windows](https://support.microsoft.com/en-us/windows/experience/connectivity-networking/use-a-proxy-server-in-windows): как указать Windows скрипт настройки прокси
- [RFC 5737: блоки адресов IPv4, зарезервированные для документации](https://www.rfc-editor.org/rfc/rfc5737.html): диапазон 203.0.113.0/24, из которого взят адрес прокси в примере




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

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

Нет. На странице настроек Chrome есть единственный пункт про прокси, «Open your
computer's proxy settings» (открыть настройки прокси компьютера), и Chromium
описывает эти настройки как действующие на весь компьютер
([строки настроек Chromium](https://chromium.googlesource.com/chromium/src/+/HEAD/chrome/app/settings_strings.grdp)).

[Заметки Chromium о прокси](https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md)
называют четыре источника, из которых Chrome может взять конфигурацию прокси:
политику администратора, флаги командной строки, расширение и операционную
систему. Тот, что действует, задаёт одну конфигурацию на всё, что загружает
браузер, а решение для отдельного сайта живёт внутри этой конфигурации в виде
PAC-скрипта.

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

PAC-скрипт (proxy auto-configuration, автоматическая настройка прокси) это
функция на JavaScript с именем `FindProxyForURL`. Chrome вызывает её для
каждого запроса, передавая адрес и имя хоста, и использует строку, которую она
возвращает: `DIRECT`, если прокси не нужен, или `PROXY host:port` для
прокси-сервера. Так это описано в
[справочнике MDN по PAC](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Proxy_servers_and_tunneling/Proxy_Auto-Configuration_PAC_file).

Этот скрипт отправляет один домен и его поддомены через прокси, а всё остальное
напрямую. Адрес прокси взят из диапазона, зарезервированного для документации
([RFC 5737](https://www.rfc-editor.org/rfc/rfc5737.html)); подставьте вместо
него свой.

```javascript
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](https://support.microsoft.com/en-us/windows/experience/connectivity-networking/use-a-proxy-server-in-windows),
и Chrome следует системной настройке. Скрипт должен быть доступен по URL. Его
будут использовать и все остальные приложения, которые читают системные
настройки прокси, поэтому этот способ подходит для скрипта, рассчитанного на
весь компьютер.

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

Chrome принимает флаги прокси при запуске, они перечислены на
[странице сетевых настроек Chromium](https://www.chromium.org/developers/design-documents/network-settings/):
`--proxy-server` задаёт один прокси, `--proxy-bypass-list` перечисляет хосты,
которые его обходят, а `--proxy-pac-url` указывает на скрипт. Если запустить
второй Chrome со своим `--user-data-dir`, он работает рядом с вашим обычным,
потому что два запущенных экземпляра не могут делить один каталог данных
([заметки Chromium о каталоге пользовательских данных](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/user_data_dir.md)).

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

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

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

Расширение задаёт прокси Chrome для профиля, в который оно установлено, через
[API chrome.proxy](https://developer.chrome.com/docs/extensions/reference/api/proxy),
а переключатель с правилами собирает их в PAC-скрипт. Так работает наше
бесплатное расширение [ProxyJam Connector](/ru/browser-extension/), в Chrome и в
Microsoft Edge:

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

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

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

В Chrome нет. [API chrome.proxy](https://developer.chrome.com/docs/extensions/reference/api/proxy)
хранит одно значение на профиль и не принимает вкладку в качестве параметра,
так что у вкладки нет собственной настройки.

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

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

От адреса `https://` Chrome передаёт PAC-скрипту только схему, хост и порт.
Путь, параметры запроса и фрагмент отрезаются начиная с Chrome 52, а настройку,
которая это отключала, убрали в Chrome 75
([заметки Chromium о прокси](https://chromium.googlesource.com/chromium/src/+/HEAD/net/docs/proxy.md)).

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

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

Для нескольких сайтов и одного прокси меньше всего работы с расширением, а на
[странице расширения](/ru/browser-extension/) перечислено, что Connector умеет и
чего не умеет в Chrome. Прокси, который просит пароль, разобран в статье
[почему Chrome постоянно спрашивает логин и пароль прокси](/ru/blog/chrome-proxy-password-prompt/),
а перенос правил из старого переключателя в статье
[что изменилось с Manifest V3](/ru/blog/switchyomega-manifest-v3/).

Если прокси, через который идут эти сайты, должен сохранять один адрес,
зарегистрированный на интернет-провайдера, это и есть
[ISP-прокси](/ru/blog/what-are-isp-proxies/). ProxyJam продаёт статические
резидентные (ISP) прокси на [странице ISP-прокси](/ru/isp-proxies/), цены на
[странице цен](/ru/pricing/).

