Назад к блогу
Сеть

Настройка прокси в BotBrowser

Полное руководство по настройке прокси SOCKS5, HTTP и HTTPS в BotBrowser с сопоставлением геолокации и интеграцией Playwright.

Почему настройка прокси важна

Одного профиля фингерпринта недостаточно для согласованной идентификации браузера. Ваша сетевая идентификация должна соответствовать географическим настройкам профиля фингерпринта. BotBrowser предоставляет расширенную поддержку прокси со встроенными учетными данными, что упрощает подключение через SOCKS5, HTTP или HTTPS прокси.

Поддерживаемые типы прокси

BotBrowser поддерживает три прокси-протокола через флаг --proxy-server:

  • SOCKS5: socks5://user:pass@host:port - Лучший выбор для общего использования. Поддерживает UDP и DNS-проксирование.
  • HTTP: http://user:pass@host:port - Широко доступен. Работает для большинства веб-трафика.
  • HTTPS: https://user:pass@host:port - Зашифрованное соединение с самим прокси-сервером.

Все три формата принимают встроенные учетные данные непосредственно в URL.

Базовая настройка прокси

const { chromium } = require('playwright-core');

(async () => {
  const browser = await chromium.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: [
      '--bot-profile=/path/to/profile.enc',
      '--proxy-server=socks5://user:pass@proxy-host:1080',
    ],
    headless: true,
  });

  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://example.com');
  await browser.close();
})();

Сопоставление геолокации

BotBrowser предоставляет несколько флагов для приведения среды браузера в соответствие с местоположением прокси.

Сопоставление часового пояса, локали и языка

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: [
    '--bot-profile=/path/to/profile.enc',
    '--proxy-server=socks5://user:pass@de-proxy:1080',
    '--bot-config-timezone=Europe/Berlin',
    '--bot-config-locale=de-DE',
    '--bot-config-languages=de-DE,de,en',
  ],
  headless: true,
});

API Intl браузера, navigator.language и заголовок Accept-Language будут отражать эти настройки.

Типичные региональные конфигурации

РегионЧасовой поясЛокальЯзыки
Восток СШАAmerica/New_Yorken-USen-US,en
Запад СШАAmerica/Los_Angelesen-USen-US,en
ВеликобританияEurope/Londonen-GBen-GB,en
ГерманияEurope/Berlinde-DEde-DE,de,en
ЯпонияAsia/Tokyoja-JPja,en
БразилияAmerica/Sao_Paulopt-BRpt-BR,pt,en

Пользовательский сервис определения IP

Если вы используете собственную конечную точку определения IP, используйте флаг --bot-ip-service:

args: [
  '--proxy-server=socks5://user:pass@proxy:1080',
  '--bot-ip-service=https://your-service.example.com/ip',
],

Сервис должен возвращать публичный IP-адрес в виде простого текста.

Проверка настройки прокси

const page = await context.newPage();

// Check public IP
await page.goto('https://httpbin.org/ip');
const ipData = await page.textContent('body');
console.log('Public IP:', ipData);

// Check timezone
const tz = await page.evaluate(() => Intl.DateTimeFormat().resolvedOptions().timeZone);
console.log('Timezone:', tz);

// Check language
const lang = await page.evaluate(() => navigator.language);
console.log('Language:', lang);

Устранение неполадок

Тайм-аут подключения к прокси: Убедитесь, что хост и порт прокси доступны. Сначала проверьте с помощью curl --proxy socks5://user:pass@host:port https://httpbin.org/ip.

Ошибка аутентификации: Убедитесь, что специальные символы в паролях закодированы в URL. Например, p@ss становится p%40ss.

Несоответствие часового пояса: Используйте полный формат IANA, такой как America/New_York, а не сокращения вроде EST.

Утечки DNS: SOCKS5 прокси обрабатывают DNS по умолчанию. Для HTTP прокси рассмотрите использование --bot-local-dns, если конфиденциальность DNS важна.

Дальнейшие шаги

#proxy#socks5#http#network#configuration