Files
dotfiles/.scratch/headless-xray-proxy/issues/04-verified-xray-installation.md
T
ddadmin e69a4bb7df feat(xray-proxy): добавлен управляемый прокси для CLI
Зачем:
- отделить переносимый прокси-интерфейс от общих Bash-функций
- запускать агентские CLI через явный внешний или управляемый прокси

Что:
- добавлен stow-пакет xray-proxy с CLI, Bash-модулем и примерами
- реализованы строгий разбор VLESS и управляемый запуск Xray
- добавлены проверки процесса, порта, сигналов и отсутствия утечек
- сохранены спецификация и очередь следующих тикетов

Проверка:
- python3 tests/test_xray_proxy.py — 22/22
- python3 tests/test_xray_proxy_managed.py — 16/16
- bash tests/test_proxy_launchers.sh — 9/9
- bash tests/test_install.sh
- bash -n, Python 3.8 grammar, git diff --check
2026-07-20 00:00:59 +03:00

2.8 KiB

04 — Проверяемая пользовательская установка Xray

What to build: Пользователь без root устанавливает официальный Xray одной явной командой и получает проверенный бинарник нужной версии без скрытой замены существующей установки или записи за пределами пользовательских каталогов.

Blocked by: 01 — Внешний прокси и переносимый Bash-интерфейс.

Status: ready-for-agent

  • install поддерживает Linux x86_64 и aarch64, по умолчанию выбирает зафиксированную версию 26.3.27 и принимает другую только через явный параметр версии, не объявляя произвольный релиз поддержанным.
  • Архив и файл контрольной суммы скачиваются из официального релиза, после чего SHA-256 проверяется до распаковки и установки; несовпадение прекращает операцию без изменения установленного бинарника.
  • Работа ведётся во временном пользовательском каталоге, извлечённый бинарник сначала проходит проверку version, а затем атомарно устанавливается в пользовательский каталог исполняемых файлов.
  • Существующий бинарник другой версии не перезаписывается без --replace; ошибка, отказ или прерывание не оставляют частично установленный файл.
  • После установки command -v xray обязан указывать на установленный файл; иначе команда завершается с понятной подсказкой исправить PATH.
  • Установщик не использует sudo, systemd или системные каталоги, а команды start и запуск без подкоманды никогда не начинают скачивание.
  • Автоматические тесты проверяют обе архитектуры, корректную и повреждённую контрольную сумму, существующую версию, --replace, атомарность и отсутствие записи вне изолированного пользовательского каталога.