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.
This commit is contained in:
1 parent
e5323284a8
commit
6e431d875e
25 files changed
+310
-227
No files matched your search
@@ -0,0 +1,87 @@
|
||||
# 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`.
|
||||
Reference in new issue
Block a user