Files
dotfiles/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md
T
ddadmin 9c2e134fc1 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.
2026-07-21 11:15:27 -04:00

101 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Handoff: `proxy-client` переименован, Ubuntu-приёмка пройдена
Обновлён: 2026-07-21 11:13 EDT.
## Состояние задачи 05
Автоматическая часть готова. Публичное имя изменено с `xray-proxy` на
`proxy-client`. Ручная приёмка на Ubuntu 26.04 с системным Python 3.14 пройдена
на подтверждённо рабочем профиле XHTTP/TLS с ALPN `h3`. Статус тикета остаётся
`ready-for-human`, пока не решено, нужна ли проверка на РЕД ОС, Astra Linux или
Alt Linux.
Тикет: `.scratch/proxy-client/issues/05-package-delivery-and-acceptance.md`.
## Переименование
- stow-пакет: `proxy-client/`;
- CLI: `~/.local/bin/proxy-client`;
- единый пользовательский каталог: `~/.config/proxy-client/`;
- служебный каталог: `~/.local/state/proxy-client/`;
- машинный конфиг и закрытый профиль теперь лежат рядом как `config` и
`default.url`;
- примеры называются `config.external` и `config.xray`;
- имена тестов, спецификации, задач, README и Bash-модуля приведены к
`proxy-client`;
- `Xray`, бинарник `xray` и значение `type = xray` сохранены как названия
конкретного движка.
Поддержка старой раскладки в `install.sh` намеренно не добавлена: публичное имя
изменено до завершения разработки и выпуска. Текущий HOME уже приведён к новой
структуре. Свежая установка заранее создаёт настоящий
`~/.config/proxy-client`, поэтому Stow не может свернуть его в ссылку на
репозиторий.
## Автоматическая проверка
`bash tests/test_proxy_client_full.sh` завершился с кодом 0 после
переименования:
- системный Python 3.14: 79 тестов, `OK`, 61,034 с;
- Bash-интеграция: 8 проверок, `PASS`; `shellcheck` не установлен;
- установка и миграция: `All install tests passed`;
- CPython 3.8 через `uv`: 79 тестов, `OK`, 52,446 с.
Дополнительно прошли синтаксическая проверка shell-файлов и `git diff --check`.
## Текущий HOME
Во время разработки текущий HOME приведён к новой структуре:
- `~/.config/proxy-client` — настоящий каталог;
- `config` и `default.url` — обычные файлы с правами `600`;
- профиль содержит одну непустую строку, его содержимое не выводилось;
- `shell.bash`, `examples` и CLI указывают в новый stow-пакет;
- старые `~/.config/xray-proxy`, `~/.config/proxy/config`,
`~/.local/bin/xray-proxy` и `~/.local/state/xray-proxy` отсутствуют.
## Ручная приёмка
Подтверждено:
- установлен Xray 26.3.27;
- `proxy-client start` успешно проверяет версию, строит JSON и запускает Xray;
- `proxy-client status` видит управляемый процесс на `127.0.0.1:12334`;
- `xray run -test` сообщает `Configuration OK`;
- встроенное определение внешнего IP работает;
- HTTP CONNECT и SOCKS5h через `127.0.0.1:12334` получают HTTP 200;
- после проверки процесс штатно остановлен командой `proxy-client stop`.
Первый профиль не работал и в исходном клиенте. Его дополнительная диагностика
на Xray 26.3.27 и 25.12.8 не выявила расхождений преобразования; оба клиента
получали от удалённой стороны неверный VLESS-ответ. Понижение версии не помогло.
После замены строки на рабочую H3-профиль сразу прошёл полный сценарий на
26.3.27. Содержимое профилей в Git не попадало, временные копии удалены.
Короткая проверка стабильности H3 также прошла: 120 циклов дали 240 новых HTTP
CONNECT- и SOCKS5h-соединений без ошибок; две одновременные загрузки по 10 МБ
завершились полностью; после 45 секунд простоя оба способа снова получили HTTP
200. Известный сбой первых соединений из XTLS/Xray-core#3673 не воспроизвёлся.
Это не заменяет длительное наблюдение под обычной нагрузкой.
## Документация и установка
Корневой README сокращён до обзора, а `proxy-client/README.md` перестроен по
пути читателя: установка, выбор режима, настройка, ежедневная работа,
диагностика и справочник. Установщик заранее создаёт настоящие `~/.local/bin` и
`~/.config/proxy-client`, чтобы Stow не сворачивал изменяемые каталоги в ссылки
на репозиторий. Это покрыто свежим HOME и посторонней ссылкой `~/.local`.
## Следующий шаг
Решить, обязательна ли ручная проверка на доступной системе из семейства РЕД ОС,
Astra Linux или Alt Linux. Если нет, привести статус исходного дизайна и
заявления о поддержке в соответствие с фактически пройденной Ubuntu-приёмкой.
## Git
Переименование зафиксировано коммитом `6e431d8`, успешная H3-приёмка —
`bca90c1`. Не включать посторонние неотслеживаемые
`agents/.agents/.skill-lock.json` и `scripts/setup-xray-proxy.sh`.