Если вы ведёте несколько рекламных аккаунтов, парсите маркетплейсы или работаете с зарубежными платформами — вы наверняка сталкивались с ситуацией, когда весь трафик идёт через прокси, хотя нужно это только для пары сайтов. В итоге: скорость падает, расход трафика растёт, а прокси «сжигается» быстрее. PAC-файл решает эту проблему: он позволяет точно указать, какие сайты идут через прокси, а какие — напрямую.
Что такое PAC-файл и зачем он нужен
PAC расшифровывается как Proxy Auto-Configuration — автоматическая настройка прокси. По сути это небольшой текстовый файл с JavaScript-функцией, которая для каждого запроса браузера или системы решает: пустить трафик напрямую или через прокси-сервер.
Звучит технически, но на практике это очень простой инструмент. Вы один раз прописываете правила — и система автоматически их применяет. Не нужно каждый раз вручную переключать прокси или держать отдельный браузер для каждого сайта.
Кому это реально полезно:
- Арбитражникам — запускаете рекламу в Facebook Ads и TikTok Ads, но не хотите, чтобы весь остальной трафик (почта, мессенджеры, рабочие сайты) шёл через прокси и замедлял работу.
- SMM-специалистам — ведёте 20-50 аккаунтов в Instagram или TikTok, и для каждого профиля нужен свой прокси только для конкретной платформы.
- Селлерам маркетплейсов — парсите цены на Wildberries или Ozon, но хотите, чтобы через прокси шли только запросы к этим сайтам, а не весь интернет.
- Маркетологам — проверяете выдачу и рекламу из разных регионов, при этом остальная работа идёт с вашего реального IP.
Главное преимущество PAC-файла перед обычной настройкой прокси — экономия трафика и ресурсов. Когда весь трафик идёт через прокси, вы платите за каждый мегабайт, включая YouTube, Google Docs и обновления Windows. PAC-файл позволяет пустить через прокси только то, что действительно нужно.
💡 Важный момент
PAC-файл поддерживается всеми современными браузерами (Chrome, Firefox, Edge), операционными системами (Windows, macOS, Linux) и большинством антидетект-браузеров. Это стандарт, которому уже больше 25 лет.
Как работает PAC-файл: логика маршрутизации трафика
Каждый раз, когда браузер или приложение пытается открыть какой-либо URL, оно вызывает функцию из PAC-файла и передаёт ей два параметра: сам URL и имя хоста (домен). Функция анализирует эти данные и возвращает одно из трёх значений:
DIRECT— подключиться напрямую, без прокси.PROXY host:port— использовать HTTP-прокси с указанным адресом и портом.SOCKS5 host:port— использовать SOCKS5-прокси.
Функция выполняется мгновенно — до установки соединения. Никаких задержек пользователь не замечает. Логика может быть сколь угодно сложной: вы можете направить через один прокси трафик к Facebook, через другой — к TikTok, а всё остальное пустить напрямую.
Вот упрощённая схема работы:
- Вы открываете в браузере facebook.com
- Браузер вызывает функцию PAC-файла: "Куда направить запрос к facebook.com?"
- Функция проверяет список правил и отвечает: "Используй PROXY 185.10.10.1:8080"
- Браузер подключается к Facebook через прокси
- Вы открываете google.com — функция отвечает: "DIRECT"
- Google открывается напрямую с вашего реального IP
Такой подход называют split tunneling — разделение трафика. Это стандартная практика в корпоративных сетях и VPN, но для работы с прокси PAC-файл подходит даже лучше — он легче настраивается и не требует установки дополнительного ПО.
Структура PAC-файла: разбираем по частям
PAC-файл — это обычный текстовый файл с расширением .pac. Внутри него находится одна обязательная JavaScript-функция с именем FindProxyForURL. Именно её браузер вызывает при каждом запросе.
Базовая структура выглядит так:
function FindProxyForURL(url, host) {
// Правило 1: если это localhost — всегда напрямую
if (isPlainHostName(host)) {
return "DIRECT";
}
// Правило 2: если домен — facebook.com — через прокси
if (dnsDomainIs(host, "facebook.com")) {
return "PROXY 185.10.10.1:8080";
}
// Правило 3: все остальные запросы — напрямую
return "DIRECT";
}
Разберём ключевые встроенные функции, которые вы будете использовать чаще всего:
| Функция | Что делает | Пример |
|---|---|---|
dnsDomainIs(host, ".example.com") |
Проверяет, принадлежит ли хост домену | Поймает facebook.com и все поддомены |
shExpMatch(host, "*.example.com") |
Сопоставление по шаблону (wildcard) | Гибкая фильтрация по маске домена |
isInNet(host, "10.0.0.0", "255.0.0.0") |
Проверяет принадлежность к IP-подсети | Для фильтрации по IP-диапазонам |
isPlainHostName(host) |
Проверяет, является ли хост локальным именем | localhost, printer, nas — напрямую |
localHostOrDomainIs(host, "...") |
Проверяет локальный хост или домен | Для исключений внутренней сети |
Важный нюанс: функция обрабатывает правила сверху вниз и останавливается на первом совпадении. Поэтому порядок правил имеет значение — сначала ставьте более специфичные условия, в конце — общее правило по умолчанию.
Готовые примеры PAC-файлов для реальных задач
Ниже — четыре практических шаблона под конкретные задачи. Скопируйте нужный, замените адрес и порт прокси на свои данные — и файл готов к использованию.
Шаблон 1: Только Facebook и Instagram через прокси (для арбитражников)
function FindProxyForURL(url, host) {
// Локальные адреса — всегда напрямую
if (isPlainHostName(host) ||
shExpMatch(host, "*.local") ||
host === "127.0.0.1") {
return "DIRECT";
}
// Facebook и все его поддомены — через прокси
if (dnsDomainIs(host, "facebook.com") ||
dnsDomainIs(host, "fbcdn.net") ||
dnsDomainIs(host, "fb.com")) {
return "PROXY 185.10.10.1:8080";
}
// Instagram — через тот же прокси
if (dnsDomainIs(host, "instagram.com") ||
dnsDomainIs(host, "cdninstagram.com")) {
return "PROXY 185.10.10.1:8080";
}
// Всё остальное — напрямую
return "DIRECT";
}
Шаблон 2: Разные прокси для разных платформ (для SMM-агентств)
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
// Instagram — через резидентный прокси #1
if (dnsDomainIs(host, "instagram.com") ||
dnsDomainIs(host, "cdninstagram.com")) {
return "PROXY 91.200.10.5:3128";
}
// TikTok — через резидентный прокси #2
if (dnsDomainIs(host, "tiktok.com") ||
dnsDomainIs(host, "tiktokcdn.com") ||
dnsDomainIs(host, "musical.ly")) {
return "PROXY 91.200.10.6:3128";
}
// VK — через отдельный прокси
if (dnsDomainIs(host, "vk.com") ||
dnsDomainIs(host, "vk.me") ||
dnsDomainIs(host, "userapi.com")) {
return "PROXY 91.200.10.7:3128";
}
return "DIRECT";
}
Шаблон 3: Парсинг Wildberries и Ozon (для селлеров)
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
// Wildberries — через прокси (парсинг цен)
if (dnsDomainIs(host, "wildberries.ru") ||
dnsDomainIs(host, "wbstatic.net") ||
dnsDomainIs(host, "wb.ru")) {
return "PROXY 45.130.10.20:8080";
}
// Ozon — через прокси
if (dnsDomainIs(host, "ozon.ru") ||
dnsDomainIs(host, "ozonusercontent.com")) {
return "PROXY 45.130.10.20:8080";
}
// Авито — через прокси
if (dnsDomainIs(host, "avito.ru") ||
dnsDomainIs(host, "avito.st")) {
return "PROXY 45.130.10.20:8080";
}
return "DIRECT";
}
Шаблон 4: SOCKS5 прокси с резервным HTTP (отказоустойчивость)
function FindProxyForURL(url, host) {
if (isPlainHostName(host)) {
return "DIRECT";
}
// Целевые сайты — SOCKS5 основной, HTTP резервный
if (dnsDomainIs(host, "facebook.com") ||
dnsDomainIs(host, "instagram.com") ||
dnsDomainIs(host, "tiktok.com")) {
// Если SOCKS5 недоступен — автоматически переключится на HTTP
return "SOCKS5 185.10.10.1:1080; PROXY 185.10.10.1:8080; DIRECT";
}
return "DIRECT";
}
💡 Про резервные прокси
Строка "SOCKS5 ...; PROXY ...; DIRECT" — это цепочка резервов. Если первый прокси недоступен, браузер автоматически попробует второй, затем прямое соединение. Очень удобно для критически важных задач, где нельзя допустить простоя.
Как подключить PAC-файл в браузере и системе
Есть два способа подключить PAC-файл: через локальный файл на компьютере или через URL (если файл размещён на сервере). Для большинства задач достаточно локального файла.
Шаг 1: Создайте PAC-файл
Откройте любой текстовый редактор (Notepad, Notepad++, VS Code) и вставьте код из шаблонов выше. Сохраните файл с расширением .pac, например: proxy_rules.pac. Рекомендуемое место хранения: C:\proxy\proxy_rules.pac (Windows) или /Users/username/proxy/proxy_rules.pac (macOS).
Шаг 2: Подключение в Windows 10/11
- Откройте Параметры → Сеть и интернет → Прокси-сервер
- В разделе «Использовать скрипт настройки» переведите переключатель в положение Вкл.
- В поле «Адрес скрипта» введите путь к файлу в формате:
file:///C:/proxy/proxy_rules.pac - Нажмите Сохранить
- Перезапустите браузер
Шаг 3: Подключение в macOS
- Откройте Системные настройки → Сеть
- Выберите активное сетевое подключение (Wi-Fi или Ethernet) и нажмите Дополнительно
- Перейдите на вкладку Прокси
- Поставьте галочку напротив Автоматическая настройка прокси
- В поле URL введите:
file:///Users/username/proxy/proxy_rules.pac - Нажмите ОК → Применить
Шаг 4: Подключение в Google Chrome (отдельно от системы)
Chrome использует системные настройки прокси, но вы можете запустить его с отдельным PAC-файлом через параметры командной строки. Это удобно, если вы хотите, чтобы только Chrome работал через PAC, а остальные приложения — нет.
Создайте ярлык Chrome и в поле «Объект» добавьте в конец строки:
--proxy-pac-url="file:///C:/proxy/proxy_rules.pac"
Шаг 5: Подключение в Firefox
- Откройте Настройки → Основные → Параметры сети → Настроить
- Выберите URL автоматической настройки прокси
- Введите путь:
file:///C:/proxy/proxy_rules.pac - Нажмите ОК
PAC-файл в антидетект-браузерах: Dolphin, AdsPower, GoLogin
Для арбитражников и SMM-специалистов, которые работают с антидетект-браузерами, PAC-файл открывает дополнительные возможности. Вместо того чтобы назначать один прокси на весь профиль, вы можете настроить гибкую маршрутизацию прямо внутри профиля браузера.
Dolphin Anty
В Dolphin Anty PAC-файл подключается на уровне профиля. При создании или редактировании профиля в разделе Прокси выберите тип PAC-script и укажите URL или путь к файлу. Это позволяет одному профилю использовать разные прокси для разных сайтов — например, Facebook через мобильный прокси, а всё остальное напрямую.
Практический сценарий: у вас 10 рекламных аккаунтов Facebook. Для каждого профиля в Dolphin вы подключаете PAC-файл, который направляет через прокси только домены Facebook и Instagram. Остальной трафик (загрузка расширений, обновления) идёт напрямую — это экономит трафик прокси до 70%.
AdsPower
В AdsPower при настройке профиля в разделе Proxy Settings есть поле для ввода PAC URL. Укажите адрес вашего PAC-файла — если он лежит локально, разместите его на простом локальном HTTP-сервере (например, через Python: python -m http.server 8000) и укажите адрес http://localhost:8000/proxy_rules.pac.
GoLogin
GoLogin поддерживает PAC-файлы через поле Proxy URL в настройках профиля. Синтаксис аналогичный — указываете полный URL до файла. GoLogin также позволяет сохранять шаблоны прокси-настроек и применять их массово к нескольким профилям сразу, что удобно при работе с большим количеством аккаунтов.
Multilogin и Octo Browser
Оба браузера поддерживают PAC-конфигурацию через URL. В Multilogin это настраивается в разделе Profile → Proxy → Custom proxy. В Octo Browser — аналогично, в настройках профиля выберите тип прокси PAC и укажите ссылку на файл.
🔧 Лайфхак для антидетект-браузеров
Разместите PAC-файл на бесплатном хостинге (GitHub Pages, Pastebin RAW, Cloudflare Workers) — тогда вам не нужен локальный сервер, и файл будет доступен из любого профиля и с любого устройства. Плюс вы сможете обновлять правила в одном месте, и изменения применятся ко всем профилям сразу.
Какой тип прокси выбрать под PAC-конфигурацию
PAC-файл работает с любым типом прокси, но под разные задачи подходят разные варианты. Вот сравнительная таблица, которая поможет сделать выбор:
| Тип прокси | Лучше всего для | Протоколы в PAC | Скорость |
|---|---|---|---|
| Резидентные | Facebook Ads, Instagram, TikTok — соцсети с жёсткой антифрод-защитой | PROXY, SOCKS5 | Средняя |
| Мобильные | Фарм аккаунтов, работа с мобильными версиями приложений | PROXY, SOCKS5 | Средняя |
| Дата-центровые | Парсинг маркетплейсов, мониторинг цен, SEO-задачи | PROXY, SOCKS5 | Высокая |
Для работы с Facebook Ads и Instagram через PAC-конфигурацию арбитражники чаще всего выбирают резидентные прокси — они имеют реальные IP домашних пользователей и значительно реже вызывают подозрения у алгоритмов платформ.
Если вы ведёте аккаунты в Instagram или TikTok с мобильных устройств или через мобильные профили в антидетект-браузерах, обратите внимание на мобильные прокси — они работают через реальные мобильные сети операторов и дают наиболее «чистый» трафик для этих платформ.
Для задач парсинга Wildberries, Ozon или Авито, где важна скорость и количество запросов, оптимальным выбором станут прокси дата-центров — они быстрее и позволяют делать большое количество запросов в единицу времени.
Настройка аутентификации в PAC-файле
Если ваш прокси требует логин и пароль, в PAC-файле их указывать не нужно — это небезопасно, так как файл может быть прочитан. Аутентификация обрабатывается браузером отдельно: при первом подключении он запросит учётные данные и сохранит их. Либо используйте прокси с авторизацией по IP — тогда логин/пароль вообще не нужен.
Частые ошибки и как их исправить
При настройке PAC-файла большинство проблем связано с несколькими типичными ошибками. Разберём каждую с решением.
Ошибка 1: PAC-файл не применяется
Симптом: вы указали путь к файлу, но трафик всё равно идёт напрямую или через старые настройки.
Причины и решения:
- Неправильный путь к файлу. Проверьте формат: на Windows должно быть
file:///C:/путь/файл.pac(три слэша после file:) - Браузер закешировал старые настройки. Полностью закройте браузер и откройте заново.
- В Windows может мешать групповая политика. Проверьте через gpedit.msc → Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Internet Explorer
Ошибка 2: Весь трафик идёт через прокси, а не только нужный
Симптом: скорость упала, весь интернет медленный.
Причина: в конце функции стоит return "PROXY ..." вместо return "DIRECT".
Решение: убедитесь, что последняя строка функции — return "DIRECT"; Это правило по умолчанию для всего, что не попало под предыдущие условия.
Ошибка 3: Поддомены не попадают под правило
Симптом: правило для facebook.com работает, но static.facebook.com или m.facebook.com — нет.
Причина: функция dnsDomainIs проверяет точное совпадение домена и всех его поддоменов, но только если вы указали домен с точкой в начале.
Решение: используйте dnsDomainIs(host, "facebook.com") — эта функция автоматически захватывает все поддомены. Либо добавьте отдельные строки для каждого поддомена.
Ошибка 4: Синтаксическая ошибка в JavaScript
Симптом: PAC-файл не работает вообще, браузер игнорирует его.
Решение: проверьте файл в онлайн-инструменте PAC File Debugger (ищите в Google) или вставьте код в консоль браузера (F12 → Console) — JavaScript-ошибки будут видны сразу. Чаще всего проблема — пропущенная скобка или точка с запятой.
Ошибка 5: PAC-файл не работает с HTTPS-сайтами
Симптом: HTTP-сайты открываются через прокси, HTTPS — нет.
Причина: для HTTPS браузер устанавливает туннель через метод CONNECT. Некоторые HTTP-прокси не поддерживают CONNECT.
Решение: используйте SOCKS5-прокси вместо HTTP — он поддерживает оба типа соединений. В PAC-файле замените PROXY на SOCKS5.
Чек-лист для проверки PAC-файла
- ✅ Функция называется точно
FindProxyForURL(с учётом регистра) - ✅ Функция принимает два параметра:
urlиhost - ✅ Все фигурные скобки закрыты
- ✅ В конце функции есть
return "DIRECT"; - ✅ Адрес прокси в формате
IP:PORTбез пробелов - ✅ Файл сохранён в кодировке UTF-8
- ✅ Путь к файлу в настройках начинается с
file:/// - ✅ Браузер перезапущен после изменений
Заключение и рекомендации
PAC-файл — это один из самых недооценённых инструментов для тех, кто работает с прокси профессионально. Он решает сразу несколько проблем: экономит трафик прокси, сохраняет скорость для остального интернета и позволяет гибко управлять маршрутизацией без переключения настроек вручную.
Для арбитражников PAC-файл в связке с антидетект-браузером (Dolphin Anty, AdsPower, GoLogin) позволяет настроить так, чтобы через прокси шёл только трафик Facebook Ads или TikTok Ads — и ни байта лишнего. Для SMM-специалистов — разные прокси для Instagram, TikTok и VK в рамках одной системы. Для селлеров маркетплейсов — точечный парсинг Wildberries и Ozon без лишней нагрузки.
Главное, что нужно запомнить: PAC-файл — это просто текстовый файл с несколькими строками кода. Его не нужно бояться. Возьмите один из готовых шаблонов из этой статьи, подставьте свои данные прокси — и за 10 минут у вас будет настроена гибкая маршрутизация трафика.
Если вы планируете работать с Facebook Ads, Instagram или TikTok через PAC-конфигурацию, рекомендуем использовать резидентные прокси — они обеспечивают наиболее высокий уровень доверия со стороны платформ и минимальный риск блокировок при правильной настройке маршрутизации через PAC-файл.