- Зачем: - свежая установка могла превратить ~/.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.
6.5 KiB
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.