- Зачем:
- прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны.
- Что:
- пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client.
- машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге.
- свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория.
- Проверка:
- bash tests/test_proxy_client_full.sh.
- bash tests/test_install.sh.
- ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.
- Зачем:
- локальные MCP/loopback-соединения уходили в SOCKS5 через hproxy.local из-за отсутствия IPv6 в NO_PROXY
- Python-приложения не видели прокси-переменные в lower-case
- Что:
- добавлены ::1 и [::1] в список NO_PROXY для IPv6 loopback
- добавлены lower-case переменные (http_proxy, https_proxy, all_proxy, no_proxy)
- функция proxy_off теперь сбрасывает все прокси-переменные
- Проверка:
- source ~/.bash_functions && proxy_on && echo $NO_PROXY && proxy_off
- Зачем:
- нужен воспроизводимый способ установки на новую машину и защита от перезаписи tracked-файлов ИИ-инструментами.
- Что:
- добавлен install.sh: stow всех пакетов, создание settings.local.json, chmod 444 на settings.json, автопатч .bashrc.
- claude/settings.json разделён на базовый (permissions, statusLine) и локальный (model, effortLevel в settings.local.json).
- добавлен .concept-software.ru в NO_PROXY в server-env-setup и bash_functions.
- README переработан: install.sh как рекомендуемый способ, документация двухуровневых настроек Claude, Developer Mode hint, расширенное описание VS Code прокси.
- Проверка:
- git clone + ./install.sh на чистой машине.
- Зачем:
- новый режим networkingMode=mirror в WSL2 требует другого подхода к определению IP-адреса хоста.
- Что:
- добавлено определение режима WSL через проверку .wslconfig.
- при режиме mirror IP берется из Windows hosts файла.
- при режиме NAT IP вычисляется через маршрут по умолчанию.
- добавлена очистка символов \r при чтении Windows файлов.
- улучшены информативные сообщения для пользователя.
- Проверка:
- вызов функции update_hproxy в обоих режимах WSL2.
- Зачем:
- необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети.
- Что:
- добавлена функция update_hproxy в bash/.bash_functions.
- функция получает IP хоста через ip route.
- обновляет запись hproxy.local в /etc/hosts.
- Проверка:
- выполнить update_hproxy и проверить /etc/hosts.
- Зачем:
- функция git с очисткой переменных прокси больше не нужна и усложняет поведение shell.
- Что:
- закомментирован блок функции git() в bash-конфигурации.
- отключена принудительная очистка HTTP_PROXY/HTTPS_PROXY/ALL_PROXY для вызовов git.
- Проверка:
- source ~/.bashrc.
- type git.
Зачем: улучшение визуального опыта работы в терминале с отображением git-ветки, venv и статуса последней команды.
Что: создан файл .bash_prompt с цветным двухстрочным prompt, индикацией git-ветки, активного venv и статуса exit code.
Проверка: source ~/.bashrc, проверить отображение в git-репозитории и с активированным venv.
Зачем: имя файла не отражало его содержимое (функции bash), что вводило в заблуждение.
Что: переименован файл, обновлены все ссылки в .bashrc, README.md, .env.example.
Проверка: ln -s dotfiles/bash/.bash_functions ~/.bash_functions, source ~/.bashrc, proxy_on.
Зачем: разделение публичных и приватных переменных окружения для безопасного хранения API ключей.
Что: создан шаблон .env.secrets.example, обновлен .bashrc для загрузки ~/.env.secrets, добавлено исключение в .gitignore, обновлена документация.
Проверка: cp bash/.env.secrets.example ~/.env.secrets, source ~/.bashrc, echo $CONTEXT7_API_KEY.
Зачем: настройка рабочего окружения для инструмента opencode с поддержкой conventional commits.
Что: созданы конфигурационные файлы, добавлен bashrc, gitignore, документация и skill для коммитов.
Проверка: git status, проверка наличия файлов в opencode/.config/.
- Зачем:
- нужен централизованный контроль, версионирование и бэкап настроек окружения
- Что:
- создана модульная структура директорий под GNU Stow
- перенесены текущие конфигурации для bash, tmux, vim и zed
- Проверка:
- cd ~/dotfiles && stow -n -S tmux vim bash