Если вы управляете десятками аккаунтов, работаете в команде или хотите гибко маршрутизировать трафик через разные прокси-серверы — ручная настройка каждого браузера или устройства превращается в кошмар. PAC-файл решает эту проблему: один файл с правилами — и весь трафик идёт именно туда, куда нужно, автоматически. В этой статье разберём, что такое PAC-файлы, как они работают, и как их применяют арбитражники, SMM-специалисты и корпоративные пользователи.
Что такое PAC-файл и как он работает
PAC-файл (Proxy Auto-Config) — это небольшой файл с расширением .pac, внутри которого написана функция на JavaScript. Эта функция получает URL каждого запроса и решает: отправить его напрямую или через прокси-сервер. Если через прокси — то через какой именно.
Технология появилась ещё в 1990-х годах в браузере Netscape Navigator и с тех пор стала стандартом для корпоративных сетей. Сегодня PAC-файлы поддерживают все популярные браузеры: Chrome, Firefox, Edge, Safari, а также операционные системы Windows, macOS и Linux на уровне системных настроек.
Принцип работы прост: когда браузер или приложение хочет загрузить страницу, оно сначала выполняет функцию FindProxyForURL(url, host) из PAC-файла. Функция возвращает одно из трёх значений:
- DIRECT — подключиться напрямую, без прокси
- PROXY host:port — использовать HTTP-прокси по указанному адресу
- SOCKS5 host:port — использовать SOCKS5-прокси (поддерживается в большинстве современных браузеров)
Самое важное: вы можете указать несколько правил для разных сайтов. Например, трафик на Facebook идёт через один прокси, трафик на Wildberries — через другой, а всё остальное — напрямую. Это и делает PAC-файлы незаменимым инструментом для профессиональной работы с прокси.
💡 Важно понимать
PAC-файл — это не программа и не сервис. Это просто текстовый файл с логикой маршрутизации. Браузер сам читает его и применяет правила. Никакого дополнительного ПО не требуется.
PAC-файл vs ручная настройка: в чём разница
Прежде чем разбираться в технических деталях, давайте честно ответим на вопрос: зачем усложнять, если можно просто прописать прокси вручную в настройках браузера? Ответ зависит от масштаба вашей работы.
Если у вас один аккаунт и один прокси — ручная настройка вполне достаточна. Но как только вы начинаете работать с 10, 20 или 50 профилями, или когда разным сайтам нужны разные прокси, ручная настройка превращается в постоянную рутину с высоким риском ошибок.
| Критерий | Ручная настройка | PAC-файл |
|---|---|---|
| Количество профилей | 1–5 (удобно) | 10–1000+ (масштабируется) |
| Разные прокси для разных сайтов | Невозможно | Легко настраивается |
| Изменение настроек | Вручную на каждом устройстве | Один файл — всё обновляется |
| Резервный прокси при сбое | Нет | Можно прописать fallback |
| Корпоративное управление | Сложно централизовать | Один URL для всей компании |
| Порог входа | Нулевой | Нужно разобраться 1 раз |
Вывод очевиден: PAC-файл — это инструмент для тех, кто работает с прокси профессионально и в масштабе. Если вы арбитражник, ведущий несколько рекламных кабинетов, или SMM-агентство с десятками клиентских аккаунтов, PAC-файл сэкономит вам часы работы каждую неделю.
Структура PAC-файла: как читать и писать правила
Не пугайтесь слова "JavaScript" — PAC-файл не требует знания программирования. Это буквально несколько строк с понятной логикой. Разберём базовую структуру на примерах.
Любой PAC-файл содержит одну обязательную функцию:
function FindProxyForURL(url, host) {
// Здесь ваши правила
return "DIRECT";
}
Параметры функции: url — полный адрес запроса, host — только домен. Функция должна вернуть строку с инструкцией.
Пример 1: весь трафик через один прокси
function FindProxyForURL(url, host) {
return "PROXY 185.100.200.10:8080";
}
Пример 2: Facebook и Instagram через прокси, остальное напрямую
function FindProxyForURL(url, host) {
if (shExpMatch(host, "*.facebook.com") ||
shExpMatch(host, "*.instagram.com") ||
shExpMatch(host, "*.fbcdn.net")) {
return "SOCKS5 185.100.200.10:1080";
}
return "DIRECT";
}
Пример 3: разные прокси для разных сервисов + резервный
function FindProxyForURL(url, host) {
// Facebook Ads — через мобильный прокси
if (shExpMatch(host, "*.facebook.com") ||
shExpMatch(host, "*.instagram.com")) {
return "SOCKS5 mobile-proxy.example.com:1080; DIRECT";
}
// Wildberries и Ozon — через резидентный прокси
if (shExpMatch(host, "*.wildberries.ru") ||
shExpMatch(host, "*.ozon.ru")) {
return "PROXY res-proxy.example.com:8080";
}
// Локальная сеть — всегда напрямую
if (isInNet(host, "192.168.0.0", "255.255.0.0")) {
return "DIRECT";
}
// Всё остальное — напрямую
return "DIRECT";
}
Обратите внимание на строку SOCKS5 ...; DIRECT — точка с запятой разделяет основной прокси и резервный вариант. Если основной прокси недоступен, браузер автоматически попробует следующий вариант из списка.
Основные встроенные функции PAC-файлов, которые вам понадобятся:
| Функция | Что делает | Пример |
|---|---|---|
shExpMatch(host, pattern) |
Проверяет домен по шаблону | *.facebook.com |
isInNet(host, ip, mask) |
Проверяет принадлежность к подсети | 192.168.0.0 / 255.255.0.0 |
isLocalhost(host) |
Проверяет, локальный ли хост | Для исключения localhost |
dnsDomainIs(host, domain) |
Точное совпадение домена | dnsDomainIs(host, ".google.com") |
Кому и зачем нужны PAC-файлы: бизнес-сценарии
PAC-файлы — не абстрактная технология. Рассмотрим конкретные сценарии, в которых они реально экономят время и защищают от блокировок.
Арбитражники и Facebook Ads
Типичная ситуация: арбитражник работает с 15–30 рекламными кабинетами Facebook. Каждый кабинет привязан к отдельному профилю в антидетект-браузере и отдельному прокси. При этом нужно, чтобы трафик на Facebook.com, Instagram.com и сервисы Meta шёл через прокси, а, например, сервисы для работы (Google Docs, Telegram, внутренние инструменты) работали напрямую.
PAC-файл решает это одним файлом: пишете правила для доменов Meta — весь трафик туда идёт через мобильные прокси, которые реже вызывают подозрения у алгоритмов Facebook. Остальное — напрямую. Один файл работает для всех профилей сразу.
SMM-агентства и мультиаккаунтинг
SMM-специалист ведёт 30–50 аккаунтов клиентов в Instagram и TikTok. Каждый аккаунт должен работать с уникальным IP. При обновлении пула прокси (смена IP-адресов) нужно обновить настройки во всех профилях — это часы работы.
С PAC-файлом: вы размещаете файл на сервере (или даже в Google Drive), а все профили в Dolphin Anty или AdsPower ссылаются на один URL. Обновили файл — настройки изменились везде автоматически. Без ручного перебора профилей.
Мониторинг цен на маркетплейсах
Селлеры на Wildberries и Ozon регулярно мониторят цены конкурентов. Маркетплейсы активно блокируют парсинг и частые запросы с одного IP. PAC-файл позволяет настроить так, чтобы запросы к Wildberries.ru и Ozon.ru шли через резидентные прокси с ротацией, а весь остальной трафик — напрямую. Это снижает нагрузку на прокси и расходы на трафик.
Корпоративные сети
В корпоративной среде PAC-файлы используются для централизованного управления интернет-трафиком сотрудников. IT-отдел размещает PAC-файл на внутреннем сервере, а все компьютеры компании получают его автоматически через DHCP или групповые политики Active Directory. Трафик на внутренние ресурсы идёт напрямую, внешний — через корпоративный прокси с фильтрацией и логированием.
📌 Ключевое преимущество для бизнеса
PAC-файл — это единая точка управления маршрутизацией трафика. Вместо того чтобы обновлять настройки на 50 устройствах или в 30 профилях браузера, вы меняете один файл — и изменения применяются везде автоматически.
Как подключить PAC-файл в браузерах и системах
PAC-файл можно подключить тремя способами: через локальный путь к файлу, через URL на сервере, или через протокол WPAD (автообнаружение в корпоративных сетях). Разберём каждый вариант.
Windows — системные настройки
Настройки прокси в Windows применяются ко всем браузерам, которые используют системные настройки (Chrome, Edge, Internet Explorer):
- Откройте Параметры → Сеть и Интернет → Прокси-сервер
- Найдите раздел Автоматическая настройка прокси-сервера
- Включите переключатель Использовать скрипт настройки
- В поле Адрес скрипта введите путь к PAC-файлу:
- Локальный файл:
file:///C:/proxy/config.pac - Сетевой файл:
http://server.company.com/proxy.pac
- Локальный файл:
- Нажмите Сохранить
macOS — системные настройки
- Откройте Системные настройки → Сеть
- Выберите активное сетевое подключение (Wi-Fi или Ethernet) → Дополнительно
- Перейдите на вкладку Прокси-серверы
- Поставьте галочку напротив Автоматическая конфигурация прокси-сервера
- В поле URL введите адрес PAC-файла
- Нажмите ОК → Применить
Firefox — отдельные настройки
Firefox использует собственные настройки прокси, независимо от системных:
- Откройте Настройки (или введите в адресной строке
about:preferences) - Прокрутите вниз до раздела Сетевые настройки → нажмите Настроить
- Выберите URL автоматической настройки прокси-сервера
- Введите URL вашего PAC-файла
- Нажмите ОК
Где хранить PAC-файл
У вас есть несколько вариантов хранения PAC-файла:
- Локально на компьютере — просто, но не позволяет обновлять централизованно
- На веб-сервере — идеально для команды, обновления применяются мгновенно
- На GitHub Pages или Gist — бесплатный хостинг для небольших команд
- В корпоративной сети — через WPAD (Web Proxy Auto-Discovery Protocol)
При размещении на сервере важно настроить правильный MIME-тип: сервер должен отдавать файл с заголовком Content-Type: application/x-ns-proxy-autoconfig. Без этого некоторые браузеры могут отказаться его обрабатывать.
PAC-файлы в антидетект-браузерах: Dolphin, AdsPower, GoLogin
Для арбитражников и SMM-специалистов особенно важна интеграция PAC-файлов с антидетект-браузерами. Рассмотрим, как это работает в самых популярных инструментах.
Dolphin Anty
Dolphin Anty — один из самых популярных антидетект-браузеров среди арбитражников. Настройка прокси через PAC-файл выполняется на уровне профиля:
- Откройте Dolphin Anty и перейдите к нужному профилю
- Нажмите на иконку редактирования профиля
- В разделе Прокси выберите тип подключения
- Выберите вариант Custom или PAC Script (зависит от версии)
- Вставьте URL вашего PAC-файла или содержимое скрипта напрямую
- Сохраните профиль и запустите браузер
Важный момент: в Dolphin Anty можно применить одни настройки прокси сразу к группе профилей. Это значит, что при смене PAC-файла вам не нужно редактировать каждый профиль вручную — достаточно обновить файл на сервере.
AdsPower
AdsPower поддерживает PAC-файлы через настройки профиля браузера:
- В главном меню выберите нужный профиль → Редактировать
- Перейдите в раздел Настройки прокси
- В поле типа прокси выберите Custom Proxy
- Укажите тип соединения как PAC
- Введите URL PAC-файла в соответствующее поле
- Нажмите Проверить прокси для валидации и сохраните
GoLogin и Multilogin
GoLogin и Multilogin также поддерживают PAC-скрипты. В GoLogin настройка аналогична: в параметрах профиля → прокси → выбрать тип PAC → вставить URL или содержимое скрипта. Multilogin, как более корпоративный инструмент, имеет расширенные возможности управления прокси через API, что позволяет автоматизировать назначение PAC-файлов к новым профилям.
⚡ Лайфхак для арбитражников
Создайте несколько PAC-файлов для разных задач: один для работы с Facebook Ads, другой для TikTok Ads, третий для мониторинга. Так вы можете быстро переключать конфигурации прокси для разных команд или задач, просто меняя URL скрипта в группе профилей.
Настройка PAC для корпоративной сети: пошаговый гайд
Корпоративное использование PAC-файлов — это следующий уровень. Здесь речь идёт о централизованном управлении трафиком для всей компании: от 10 до нескольких тысяч устройств.
Шаг 1: Определите логику маршрутизации
Прежде чем писать PAC-файл, ответьте на вопросы:
- Какие ресурсы должны быть доступны без прокси? (внутренние сервисы, интранет)
- Какой внешний трафик нужно направлять через корпоративный прокси?
- Нужна ли фильтрация по категориям сайтов?
- Какой прокси использовать как резервный?
Шаг 2: Создайте PAC-файл
Типовой корпоративный PAC-файл выглядит так:
function FindProxyForURL(url, host) {
// Локальные адреса — всегда напрямую
if (isPlainHostName(host) || isLocalhost(host)) {
return "DIRECT";
}
// Внутренняя сеть компании — напрямую
if (isInNet(host, "10.0.0.0", "255.0.0.0") ||
isInNet(host, "172.16.0.0", "255.240.0.0") ||
isInNet(host, "192.168.0.0", "255.255.0.0")) {
return "DIRECT";
}
// Корпоративные домены — напрямую
if (dnsDomainIs(host, ".company.ru") ||
dnsDomainIs(host, ".company-internal.ru")) {
return "DIRECT";
}
// Весь внешний трафик — через корпоративный прокси
// С резервным вариантом на случай недоступности
return "PROXY proxy.company.ru:8080; PROXY proxy2.company.ru:8080; DIRECT";
}
Шаг 3: Разместите файл на веб-сервере
Разместите PAC-файл на внутреннем веб-сервере компании. Убедитесь, что:
- Файл доступен по стабильному URL (например,
http://proxy.company.ru/proxy.pac) - Сервер отдаёт правильный Content-Type для PAC-файлов
- URL доступен со всех устройств в сети без авторизации
- Настроено кэширование с разумным TTL (например, 1 час)
Шаг 4: Распространите настройки через групповые политики
В корпоративной среде с Windows и Active Directory настройки PAC-файла распространяются через GPO (Group Policy Objects):
- Откройте Редактор управления групповыми политиками (GPMC)
- Создайте новый GPO или отредактируйте существующий
- Перейдите в Конфигурация пользователя → Параметры Windows → Параметры Internet Explorer (или через реестр для Chrome)
- Укажите URL PAC-файла в настройках автоматической конфигурации
- Примените политику к нужным подразделениям
Для Chrome в корпоративной среде используется отдельная политика через Chrome ADMX-шаблоны: параметр ProxyPacUrl позволяет принудительно задать URL PAC-файла для всех установленных Chrome в домене.
Шаг 5: Настройте WPAD для автообнаружения
WPAD (Web Proxy Auto-Discovery) — протокол, позволяющий устройствам автоматически находить PAC-файл без ручной настройки. Для этого нужно:
- Разместить PAC-файл по адресу
http://wpad.company.ru/wpad.dat - Добавить DNS-запись:
wpad→ IP вашего веб-сервера - Включить опцию "Автоматически определять параметры" на устройствах
При такой настройке новые устройства в сети автоматически получат конфигурацию прокси без какого-либо вмешательства IT-отдела.
Частые ошибки при работе с PAC-файлами и как их избежать
Даже опытные специалисты допускают типичные ошибки при работе с PAC-файлами. Разберём самые распространённые из них.
Ошибка 1: Синтаксическая ошибка в JavaScript
Если в PAC-файле есть синтаксическая ошибка, браузер молча проигнорирует его и либо будет работать без прокси, либо заблокирует весь трафик. Это одна из самых коварных проблем — ошибка никак не отображается пользователю.
Решение: Перед деплоем проверяйте PAC-файл через онлайн-валидаторы (например, pacparser.io) или через DevTools в браузере. В Chrome можно открыть chrome://net-internals/#proxy и посмотреть, применился ли файл.
Ошибка 2: Неправильный MIME-тип на сервере
Если сервер отдаёт PAC-файл с Content-Type: text/plain или application/octet-stream, некоторые браузеры (особенно Chrome) откажутся его применять.
Решение: Настройте сервер на отдачу Content-Type: application/x-ns-proxy-autoconfig. Для Apache добавьте в .htaccess: AddType application/x-ns-proxy-autoconfig .pac
Ошибка 3: PAC-файл недоступен при старте браузера
Если PAC-файл размещён на сервере, который недоступен при запуске браузера (например, корпоративный сервер при работе из дома), браузер может зависнуть при попытке загрузить страницу.
Решение: Всегда добавляйте резервный вариант DIRECT в конце строки возврата. Также рассмотрите хранение PAC-файла на высокодоступной платформе (CDN, GitHub Pages).
Ошибка 4: Забыли включить все поддомены
Распространённая ошибка: написали правило для facebook.com, но забыли про *.facebook.com, *.fbcdn.net, *.instagram.com. В результате основная страница идёт через прокси, а медиафайлы — напрямую. Это создаёт смешанные запросы и потенциально раскрывает реальный IP.
Решение: Для каждой платформы тщательно изучите все используемые домены. Для Facebook это: facebook.com, *.facebook.com, instagram.com, *.instagram.com, fbcdn.net, *.fbcdn.net, whatsapp.com, *.whatsapp.com и ряд других.
Ошибка 5: Кэширование старой версии PAC-файла
Браузеры агрессивно кэшируют PAC-файлы. После обновления файла на сервере изменения могут не применяться сразу — браузер продолжает использовать старую версию.
Решение: Добавляйте версионирование к URL файла при обновлении: proxy.pac?v=2. Или настройте заголовки кэширования на сервере с коротким TTL. В Chrome принудительно перезагрузить PAC можно через chrome://net-internals/#proxy → Re-apply settings.
| Проблема | Симптом | Решение |
|---|---|---|
| Синтаксическая ошибка | Прокси не работает совсем | Валидатор PAC-файлов |
| Неверный MIME-тип | Chrome игнорирует файл | Настроить Content-Type на сервере |
| Сервер недоступен | Браузер зависает | Добавить DIRECT как fallback |
| Неполный список доменов | Утечка реального IP | Проверить все поддомены платформы |
| Кэширование | Изменения не применяются | Версионирование URL файла |
Заключение
PAC-файлы — это мощный и недооценённый инструмент для всех, кто работает с прокси профессионально. Вместо того чтобы тратить время на ручную настройку каждого профиля или устройства, вы один раз описываете логику маршрутизации трафика — и всё работает автоматически.
Для арбитражников PAC-файл означает гибкое управление трафиком для десятков рекламных кабинетов в Facebook Ads и TikTok Ads. Для SMM-агентств — централизованное обновление настроек прокси для всех клиентских аккаунтов без ручной работы. Для корпоративных IT-отделов — единая точка управления интернет-трафиком всей компании через групповые политики.
Ключевые выводы из статьи: PAC-файл — это JavaScript-функция, которая решает, через какой прокси направить каждый запрос. Он поддерживается всеми браузерами и операционными системами. Его можно централизованно хранить на сервере и обновлять для всей команды сразу. Антидетект-браузеры Dolphin Anty, AdsPower, GoLogin и Multilogin поддерживают PAC-файлы на уровне профилей.
Если вы настраиваете PAC-файл для работы с социальными сетями или маркетплейсами, важно выбрать правильный тип прокси. Для задач, где критична имитация реального пользователя (Facebook Ads, Instagram, TikTok), оптимальны резидентные прокси — они используют IP-адреса реальных домашних пользователей и значительно реже вызывают подозрения у алгоритмов платформ. Для мобильного трафика и работы с рекламными кабинетами Meta стоит рассмотреть мобильные прокси, которые эмулируют подключение через мобильного оператора.