feat(vscode): добавлена автоматическая настройка прокси в WSL

- Зачем:
  - обеспечить корректную работу расширений VS Code через прокси-сервер без ручной правки переменных окружения.
- Что:
  - обновлен скрипт `server-env-setup`: добавлена проверка доступности `hproxy.local` через `getent`.
  - реализован автоматический экспорт переменных `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY` и `NO_PROXY` (в обоих регистрах).
  - комментарии в скрипте переведены на русский язык.
  - в политики Gemini (`readonly-commands.toml`) добавлены разрешения для команд `ls`, `echo` и `[`.
- Проверка:
  - запуск `env | grep -i proxy` в терминале VS Code после перезагрузки окна.
This commit is contained in:
ddadmin committed 2026-03-11 10:41:35 +03:00
1 parent 2cefb484f6
commit c4484b8ce3
2 files changed
+41 -8

No files matched your search

@@ -126,12 +126,30 @@ commandPrefix = "tail "
decision = "allow"
priority = 100
[[rule]]
toolName = "run_shell_command"
commandPrefix = "ls "
decision = "allow"
priority = 100
[[rule]]
toolName = "run_shell_command"
commandPrefix = "cat "
decision = "allow"
priority = 100
[[rule]]
toolName = "run_shell_command"
commandPrefix = "echo "
decision = "allow"
priority = 100
[[rule]]
toolName = "run_shell_command"
commandPrefix = "[ "
decision = "allow"
priority = 100
[[rule]]
toolName = "run_shell_command"
commandPrefix = "sed -n "
+23 -8
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# VS Code WSL server startup hook.
# Loads private environment variables from ~/.env.secrets if available.
# Хук запуска сервера VS Code в WSL.
# Загружает приватные переменные окружения и настраивает прокси, если доступен hproxy.local.
secrets_file="$HOME/.env.secrets"
@@ -9,14 +9,29 @@ warn() {
printf 'server-env-setup: %s\n' "$1" >&2
}
if [ ! -f "$secrets_file" ]; then
warn "warning: $secrets_file not found; starting without extra secrets."
return 0 2>/dev/null || exit 0
# 1. Загрузка приватных секретов (API ключи и т.д.)
if [ -f "$secrets_file" ]; then
# shellcheck disable=SC1090
if ! source "$secrets_file"; then
warn "warning: не удалось загрузить $secrets_file"
fi
fi
# shellcheck disable=SC1090
if ! source "$secrets_file"; then
warn "warning: failed to source $secrets_file; starting without extra secrets."
# 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"
export NO_PROXY="hproxy.local,localhost,127.0.0.1"
# Дублируем в нижнем регистре для лучшей совместимости с инструментами
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