Files
dotfiles/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md
T
ddadmin bca90c1d21 docs(proxy-client): зафиксирована успешная H3-приёмка
- Зачем:
  - нужны фактические результаты ручной приёмки на рабочем профиле.
- Что:
  - подтверждены HTTP CONNECT и SOCKS5h на Ubuntu 26.04 с Xray 26.3.27.
  - записаны результаты проверки H3 под повторной нагрузкой и после простоя.
  - сохранён открытым вопрос проверки на других семействах Linux.
- Проверка:
  - 240 последовательных запросов без ошибок, две загрузки по 10 МБ и повторные запросы после 45 секунд простоя.
  - git diff --cached --check.
2026-07-21 10:30:53 -04:00

5.9 KiB
Raw Blame History

Handoff: proxy-client переименован, Ubuntu-приёмка пройдена

Обновлён: 2026-07-21 10:08 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 не воспроизвёлся. Это не заменяет длительное наблюдение под обычной нагрузкой.

Следующий шаг

Решить, обязательна ли ручная проверка на доступной системе из семейства РЕД ОС, Astra Linux или Alt Linux. Если нет, привести статус исходного дизайна и заявления о поддержке в соответствие с фактически пройденной Ubuntu-приёмкой.

Git

Переименование зафиксировано коммитом 6e431d8. Обновления тикета и handoff после успешной H3-приёмки ещё не закоммичены. Не включать посторонние неотслеживаемые agents/.agents/.skill-lock.json и scripts/setup-xray-proxy.sh.