feat(proxy-client): добавлен самостоятельный установщик

- Зачем:
  - пакет должен устанавливаться отдельно от dotfiles без ручной раскладки и опасных замен.
- Что:
  - добавлен безопасный установщик со Stow и прямыми симлинками.
  - добавлены идемпотентная настройка Bash и защита машинных файлов.
  - обновлены инструкция и полный набор интеграционных проверок.
- Проверка:
  - env XDG_STATE_HOME=<временный каталог> bash tests/test_proxy_client_full.sh.
This commit is contained in:
ddadmin committed 2026-07-21 22:22:04 +03:00
1 parent 43404d374f
commit f679515a8f
5 files changed
+645 -12

No files matched your search

+23 -12
View File
@@ -32,20 +32,31 @@ source ~/.bash_custom
### Только пакет `proxy-client`
```bash
cd ~/dotfiles
mkdir -p ~/.local/bin ~/.config/proxy-client
stow proxy-client
source ~/.config/proxy-client/shell.bash
```
Если Bash-пакет dotfiles не установлен, добавьте подключение модуля в
`~/.bashrc`:
Каталог можно скопировать отдельно от остальных dotfiles и запустить его
собственный установщик из любого рабочего каталога:
```bash
printf '%s\n' 'source ~/.config/proxy-client/shell.bash' >> ~/.bashrc
~/src/proxy-client/install.sh
```
При наличии Stow установщик использует его, иначе создаёт те же три симлинка
напрямую: CLI, Bash-модуль и каталог шаблонов. Исходный каталог после установки
нельзя перемещать: домашние ссылки зависят от его постоянного пути.
По умолчанию установщик добавляет в `~/.bashrc` помеченный блок для
`~/.local/bin` и Bash-модуля. Чтобы оставить настройки оболочки без изменений:
```bash
~/src/proxy-client/install.sh --no-shell-setup
```
Установщик не создаёт машинный `config` и закрытый `default.url`, не
устанавливает Xray и не проверяет сеть. После установки примените изменения
через `source ~/.bashrc`; с `--no-shell-setup` подключите модуль напрямую:
`source ~/.config/proxy-client/shell.bash`. Затем выберите режим по разделу
[«Настройка режима»](#настройка-режима). Без машинного конфига продолжает
действовать режим Hiddify по умолчанию.
## Как выбирается прокси
Режим определяется только машинным файлом
@@ -247,9 +258,9 @@ export PROXY_PREFLIGHT_TIMEOUT=5
## Справочник
### Ручное подключение без Stow
### Ручное подключение без установщика
Можно создать ссылки на CLI, Bash-модуль и примеры либо скопировать те же файлы:
Если пакетный установщик запустить нельзя, создайте те же ссылки вручную:
```bash
mkdir -p ~/.local/bin ~/.config/proxy-client