rtfox-browser: что изменилось — полная поддержка прокси и смена на лету
Несколько недель назад мы публиковали материал о том, как форкнули undetected-chromedriver и добавили базовую поддержку SOCKS5, мультипроцессинг и модуль капчи. Читатели активно писали с одним и тем же вопросом: а HTTP и HTTPS прокси когда? Отвечаем — уже готово.
Что изменилось
Раньше библиотека умела работать только с SOCKS5. Теперь поддерживаются все три протокола, и выбирается нужный через один параметр type:
Кроме этого добавили три способа передачи прокси — через словарь, через именованные параметры и через объект ProxyConfig. Кто как привык — тот так и использует.
Смена прокси на лету
Это, пожалуй, самое интересное в обновлении. Прокси теперь можно менять прямо во время работы браузера — без остановки, без перезапуска, без потери сессии:
По умолчанию после смены прокси автоматически очищаются кэш и куки — чтобы браузер открыл свежие соединения. Если это не нужно, можно отключить через clear_connections=False.
Работает это благодаря тому, что локальный прокси-туннель запускается всегда — даже если прокси не передан при старте. Браузер всегда смотрит на localhost, а туннель уже сам решает куда форвардить трафик. Это позволяет подменять внешний прокси в любой момент без каких-либо изменений в самом Chrome.
Практический сценарий
Типичная задача — один браузер, пул из нескольких прокси, ротация по расписанию или при бане. Раньше для этого нужно было пересоздавать весь драйвер. Теперь:
Установка и обновление
Если уже установлена старая версия:
pip install --upgrade rtfox-browser
Требования: Python 3.9+, Google Chrome.
Ссылки:
Telegram: https://t.me/rtf_labs_studio