fix(install): предотвращено сворачивание каталога .local
- Зачем: - свежая установка могла превратить ~/.local в ссылку на пакет и записать Xray в репозиторий. - Что: - перед Stow теперь гарантируются настоящие ~/.local/bin и ~/.config/proxy-client без раскрытия посторонних ссылок. - добавлены регрессионные проверки свежего HOME и посторонней ссылки ~/.local. - README перестроены вокруг установки, выбора режима и ежедневного использования. - Проверка: - bash tests/test_install.sh. - bash tests/test_proxy_launchers.sh. - bash -n install.sh tests/test_install.sh. - git diff --cached --check.
This commit is contained in:
1 parent
bca90c1d21
commit
9c2e134fc1
5 files changed
+341
-201
No files matched your search
@@ -97,67 +97,14 @@ export ZAI_API_KEY="..." # https://z.ai
|
||||
|
||||
### Прокси (`proxy-client`)
|
||||
|
||||
Linux/Bash-команды `proxy_on/off`, `pclaude`, `pcodex` и `myip` находятся в
|
||||
самостоятельном пакете [`proxy-client`](proxy-client/README.md). Он поддерживает
|
||||
явно выбранный внешний Hiddify или управляемый пользовательский Xray 26.3.27 с
|
||||
профилями VLESS TCP/RAW + REALITY и XHTTP + TLS. Для отдельного подключения
|
||||
сначала выполните `mkdir -p ~/.config/proxy-client`, затем
|
||||
`stow proxy-client`. Команды `proxy-client install/start/stop/status`
|
||||
работают без systemd, автозапуска и автоматического перехода между прокси. Без
|
||||
конфига сохраняется внешний Hiddify `hproxy.local:12334`.
|
||||
Linux/Bash-интерфейс `proxy-client` поддерживает внешний прокси и управляемый
|
||||
пользовательский Xray. Без машинного конфига используется прежний Hiddify на
|
||||
`hproxy.local:12334`; автоматического запуска Xray и переключения между режимами
|
||||
нет.
|
||||
|
||||
Имя `hproxy.local` — прежний алиас хоста с внешним прокси. Windows и VS Code
|
||||
Server продолжают использовать его напрямую.
|
||||
|
||||
**Порты:** HTTP/HTTPS — `hproxy.local:12334`, SOCKS5 — `socks5://hproxy.local:12334`.
|
||||
|
||||
**WSL NAT mode** (IP шлюза меняется при каждом запуске):
|
||||
|
||||
```bash
|
||||
# Через install.sh (интерактивно, ответить "y" на вопрос про wsl.conf)
|
||||
./install.sh
|
||||
|
||||
# Или вручную:
|
||||
sudo tee -a /etc/wsl.conf <<'EOF'
|
||||
|
||||
[boot]
|
||||
command = "/path/to/dotfiles/scripts/setup-hproxy.sh"
|
||||
EOF
|
||||
```
|
||||
|
||||
После изменения `wsl.conf` — `wsl --shutdown`. Обновить без перезапуска: `sudo scripts/setup-hproxy.sh` или `update_hproxy`.
|
||||
|
||||
**WSL mirrored mode** (`networkingMode=mirrored`) — имя резолвится из WSL через DNS/hosts хоста. Достаточно записи на стороне Windows:
|
||||
|
||||
```
|
||||
# C:\Windows\System32\drivers\etc\hosts
|
||||
192.168.1.100 hproxy.local
|
||||
```
|
||||
|
||||
Проверка: `getent hosts hproxy.local` (запись в Linux `/etc/hosts` не обязательна).
|
||||
|
||||
**Native Linux** — прокси на localhost, нужна запись в `/etc/hosts`:
|
||||
|
||||
```bash
|
||||
echo '127.0.0.1 hproxy.local' | sudo tee -a /etc/hosts
|
||||
```
|
||||
|
||||
**VS Code Server** — `vscode/.vscode-server/server-env-setup` автоматически подхватывает `hproxy.local` и выставляет все proxy-переменные (HTTP_PROXY, HTTPS_PROXY, ALL_PROXY, NO_PROXY и lowercase-варианты). Если `hproxy.local` не резолвится — прокси не включается, запуск не блокируется.
|
||||
|
||||
**Windows pwsh** — `proxy_on` / `proxy_off` / `myip` работают аналогично bash-версиям.
|
||||
|
||||
**`pclaude` / `pcodex`** — явный запуск Claude/Codex CLI через прокси (bash и pwsh). Bash-версия делегирует проверку и запуск `proxy-client run`; Windows-версия сохраняет прежний адрес `hproxy.local:12334`. Таймаут — `PROXY_PREFLIGHT_TIMEOUT`, по умолчанию 2 c. Если прокси недоступен, клиент не запускается. Proxy-переменные видны только дочернему процессу и не остаются в сессии. Голые `claude`/`codex` не перекрываются и идут напрямую — для прокси нужен явный `p`-префикс.
|
||||
|
||||
**Codex GUI на Windows** — chezmoi создает Start Menu ярлык `Codex Proxy`, который запускает Codex Windows App с proxy-переменными:
|
||||
|
||||
```powershell
|
||||
HTTP_PROXY=http://hproxy.local:12334
|
||||
HTTPS_PROXY=http://hproxy.local:12334
|
||||
ALL_PROXY=socks5://hproxy.local:12334
|
||||
NO_PROXY=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru
|
||||
```
|
||||
|
||||
Ярлык вызывает `~/.local/bin/start-codex-proxy.ps1`. Скрипт также добавляет эти переменные в `WSLENV` с флагом `/u`: это штатный мост Windows → WSL, чтобы дочерние WSL-сессии, запущенные из Codex GUI, получили тот же proxy environment.
|
||||
[Установка, выбор режима, WSL и ежедневное использование](proxy-client/README.md)
|
||||
описаны рядом с пакетом. Windows PowerShell и ярлык `Codex Proxy` сохраняют
|
||||
прежнюю интеграцию с `hproxy.local:12334`.
|
||||
|
||||
### Git baseline
|
||||
|
||||
|
||||
Reference in new issue
Block a user