#!/usr/bin/env bash # Хук запуска сервера VS Code в WSL. # Загружает приватные переменные окружения и настраивает прокси, если доступен hproxy.local. secrets_file="$HOME/.env.secrets" warn() { printf 'server-env-setup: %s\n' "$1" >&2 } # 1. Загрузка приватных секретов (API ключи и т.д.) if [ -f "$secrets_file" ]; then # shellcheck disable=SC1090 if ! source "$secrets_file"; then warn "warning: не удалось загрузить $secrets_file" fi fi # 2. Автоматическая настройка прокси, если hproxy.local резолвится # Используем getent, так как имя может быть в /etc/hosts или в DNS (режим mirror) if getent hosts hproxy.local >/dev/null 2>&1; then proxy_url="http://hproxy.local:12334" export HTTP_PROXY="$proxy_url" export HTTPS_PROXY="$proxy_url" export ALL_PROXY="socks5://hproxy.local:12334" # Список обязан совпадать с выдачей proxy-client (DEFAULT_NO_PROXY_EXTRA); # расхождение ловит tests/test_proxy_env_sync.py. export NO_PROXY="hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru,dementev.space,.dementev.space" # Дублируем в нижнем регистре для лучшей совместимости с инструментами export http_proxy="$HTTP_PROXY" export https_proxy="$HTTPS_PROXY" export all_proxy="$ALL_PROXY" export no_proxy="$NO_PROXY" fi return 0 2>/dev/null || exit 0