Перенаправление внутреннего трафика BAS через ваш собственный прокси
Функция появилась в BrowserAutomationStudio 28.9.2
Скриптам BAS время от времени нужно обращаться к инфраструктуре Bablosoft для обновления скриптов, получения отпечатков или скачивания дополнительных дистрибутивов (Chromium, Node JS и т. д.). Начиная с v28.9.2 вы можете указать скомпилированному скрипту отправлять весь этот служебный трафик через прокси, который контролируете вы.
Где указать настройки прокси
При компиляции скрипта BAS показывает окно Compile Script. В правом нижнем углу, в разделе Additional settings, появилось поле Connection config – на скриншоте оно выделено жёлтым. Вставьте туда либо JSON-строку, либо URL. После компиляции передайте обновлённый скрипт среди пользователей.
Новые настройки прокси начнут работать только после того, как скрипт будет обновлён у пользователя.
Перекомпилировать и заново распространять приложение при каждой смене прокси неудобно, поэтому смотрите раздел «URL удалённой конфигурации».
Формат JSON (встроенный или удалённый)
Следующую JSON-строку можно вставить прямо в поле «Connection config»:
{ "main.server.proxy": "socks5://login:pass@proxy.example:1080", "fingerprints.server.proxy": "socks5://login:pass@proxy.example:1080", "downloads.server.proxy": "socks5://login:pass@proxy.example:1080" }
Объяснение ключевых параметров:
main.server.proxy | Все запросы к API *bablosoft.com* и загрузки Node JS. |
fingerprints.server.proxy | Запросы к *fingerprints.bablosoft.com*. |
downloads.server.proxy | Крупные ресурсы, такие как движок Chromium, с *downloads.bablosoft.com*. |
Примечание: Любые прокси, например, для браузера, которые вы явно задаёте в скрипте (действие Proxy), не изменяются и продолжают работать как раньше.
URL удалённой конфигурации
Вместо того чтобы вшивать JSON в каждый билд, можно вставить URL в параметр Connection config.
Этот URL должен отдавать JSON в таком же формате, как описано выше.
При каждом запуске скомпилированный скрипт запрашивает JSON по указанному URL и применяет прокси на лету, что позволяет менять или ротировать прокси без перекомпиляции.
Запуск SOCKS5-прокси (Danted)
Используйте данные инструкции для установки прокси https://github.com/Lozy/danted
Автозапуск nginx, отдающего файл конфигурации JSON
echo '{ "main.server.proxy": "socks5://YOUR_LOGIN:YOUR_PASS@YOUR_VPS_IP:1080", "fingerprints.server.proxy": "socks5://YOUR_LOGIN:YOUR_PASS@YOUR_VPS_IP:1080", "downloads.server.proxy": "socks5://YOUR_LOGIN:YOUR_PASS@YOUR_VPS_IP:1080" }' > bas-proxy.json docker run -d --name bas-config \ --restart unless-stopped \ -p 80:80 \ -v "$PWD/bas-proxy.json":/usr/share/nginx/html/bas-proxy.json:ro \ nginx:alpine
Итоговая последовательность действий
- Арендуйте VPS, который доступен вашим пользователям и который сам имеет доступ к *.bablosoft.com.
- Установите Docker https://docs.docker.com/engine/install/ubuntu/
- Создайте учётные данные для прокси: сгенерируйте YOUR_LOGIN и YOUR_PASS.
- Установите прокси-сервер командой, приведённой выше.
- Установите сервер конфигурации командой, приведённой выше.
- Перекомпилируйте ваш скрипт BAS, установив в «Connection config» значение http://YOUR_VPS_IP/bas-proxy.json.
- Распространите новый билд, отправьте его своим пользователям.