From bca90c1d21f17da982bd9f8bc645c668775b8e83 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Tue, 21 Jul 2026 10:30:53 -0400 Subject: [PATCH] =?UTF-8?q?docs(proxy-client):=20=D0=B7=D0=B0=D1=84=D0=B8?= =?UTF-8?q?=D0=BA=D1=81=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B0=20=D1=83?= =?UTF-8?q?=D1=81=D0=BF=D0=B5=D1=88=D0=BD=D0=B0=D1=8F=20H3-=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D1=91=D0=BC=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - нужны фактические результаты ручной приёмки на рабочем профиле. - Что: - подтверждены HTTP CONNECT и SOCKS5h на Ubuntu 26.04 с Xray 26.3.27. - записаны результаты проверки H3 под повторной нагрузкой и после простоя. - сохранён открытым вопрос проверки на других семействах Linux. - Проверка: - 240 последовательных запросов без ошибок, две загрузки по 10 МБ и повторные запросы после 45 секунд простоя. - git diff --cached --check. --- ...21-0743-proxy-client-05-ready-for-human.md | 43 +++++++++++-------- .../05-package-delivery-and-acceptance.md | 29 ++++++++++++- 2 files changed, 51 insertions(+), 21 deletions(-) diff --git a/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md b/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md index a62ba66..865b97a 100644 --- a/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md +++ b/.scratch/handoffs/20260721-0743-proxy-client-05-ready-for-human.md @@ -1,13 +1,14 @@ -# Handoff: `proxy-client` переименован, сетевой маршрут требует диагностики +# Handoff: `proxy-client` переименован, Ubuntu-приёмка пройдена -Обновлён: 2026-07-21 09:23 EDT. +Обновлён: 2026-07-21 10:08 EDT. ## Состояние задачи 05 Автоматическая часть готова. Публичное имя изменено с `xray-proxy` на -`proxy-client`, а ручная приёмка дошла до реального сетевого запроса. Xray -запускается и принимает локальные соединения, но удалённый маршрут пока не -работает. Статус тикета остаётся `ready-for-human`. +`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`. @@ -62,26 +63,30 @@ - `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 не попадало, временные копии удалены. -- встроенное определение внешнего IP; -- HTTP через `127.0.0.1:12334`; -- SOCKS5h через тот же порт. - -Оба запроса `curl` завершились кодом 35: TLS-соединение неожиданно закрылось во -время рукопожатия. Внешний IP и содержимое профиля в вывод не попадали. +Короткая проверка стабильности H3 также прошла: 120 циклов дали 240 новых HTTP +CONNECT- и SOCKS5h-соединений без ошибок; две одновременные загрузки по 10 МБ +завершились полностью; после 45 секунд простоя оба способа снова получили HTTP +200. Известный сбой первых соединений из XTLS/Xray-core#3673 не воспроизвёлся. +Это не заменяет длительное наблюдение под обычной нагрузкой. ## Следующий шаг -Диагностировать сетевой маршрут XHTTP/TLS: сравнить профиль с рабочим клиентом, -проверить доступность удалённого узла и выяснить, связан ли EOF с преобразованием -профиля, параметрами XHTTP/TLS или удалённой стороной. До этого не отмечать -ручную HTTP/SOCKS-приёмку выполненной. +Решить, обязательна ли ручная проверка на доступной системе из семейства РЕД ОС, +Astra Linux или Alt Linux. Если нет, привести статус исходного дизайна и +заявления о поддержке в соответствие с фактически пройденной Ubuntu-приёмкой. ## Git -Переименование и текущий handoff ещё не закоммичены. Не включать посторонние -неотслеживаемые `agents/.agents/.skill-lock.json` и -`scripts/setup-xray-proxy.sh`. +Переименование зафиксировано коммитом `6e431d8`. Обновления тикета и handoff после +успешной H3-приёмки ещё не закоммичены. Не включать посторонние неотслеживаемые +`agents/.agents/.skill-lock.json` и `scripts/setup-xray-proxy.sh`. diff --git a/.scratch/proxy-client/issues/05-package-delivery-and-acceptance.md b/.scratch/proxy-client/issues/05-package-delivery-and-acceptance.md index d46a1dc..207f1cd 100644 --- a/.scratch/proxy-client/issues/05-package-delivery-and-acceptance.md +++ b/.scratch/proxy-client/issues/05-package-delivery-and-acceptance.md @@ -52,8 +52,9 @@ Исполнитель готовит команды и останавливается. Результат отмечает пользователь; недоступная система остаётся неподтверждённой. -- [ ] Ubuntu с Python 3.10: установка, жизненный цикл, `xray run -test`, HTTP и - SOCKS через один локальный вход Xray 26.3.27. +- [x] Ubuntu 26.04 с системным Python 3.14: установка, жизненный цикл, + `xray run -test`, HTTP и SOCKS через один локальный вход Xray 26.3.27. + Минимальный CPython 3.8 отдельно покрыт автоматическим прогоном через `uv`. - [ ] РЕД ОС, Astra Linux или Alt Linux по доступности: тот же сценарий после проверки фактической версии Python. @@ -116,3 +117,27 @@ Xray 26.3.27 установился и запустился, `status` подтв `curl` завершились кодом 35 с неожиданным закрытием TLS-соединения во время рукопожатия. После проверки Xray штатно остановлен. Пункты ручной приёмки пока не отмечены. + +### 2026-07-21 — успешная приёмка на Ubuntu + +Первая строка оказалась нерабочей и в исходном клиенте. После замены на +подтверждённо рабочий профиль XHTTP/TLS с ALPN `h3` тот же Xray 26.3.27 прошёл +полный сценарий на Ubuntu 26.04 с системным Python 3.14: встроенная проверка +внешнего IP, `status`, `xray run -test`, HTTP CONNECT и SOCKS5h. Оба запроса +`curl` получили HTTP 200. Содержимое профиля в журнал и Git не попадало. + +Диагностическое понижение до Xray 25.12.8 не исправляло старый профиль, поэтому +поддержка второй версии не нужна. Ошибка была связана с прежней строкой или её +удалённой стороной, а не с преобразованием `proxy-client`. + +Короткая проверка стабильности H3 на Xray 26.3.27 также прошла: + +- 120 циклов, в каждом новое HTTP CONNECT- и SOCKS5h-соединение: 240 запросов, + 0 ошибок; +- две одновременные загрузки по 10 МБ через HTTP и SOCKS завершились полностью; +- после 45 секунд без трафика оба новых запроса получили HTTP 200. + +Таким образом, не воспроизвёлся сбой из +[XTLS/Xray-core#3673](https://github.com/XTLS/Xray-core/issues/3673), при котором +H3 переставал принимать новые соединения уже после первых запросов. Этот +короткий прогон не заменяет длительное наблюдение под обычной нагрузкой.