8 Commits
Author SHA1 Message Date
ddadmin e69a4bb7df feat(xray-proxy): добавлен управляемый прокси для CLI
Зачем:
- отделить переносимый прокси-интерфейс от общих Bash-функций
- запускать агентские CLI через явный внешний или управляемый прокси

Что:
- добавлен stow-пакет xray-proxy с CLI, Bash-модулем и примерами
- реализованы строгий разбор VLESS и управляемый запуск Xray
- добавлены проверки процесса, порта, сигналов и отсутствия утечек
- сохранены спецификация и очередь следующих тикетов

Проверка:
- python3 tests/test_xray_proxy.py — 22/22
- python3 tests/test_xray_proxy_managed.py — 16/16
- bash tests/test_proxy_launchers.sh — 9/9
- bash tests/test_install.sh
- bash -n, Python 3.8 grammar, git diff --check
2026-07-20 00:00:59 +03:00
Dmitry Dementiev d5559867bd feat(proxy): добавлены pclaude/pcodex для явного запуска через прокси
- Зачем:
  - claude/codex должны ходить через hproxy.local, а ручной proxy_on легко забыть; нужны явные команды, которые не стартуют молча при недоступном прокси.
- Что:
  - bash: добавлены _proxy_export/_proxy_reachable/_proxy_run и pclaude/pcodex; proxy_on рефакторен на единый источник правды без смены поведения.
  - powershell: добавлены Get-ProxyEndpoint/Set-ProxyEnv/Test-ProxyReachable/Invoke-WithProxy и pclaude/pcodex; proxy_on рефакторен аналогично.
  - таймаут pre-flight вынесен в PROXY_PREFLIGHT_TIMEOUT (дефолт 2 c).
  - добавлен tests/test_proxy_launchers.sh (fail-fast, изоляция env, проброс кода, аргументы, регресс proxy_on).
- Проверка:
  - bash tests/test_proxy_launchers.sh.
2026-05-19 14:28:41 +03:00
ddadmin f5e8fec192 fix(bash): добавлена поддержка IPv6 и lower-case переменных в proxy_on/off
- Зачем:
  - локальные 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
2026-04-19 12:25:03 +03:00
ddadminandClaude Opus 4.6 898db1098d refactor(wsl): унифицирована логика hproxy.local и добавлена миграция legacy boot command
- Зачем:
  - setup-hproxy.sh удалял запись из hosts до проверки gateway — при ошибке hosts ломался.
  - update_hproxy() дублировала логику скрипта с багами и не тестировалась.
  - legacy inline boot command в wsl.conf не мигрировался автоматически.
- Что:
  - setup-hproxy.sh: безопасный порядок (gateway → hosts), set -e, экранированная точка в sed.
  - update_hproxy() заменена на thin wrapper с проверкой wsl.conf и ошибок sudo.
  - install.sh: интерактивная замена legacy boot command, детекция существующих [boot] command,
    принимает русскую «у» наравне с «y».
  - README.md: описаны три сценария (WSL NAT, WSL mirrored — host-side resolution, native Linux).
  - добавлены тесты: existing boot command preserved, legacy command migration hint.
- Проверка:
  - bash tests/test_install.sh
  - ./install.sh (интерактивно, ответить «y» на миграцию legacy command)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 19:42:50 +03:00
ddadmin 984db1b6d7 feat(dotfiles): улучшена установка и управление конфигурацией
- Зачем:
  - нужен воспроизводимый способ установки на новую машину и защита от перезаписи 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 на чистой машине.
2026-03-14 11:31:10 +03:00
ddadmin 39d1d8636e refactor(wsl): добавлена поддержка режима Mirror для WSL2
- Зачем:
  - новый режим networkingMode=mirror в WSL2 требует другого подхода к определению IP-адреса хоста.
- Что:
  - добавлено определение режима WSL через проверку .wslconfig.
  - при режиме mirror IP берется из Windows hosts файла.
  - при режиме NAT IP вычисляется через маршрут по умолчанию.
  - добавлена очистка символов \r при чтении Windows файлов.
  - улучшены информативные сообщения для пользователя.
- Проверка:
  - вызов функции update_hproxy в обоих режимах WSL2.
2026-02-24 10:29:49 +03:00
ddadmin f865bea0ee feat(wsl): добавлена функция update_hproxy для обновления IP хоста
- Зачем:
  - необходимо автоматически обновлять IP-адрес хоста при перезагрузке WSL или изменении сети.
- Что:
  - добавлена функция update_hproxy в bash/.bash_functions.
  - функция получает IP хоста через ip route.
  - обновляет запись hproxy.local в /etc/hosts.
- Проверка:
  - выполнить update_hproxy и проверить /etc/hosts.
2026-02-24 09:28:31 +03:00
ddadmin 30ba8b6ac6 refactor(bash): переименован .custom_env в .bash_functions
Зачем: имя файла не отражало его содержимое (функции bash), что вводило в заблуждение.
Что: переименован файл, обновлены все ссылки в .bashrc, README.md, .env.example.
Проверка: ln -s dotfiles/bash/.bash_functions ~/.bash_functions, source ~/.bashrc, proxy_on.
2026-02-21 18:43:42 +03:00