Функция появилась в BrowserAutomationStudio 28.9.2
Скриптам BAS время от времени нужно обращаться к инфраструктуре Bablosoft для обновления скриптов, получения отпечатков или скачивания дополнительных дистрибутивов (Chromium, Node JS и т. д.). Начиная с v28.9.2 вы можете указать скомпилированному скрипту отправлять весь этот служебный трафик через прокси, который контролируете вы.
При компиляции скрипта BAS показывает окно Compile Script. В правом нижнем углу, в разделе Additional settings, появилось поле Connection config – на скриншоте оно выделено жёлтым. Вставьте туда либо JSON-строку, либо URL. После компиляции передайте обновлённый скрипт среди пользователей.
Новые настройки прокси начнут работать только после того, как скрипт будет обновлён у пользователя.
Перекомпилировать и заново распространять приложение при каждой смене прокси неудобно, поэтому смотрите раздел «URL удалённой конфигурации».
Следующую 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), не изменяются и продолжают работать как раньше.
Вместо того чтобы вшивать JSON в каждый билд, можно вставить URL в параметр Connection config.
Этот URL должен отдавать JSON в таком же формате, как описано выше.
При каждом запуске скомпилированный скрипт запрашивает JSON по указанному URL и применяет прокси на лету, что позволяет менять или ротировать прокси без перекомпиляции.
Используйте данные инструкции для установки прокси https://github.com/Lozy/danted
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