Files
dotfiles/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md
T
ddadmin 6e431d875e refactor(proxy-client): переименован интерфейс прокси
- Зачем:
  - прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны.
- Что:
  - пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client.
  - машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге.
  - свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория.
- Проверка:
  - bash tests/test_proxy_client_full.sh.
  - bash tests/test_install.sh.
  - ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.
2026-07-21 09:31:21 -04:00

88 lines
4.8 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` переименован, сетевой маршрут требует диагностики
Обновлён: 2026-07-21 09:23 EDT.
## Состояние задачи 05
Автоматическая часть готова. Публичное имя изменено с `xray-proxy` на
`proxy-client`, а ручная приёмка дошла до реального сетевого запроса. Xray
запускается и принимает локальные соединения, но удалённый маршрут пока не
работает. Статус тикета остаётся `ready-for-human`.
Тикет: `.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`;
- после проверки процесс штатно остановлен командой `proxy-client stop`.
Не прошло:
- встроенное определение внешнего IP;
- HTTP через `127.0.0.1:12334`;
- SOCKS5h через тот же порт.
Оба запроса `curl` завершились кодом 35: TLS-соединение неожиданно закрылось во
время рукопожатия. Внешний IP и содержимое профиля в вывод не попадали.
## Следующий шаг
Диагностировать сетевой маршрут XHTTP/TLS: сравнить профиль с рабочим клиентом,
проверить доступность удалённого узла и выяснить, связан ли EOF с преобразованием
профиля, параметрами XHTTP/TLS или удалённой стороной. До этого не отмечать
ручную HTTP/SOCKS-приёмку выполненной.
## Git
Переименование и текущий handoff ещё не закоммичены. Не включать посторонние
неотслеживаемые `agents/.agents/.skill-lock.json` и
`scripts/setup-xray-proxy.sh`.