Зачем: профиль XHTTP с x_padding_bytes и пустым host не запускался.
Что: Xray обновлён до 26.10.10; добавлены параметры TLS, REALITY и XHTTP,
значения по умолчанию и преобразование старых названий сессии XHTTP.
Обновлены документация и регрессионные тесты.
Проверка: 59 тестов на Python 3.14 и 3.8, Bash-функции и установщик;
16 тестов разбора после уточнения проверки SHA-256. Настоящий Xray
проверил конфигурацию и выполнил HTTPS-запрос через профиль с HTTP 200.
Пользователь подтвердил работу proxy-client start.
- state.json снова хранит адрес и порт: при смене конфига у работающего
Xray status/env/run отказывают и советуют перезапустить start.
- Ошибки разбора ссылки называют файл профиля.
- Тесты: отказ start при чужой версии Xray, ключи REALITY не попадают
в вывод, Xray узнаётся после замены файла; машинный конфиг проверяется
через CLI; тест пути по умолчанию не зависит от доступности Hiddify.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Проверка «тот ли процесс»: /proc/PID/exe для Xray и cmdline для
супервизора вместо boot_id, времени старта и разбора argv; нет больше
состояния «не удалось подтвердить, удалите файлы вручную».
- Установка Xray: SHA-256 и атомарная замена остаются; без ограничений
размера, строгого разбора .dgst и блокировки на время установки.
- Разбор ссылки: extra — обычный json.loads; allowInsecure/insecure
игнорируются с предупреждением.
- Ошибки о файлах называют полный путь и готовую команду
(chmod 600 для профиля, rm для битого state.json).
- Тесты: разбор ссылок — табличные без запуска процессов, по одному
запуску на сценарий управляемого Xray; без подмены внутренних функций.
Код 1569 → 925 строк, тесты 2479 → 895, прогон 63 → 9 с.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Проверка порта перед запуском открывала сокет без SO_REUSEADDR и
отказывала, пока на порту доживали закрытые соединения Xray (TIME_WAIT),
хотя сам Xray запустился бы. Живой слушатель флаг на Linux не обходит,
так что занятый порт по-прежнему обнаруживается.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Новые ссылки Hiddify пишут «/» перед параметрами, используют
VLESS-шифрование mlkem768x25519plus и flow=xtls-rprx-vision поверх XHTTP.
Разбор принимает эти ссылки; прежние форматы работают как раньше.
Vision поверх XHTTP разрешён только вместе с шифрованием.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Зачем:
- прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны.
- Что:
- пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client.
- машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге.
- свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория.
- Проверка:
- bash tests/test_proxy_client_full.sh.
- bash tests/test_install.sh.
- ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.