From af07c59ffa88751a59f85c86a7d66b7e53c87eeb Mon Sep 17 00:00:00 2001 From: Denozordec Date: Wed, 14 Oct 2026 09:05:19 +0700 Subject: [PATCH] =?UTF-8?q?chore(test):=20=D0=BF=D0=BE=D0=B4=D1=82=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=B4=D0=B8=D1=82=D1=8C=20Android=20IPsec=20=D0=B8?= =?UTF-8?q?=20=D0=BE=D1=87=D0=B8=D1=81=D1=82=D0=B8=D1=82=D1=8C=20=D1=81?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/ux-ui-external-acceptance.md | 6 +- docs/ux-ui-plan.md | 4 +- docs/ux-ui-progress.md | 6 +- docs/ux-ui-remaining-acceptance.md | 8 ++- docs/ux-ui-stage-12.md | 6 +- docs/ux-ui-test-server.md | 6 +- ...ndroid227-human-acceptance-2026-10-14.json | 45 ++++++++++++ .../acceptance/phone227-cleanup-public.json | 72 +++++++++++++++++++ .../phone227-final-audit-public.json | 1 + .../acceptance/phone227-live-public.json | 1 + 10 files changed, 143 insertions(+), 12 deletions(-) create mode 100644 docs/ux-ui/acceptance/android227-human-acceptance-2026-10-14.json create mode 100644 docs/ux-ui/acceptance/phone227-cleanup-public.json create mode 100644 docs/ux-ui/acceptance/phone227-final-audit-public.json create mode 100644 docs/ux-ui/acceptance/phone227-live-public.json diff --git a/docs/ux-ui-external-acceptance.md b/docs/ux-ui-external-acceptance.md index 9f2dbaf5..3e6c0c37 100644 --- a/docs/ux-ui-external-acceptance.md +++ b/docs/ux-ui-external-acceptance.md @@ -1,6 +1,6 @@ # UX/UI: протокол внешней приёмки 12.5 -Актуальное продолжение 2026-10-14: подготовлен Android profile227 для mm-phone227 на194.226.121.150 с full Internet/NAT;16 own objects оставлены до ручного теста телефона, cleanup pending. PKCS#12/chain/password protection проверены, JWT удалён; пароли CHR прежние. Общая UI-регрессия226 ещё выполняется. Backend ux-regression222/frontend ux-routing218. Далее — результат Android, native correlation/cleanup и предоставленный тестовый S3. Этап12.5 открыт. +Актуальное продолжение 2026-10-14: Android227 принят по подтверждению пользователя — сайты, внешний IPv4 194.226.121.150, Ping198.18.227.1 и повторное подключение успешны.16 own objects удалены; поля исходных13 коллекций сохранены, оба CHR доступны, пароли прежние. Синхронные native packet counters не получены (sample0 peers/SA). Общая UI-регрессия226 выполняется, известны2 harness/compiler отказа. Backend ux-regression222/frontend ux-routing218. Далее — закончить226, затем тестовый S3 после получения параметров. Этап12.5 открыт. IPsec78: реальный PSK responder established, mode-config198.18.78.10 и online=true подтверждены API; точные собственные объекты удалены. Сертификатный/DN online, late failure и history restore остаются открытыми. [Отчёт](ux-ui/acceptance/ipsec-mode-config-2026-10-09.json), [журнал](ux-ui-progress.md). @@ -2631,3 +2631,7 @@ Runtime backend ux-regression222/frontend ux-routing218. Latest backend25/UI52 ## 12.5.227 — Android full-tunnel подготовлен, приёмка ожидается (2026-10-14) Реальный клиент mm-phone227/194.226.121.150, VIP198.18.227.250, NAT/full-tunnel policy, CA/server/client2дня;16 own objects intentionally retained, cleanup pending. Chain/password protection verified; профиль/пароль только ignored tmp, JWT удалён. Android Internet/Ping ещё не приняты; результаты пользователя и S3 credentials ожидаются. UI226 выполняется. [Подготовка](ux-ui/acceptance/android227-preparation-2026-10-14.json). + +### Завершение Android227 — 2026-10-14 + +Пользователь подтвердил сайты/внешнийIPv4/Ping и повторное подключение. Все16 own objects удалены; исходные поля13 коллекций preserved, оба CHR доступны. Native sample0 peers/SA не синхронизирован с телефоном, packet counter proof отсутствует. [Приёмка/границы](ux-ui/acceptance/android227-human-acceptance-2026-10-14.json). diff --git a/docs/ux-ui-plan.md b/docs/ux-ui-plan.md index d4eb7cf0..9ba69b69 100644 --- a/docs/ux-ui-plan.md +++ b/docs/ux-ui-plan.md @@ -1,6 +1,6 @@ # План реализации UX/UI по пятичасовым окнам -Актуальное продолжение 2026-10-14: подготовлен Android profile227 для mm-phone227 на194.226.121.150 с full Internet/NAT;16 own objects оставлены до ручного теста телефона, cleanup pending. PKCS#12/chain/password protection проверены, JWT удалён; пароли CHR прежние. Общая UI-регрессия226 ещё выполняется. Backend ux-regression222/frontend ux-routing218. Далее — результат Android, native correlation/cleanup и предоставленный тестовый S3. Этап12.5 открыт. +Актуальное продолжение 2026-10-14: Android227 принят по подтверждению пользователя — сайты, внешний IPv4 194.226.121.150, Ping198.18.227.1 и повторное подключение успешны.16 own objects удалены; поля исходных13 коллекций сохранены, оба CHR доступны, пароли прежние. Синхронные native packet counters не получены (sample0 peers/SA). Общая UI-регрессия226 выполняется, известны2 harness/compiler отказа. Backend ux-regression222/frontend ux-routing218. Далее — закончить226, затем тестовый S3 после получения параметров. Этап12.5 открыт. Общий план проекта MikrotikManager. Основан на согласованном плане из задачи; точка продолжения обновлена 2026-10-14. Источник фактического прогресса, проверок и ограничений — [журнал реализации](ux-ui-progress.md). Этот документ задаёт объём и критерии завершения, журнал фиксирует результат. @@ -17,7 +17,7 @@ | Группа | Что уже подтверждено | Оставшийся результат / что требуется | | --- | --- | --- | | REST и достоверность данных | Ошибки OSPF/BFD/BGP/GRE/WAN215–221 явные; latest API smoke222 прошёл | Причина единичных native401/500 неизвестна. Короткое независимое наблюдение возможно сейчас; оно не даст SLA | -| Клиентские ОС и внешняя сеть | CHR↔CHR/Linux, private IPv4/ULA и synthetic IPv6/IPFIX приняты в протоколах | Windows/macOS/iOS/Android VPN, независимые WAN/multi-WAN и public IPv6; public IPv6 на текущем стенде отсутствует | +| Клиентские ОС и внешняя сеть | CHR↔CHR/Linux, private IPv4/ULA и synthetic IPv6/IPFIX; Android full-tunnel/reconnect227 подтверждены пользователем | Windows/macOS/iOS VPN, расширенная Android приёмка, независимые WAN/multi-WAN и public IPv6; public IPv6 на текущем стенде отсутствует | | Масштаб и длительная устойчивость | Контролируемые lock/dedupe/loss/recovery и короткие native проверки | Несколько backend/worker/writers, длительный rekey/REST/traffic, physical disconnect и maximum throughput | | Внешние хранилища и jobs | Локальные API/errors/RBAC/owned SQL; реальные Portal1.3.1 и Telegram доставлены195–201 | Реальные S3/provider/container/Gitea/MaxMind jobs с соответствующими endpoints/аккаунтами; private/paid credentials не выдумывать | | Расширенные сетевые конфигурации | GRE/WG/VXLAN/IPsec/OSPF/BFD/BGP сценарии и точные границы записаны | from-pool/EUI-64/multiple-address import/export, outer IPv6, произвольная PKI/OID/policy/path-length и длительные переходы; BFD-only gate гарантией не стал | diff --git a/docs/ux-ui-progress.md b/docs/ux-ui-progress.md index 8b944c07..2484f652 100644 --- a/docs/ux-ui-progress.md +++ b/docs/ux-ui-progress.md @@ -1,6 +1,6 @@ # UX/UI: журнал реализации -Актуальное продолжение 2026-10-14: подготовлен Android profile227 для mm-phone227 на194.226.121.150 с full Internet/NAT;16 own objects оставлены до ручного теста телефона, cleanup pending. PKCS#12/chain/password protection проверены, JWT удалён; пароли CHR прежние. Общая UI-регрессия226 ещё выполняется. Backend ux-regression222/frontend ux-routing218. Далее — результат Android, native correlation/cleanup и предоставленный тестовый S3. Этап12.5 открыт. +Актуальное продолжение 2026-10-14: Android227 принят по подтверждению пользователя — сайты, внешний IPv4 194.226.121.150, Ping198.18.227.1 и повторное подключение успешны.16 own objects удалены; поля исходных13 коллекций сохранены, оба CHR доступны, пароли прежние. Синхронные native packet counters не получены (sample0 peers/SA). Общая UI-регрессия226 выполняется, известны2 harness/compiler отказа. Backend ux-regression222/frontend ux-routing218. Далее — закончить226, затем тестовый S3 после получения параметров. Этап12.5 открыт. Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md). @@ -42,11 +42,11 @@ По поручению пользователя подготовлен реальный сертификатный клиент mm-phone227 на194.226.121.150, адрес198.18.227.250, пул198.18.227.0/24, full-tunnel policy и отдельный managed masquerade через подтверждённый default-route interface. Добавлен собственный bridge/address198.18.227.1/32 для Ping. CA/server/client сертификаты действуют2 дня; server SAN содержит IP endpoint. Пользователь отдельно подтвердил передачу временного Portal JWT и применение настроек после отказа automatic approval review. JWT удалён из локального файла, Debian artifacts и backend /tmp после подготовки; пароли CHR не менялись. -Первый helper создал fixture, но остановился на ownership assertion своего адреса: comment mm-phone227 не входил в whitelist. Восстановлены manifest/ownership именно этого адреса; создание серверных объектов и клиента НЕ повторялось. Выполнен отдельный API export существующей identity с новым случайным passphrase. Подготовлен cleanup helper с проверкой ID/name/comment и исходных IDs13 коллекций;16 own objects оставлены для телефона. Cleanup ещё не выполнен: удалять их до человеческого теста нельзя. Независимый readback подтвердил сохранение исходных IDs13 коллекций; подключение телефона на момент чтения ещё не установлено. +Первый helper создал fixture, но остановился на ownership assertion своего адреса: comment mm-phone227 не входил в whitelist. Восстановлены manifest/ownership именно этого адреса; создание серверных объектов и клиента НЕ повторялось. Выполнен отдельный API export существующей identity с новым случайным passphrase. Подготовлен cleanup helper с проверкой ID/name/comment и исходных IDs13 коллекций;16 own objects оставлены для телефона. После пользовательского теста все16 own objects удалены; независимый финальный readback подтвердил сохранение всех исходных полей13 коллекций и отсутствие own residue/phone session. Оба CHR доступны. PKCS#12 chain verify passed; неверный пароль отклонён, private key находится внутри PBES2/PBKDF2/AES-256-CBC encrypted Safe (это Key bag внутри зашифрованного контейнера, не отдельно Shrouded Keybag). CA явно добавлен в remote.cert, профиль ikev2-cert, DNS1.1.1.1. .sswan и пароль выданы пользователю ссылками на ignored tmp/android227; в Git нет ключей/архива/пароля/JWT. [Обезличенная подготовка](ux-ui/acceptance/android227-preparation-2026-10-14.json), [формат StrongSwan](https://docs.strongswan.org/docs/latest/os/androidVpnClientProfiles.html). -Android connection/Internet egress/DNS/Ping/reconnect ещё не приняты: ожидаются результаты телефона. Ожидаемый внешний IPv4 —194.226.121.150. Общая UI-регрессия226 выполняется, результат не объявлен passed. Runtime images ux-regression222/ux-routing218 не менялись. Далее — результат телефона и native correlation, затем cleanup собственных объектов; S3 endpoint/bucket/keys ожидаются от пользователя. Этап12.5 открыт. +Пользователь подтвердил Android: сайты открываются, внешний IPv4=194.226.121.150, Ping198.18.227.1 проходит; после отключения/повторного подключения все проверки снова успешны. Это человеческая full-tunnel приёмка. Native sample не был синхронизирован с подключением и вернул0 peers/SA, поэтому packet counter/encrypted data-plane correlation не заявляется. Числовая версия приложения/Android не получена; long rekey/Wi-Fi-mobile handover/public IPv6 не приняты. [Человеческая приёмка](ux-ui/acceptance/android227-human-acceptance-2026-10-14.json), [cleanup16](ux-ui/acceptance/phone227-cleanup-public.json), [поля13 коллекций](ux-ui/acceptance/phone227-final-audit-public.json). Общая UI-регрессия226 выполняется, результат не объявлен passed. Runtime images ux-regression222/ux-routing218 не менялись. Далее — завершить UI226, затем S3 endpoint/bucket/keys ожидаются от пользователя. Этап12.5 открыт. ## 12.5.225 — REST с двух точек и границы диагностики авторизации (2026-10-14) diff --git a/docs/ux-ui-remaining-acceptance.md b/docs/ux-ui-remaining-acceptance.md index 0423e4ea..af99dddf 100644 --- a/docs/ux-ui-remaining-acceptance.md +++ b/docs/ux-ui-remaining-acceptance.md @@ -1,6 +1,6 @@ # Оставшаяся внешняя приёмка — 2026-10-14 -Актуальное продолжение 2026-10-14: подготовлен Android profile227 для mm-phone227 на194.226.121.150 с full Internet/NAT;16 own objects оставлены до ручного теста телефона, cleanup pending. PKCS#12/chain/password protection проверены, JWT удалён; пароли CHR прежние. Общая UI-регрессия226 ещё выполняется. Backend ux-regression222/frontend ux-routing218. Далее — результат Android, native correlation/cleanup и предоставленный тестовый S3. Этап12.5 открыт. +Актуальное продолжение 2026-10-14: Android227 принят по подтверждению пользователя — сайты, внешний IPv4 194.226.121.150, Ping198.18.227.1 и повторное подключение успешны.16 own objects удалены; поля исходных13 коллекций сохранены, оба CHR доступны, пароли прежние. Синхронные native packet counters не получены (sample0 peers/SA). Общая UI-регрессия226 выполняется, известны2 harness/compiler отказа. Backend ux-regression222/frontend ux-routing218. Далее — закончить226, затем тестовый S3 после получения параметров. Этап12.5 открыт. Это актуальная матрица после 12.5.225. Исторические записи сохраняют версии и ограничения на момент выполнения; поздние проверки ниже уточняют их. Этап 12.5 открыт. Успех в двух CHR и одном backend не означает приёмку всех конфигураций, интеграций или полной регрессии. @@ -13,7 +13,7 @@ | Группа | Что уже подтверждено | Оставшийся результат / что требуется | | --- | --- | --- | | REST и достоверность данных | Ошибки OSPF/BFD/BGP/GRE/WAN215–221 явные; latest API smoke222 прошёл | Причина единичных native401/500 неизвестна. Короткое независимое наблюдение возможно сейчас; оно не даст SLA | -| Клиентские ОС и внешняя сеть | CHR↔CHR/Linux, private IPv4/ULA и synthetic IPv6/IPFIX приняты в протоколах | Windows/macOS/iOS/Android VPN, независимые WAN/multi-WAN и public IPv6; public IPv6 на текущем стенде отсутствует | +| Клиентские ОС и внешняя сеть | CHR↔CHR/Linux, private IPv4/ULA и synthetic IPv6/IPFIX; Android full-tunnel/reconnect227 подтверждены пользователем | Windows/macOS/iOS VPN, расширенная Android приёмка, независимые WAN/multi-WAN и public IPv6; public IPv6 на текущем стенде отсутствует | | Масштаб и длительная устойчивость | Контролируемые lock/dedupe/loss/recovery и короткие native проверки | Несколько backend/worker/writers, длительный rekey/REST/traffic, physical disconnect и maximum throughput | | Внешние хранилища и jobs | Локальные API/errors/RBAC/owned SQL; реальные Portal1.3.1 и Telegram доставлены195–201 | Реальные S3/provider/container/Gitea/MaxMind jobs с соответствующими endpoints/аккаунтами; private/paid credentials не выдумывать | | Расширенные сетевые конфигурации | GRE/WG/VXLAN/IPsec/OSPF/BFD/BGP сценарии и точные границы записаны | from-pool/EUI-64/multiple-address import/export, outer IPv6, произвольная PKI/OID/policy/path-length и длительные переходы; BFD-only gate гарантией не стал | @@ -1561,3 +1561,7 @@ Backend25/UI52, disabled33/months5 и оба IPv6 UDP/SQL worker режима п ## 12.5.227 — Android full-tunnel подготовлен, приёмка ожидается (2026-10-14) Реальный клиент mm-phone227/194.226.121.150, VIP198.18.227.250, NAT/full-tunnel policy, CA/server/client2дня;16 own objects intentionally retained, cleanup pending. Chain/password protection verified; профиль/пароль только ignored tmp, JWT удалён. Android Internet/Ping ещё не приняты; результаты пользователя и S3 credentials ожидаются. UI226 выполняется. [Подготовка](ux-ui/acceptance/android227-preparation-2026-10-14.json). + +### Завершение Android227 — 2026-10-14 + +Пользователь подтвердил сайты/внешнийIPv4/Ping и повторное подключение. Все16 own objects удалены; исходные поля13 коллекций preserved, оба CHR доступны. Native sample0 peers/SA не синхронизирован с телефоном, packet counter proof отсутствует. [Приёмка/границы](ux-ui/acceptance/android227-human-acceptance-2026-10-14.json). diff --git a/docs/ux-ui-stage-12.md b/docs/ux-ui-stage-12.md index 06fab1bb..a4376dc2 100644 --- a/docs/ux-ui-stage-12.md +++ b/docs/ux-ui-stage-12.md @@ -1,6 +1,6 @@ # Этап 12: итоговая приёмка UX/UI -Актуальное продолжение 2026-10-14: подготовлен Android profile227 для mm-phone227 на194.226.121.150 с full Internet/NAT;16 own objects оставлены до ручного теста телефона, cleanup pending. PKCS#12/chain/password protection проверены, JWT удалён; пароли CHR прежние. Общая UI-регрессия226 ещё выполняется. Backend ux-regression222/frontend ux-routing218. Далее — результат Android, native correlation/cleanup и предоставленный тестовый S3. Этап12.5 открыт. +Актуальное продолжение 2026-10-14: Android227 принят по подтверждению пользователя — сайты, внешний IPv4 194.226.121.150, Ping198.18.227.1 и повторное подключение успешны.16 own objects удалены; поля исходных13 коллекций сохранены, оба CHR доступны, пароли прежние. Синхронные native packet counters не получены (sample0 peers/SA). Общая UI-регрессия226 выполняется, известны2 harness/compiler отказа. Backend ux-regression222/frontend ux-routing218. Далее — закончить226, затем тестовый S3 после получения параметров. Этап12.5 открыт. План: [ux-ui-plan.md](ux-ui-plan.md). Фактические результаты: [ux-ui-progress.md](ux-ui-progress.md). Подготовлен после сводных проверок 11Б; завершение каждого блока требует локального коммита без push. @@ -4047,9 +4047,9 @@ Backend ux-regression222 compiled1056/source492 matched, healthy; frontend ux-ro По поручению пользователя подготовлен реальный сертификатный клиент mm-phone227 на194.226.121.150, адрес198.18.227.250, пул198.18.227.0/24, full-tunnel policy и отдельный managed masquerade через подтверждённый default-route interface. Добавлен собственный bridge/address198.18.227.1/32 для Ping. CA/server/client сертификаты действуют2 дня; server SAN содержит IP endpoint. Пользователь отдельно подтвердил передачу временного Portal JWT и применение настроек после отказа automatic approval review. JWT удалён из локального файла, Debian artifacts и backend /tmp после подготовки; пароли CHR не менялись. -Первый helper создал fixture, но остановился на ownership assertion своего адреса: comment mm-phone227 не входил в whitelist. Восстановлены manifest/ownership именно этого адреса; создание серверных объектов и клиента НЕ повторялось. Выполнен отдельный API export существующей identity с новым случайным passphrase. Подготовлен cleanup helper с проверкой ID/name/comment и исходных IDs13 коллекций;16 own objects оставлены для телефона. Cleanup ещё не выполнен: удалять их до человеческого теста нельзя. Независимый readback подтвердил сохранение исходных IDs13 коллекций; подключение телефона на момент чтения ещё не установлено. +Первый helper создал fixture, но остановился на ownership assertion своего адреса: comment mm-phone227 не входил в whitelist. Восстановлены manifest/ownership именно этого адреса; создание серверных объектов и клиента НЕ повторялось. Выполнен отдельный API export существующей identity с новым случайным passphrase. Подготовлен cleanup helper с проверкой ID/name/comment и исходных IDs13 коллекций;16 own objects оставлены для телефона. После пользовательского теста все16 own objects удалены; независимый финальный readback подтвердил сохранение всех исходных полей13 коллекций и отсутствие own residue/phone session. Оба CHR доступны. PKCS#12 chain verify passed; неверный пароль отклонён, private key находится внутри PBES2/PBKDF2/AES-256-CBC encrypted Safe (это Key bag внутри зашифрованного контейнера, не отдельно Shrouded Keybag). CA явно добавлен в remote.cert, профиль ikev2-cert, DNS1.1.1.1. .sswan и пароль выданы пользователю ссылками на ignored tmp/android227; в Git нет ключей/архива/пароля/JWT. [Обезличенная подготовка](ux-ui/acceptance/android227-preparation-2026-10-14.json), [формат StrongSwan](https://docs.strongswan.org/docs/latest/os/androidVpnClientProfiles.html). -Android connection/Internet egress/DNS/Ping/reconnect ещё не приняты: ожидаются результаты телефона. Ожидаемый внешний IPv4 —194.226.121.150. Общая UI-регрессия226 выполняется, результат не объявлен passed. Runtime images ux-regression222/ux-routing218 не менялись. Далее — результат телефона и native correlation, затем cleanup собственных объектов; S3 endpoint/bucket/keys ожидаются от пользователя. Этап12.5 открыт. +Пользователь подтвердил Android: сайты открываются, внешний IPv4=194.226.121.150, Ping198.18.227.1 проходит; после отключения/повторного подключения все проверки снова успешны. Это человеческая full-tunnel приёмка. Native sample не был синхронизирован с подключением и вернул0 peers/SA, поэтому packet counter/encrypted data-plane correlation не заявляется. Числовая версия приложения/Android не получена; long rekey/Wi-Fi-mobile handover/public IPv6 не приняты. [Человеческая приёмка](ux-ui/acceptance/android227-human-acceptance-2026-10-14.json), [cleanup16](ux-ui/acceptance/phone227-cleanup-public.json), [поля13 коллекций](ux-ui/acceptance/phone227-final-audit-public.json). Общая UI-регрессия226 выполняется, результат не объявлен passed. Runtime images ux-regression222/ux-routing218 не менялись. Далее — завершить UI226, затем S3 endpoint/bucket/keys ожидаются от пользователя. Этап12.5 открыт. diff --git a/docs/ux-ui-test-server.md b/docs/ux-ui-test-server.md index 525d9b76..bd4f6ec2 100644 --- a/docs/ux-ui-test-server.md +++ b/docs/ux-ui-test-server.md @@ -1,6 +1,6 @@ # Тестовый сервер UX/UI — 2026-10-10 -Актуальное продолжение 2026-10-14: подготовлен Android profile227 для mm-phone227 на194.226.121.150 с full Internet/NAT;16 own objects оставлены до ручного теста телефона, cleanup pending. PKCS#12/chain/password protection проверены, JWT удалён; пароли CHR прежние. Общая UI-регрессия226 ещё выполняется. Backend ux-regression222/frontend ux-routing218. Далее — результат Android, native correlation/cleanup и предоставленный тестовый S3. Этап12.5 открыт. +Актуальное продолжение 2026-10-14: Android227 принят по подтверждению пользователя — сайты, внешний IPv4 194.226.121.150, Ping198.18.227.1 и повторное подключение успешны.16 own objects удалены; поля исходных13 коллекций сохранены, оба CHR доступны, пароли прежние. Синхронные native packet counters не получены (sample0 peers/SA). Общая UI-регрессия226 выполняется, известны2 harness/compiler отказа. Backend ux-regression222/frontend ux-routing218. Далее — закончить226, затем тестовый S3 после получения параметров. Этап12.5 открыт. | Параметр | Проверенное состояние | | --- | --- | @@ -2362,3 +2362,7 @@ Runtime backend ux-regression222/frontend ux-routing218. Latest backend25/UI52 ## 12.5.227 — Android full-tunnel подготовлен, приёмка ожидается (2026-10-14) Реальный клиент mm-phone227/194.226.121.150, VIP198.18.227.250, NAT/full-tunnel policy, CA/server/client2дня;16 own objects intentionally retained, cleanup pending. Chain/password protection verified; профиль/пароль только ignored tmp, JWT удалён. Android Internet/Ping ещё не приняты; результаты пользователя и S3 credentials ожидаются. UI226 выполняется. [Подготовка](ux-ui/acceptance/android227-preparation-2026-10-14.json). + +### Завершение Android227 — 2026-10-14 + +Пользователь подтвердил сайты/внешнийIPv4/Ping и повторное подключение. Все16 own objects удалены; исходные поля13 коллекций preserved, оба CHR доступны. Native sample0 peers/SA не синхронизирован с телефоном, packet counter proof отсутствует. [Приёмка/границы](ux-ui/acceptance/android227-human-acceptance-2026-10-14.json). diff --git a/docs/ux-ui/acceptance/android227-human-acceptance-2026-10-14.json b/docs/ux-ui/acceptance/android227-human-acceptance-2026-10-14.json new file mode 100644 index 00000000..d9bc0b7c --- /dev/null +++ b/docs/ux-ui/acceptance/android227-human-acceptance-2026-10-14.json @@ -0,0 +1,45 @@ +{ + "date": "2026-10-14", + "block": "12.5.227", + "platform": "Android / strongSwan; user says latest version, numeric version not supplied", + "humanReported": { + "initial": { + "sitesOpen": true, + "externalIPv4": "194.226.121.150", + "privatePing": "198.18.227.1", + "privatePingSucceeded": true + }, + "disconnectReconnect": { + "sitesOpen": true, + "externalIPv4": "194.226.121.150", + "privatePingSucceeded": true + } + }, + "nativeSnapshot": { + "at": "2026-10-14T01:59:05.155Z", + "phoneEstablished": 0, + "installedSaCount": 0, + "alignedWithHumanConnection": false, + "packetCounterProof": false + }, + "cleanup": { + "removed": 16, + "originalFieldCollectionsPreserved": 13, + "phoneSessionAbsent": true, + "availability": [ + { + "host": "194.226.121.150", + "available": true + }, + { + "host": "104.165.244.7", + "available": true + } + ] + }, + "bounds": [ + "Human full-tunnel and reconnect accepted; synchronized native session/packet counters not captured (snapshot had zero peers/SAs)", + "No long rekey, Wi-Fi/mobile handover, public IPv6 or numerical client OS/app version proof" + ], + "passwordChanges": 0 +} diff --git a/docs/ux-ui/acceptance/phone227-cleanup-public.json b/docs/ux-ui/acceptance/phone227-cleanup-public.json new file mode 100644 index 00000000..dbca6f16 --- /dev/null +++ b/docs/ux-ui/acceptance/phone227-cleanup-public.json @@ -0,0 +1,72 @@ +{ + "date": "2026-10-14T02:01:21.199Z", + "removed": 16, + "checks": [ + { + "path": "/ip/ipsec/identity", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/ipsec/peer", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/ipsec/policy", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/ipsec/mode-config", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/pool", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/ipsec/policy/group", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/ipsec/proposal", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/ipsec/profile", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/certificate", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/file", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/address", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/interface/bridge", + "originalIdsPreserved": true, + "ownedResidue": 0 + }, + { + "path": "/ip/firewall/nat", + "originalIdsPreserved": true, + "ownedResidue": 0 + } + ], + "passwordChanges": 0 +} \ No newline at end of file diff --git a/docs/ux-ui/acceptance/phone227-final-audit-public.json b/docs/ux-ui/acceptance/phone227-final-audit-public.json new file mode 100644 index 00000000..808ac799 --- /dev/null +++ b/docs/ux-ui/acceptance/phone227-final-audit-public.json @@ -0,0 +1 @@ +{"at":"2026-10-14T02:02:34.123Z","checks":[{"path":"/ip/ipsec/identity","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/ipsec/peer","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/ipsec/policy","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/ipsec/policy/group","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/ipsec/mode-config","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/pool","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/ipsec/proposal","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/ipsec/profile","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/certificate","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/file","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/address","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/interface/bridge","originalFieldsUnchanged":true,"ownedResidue":0},{"path":"/ip/firewall/nat","originalFieldsUnchanged":true,"ownedResidue":0}],"phoneSessionAbsent":true,"availability":[{"host":"194.226.121.150","available":true},{"host":"104.165.244.7","available":true}],"passwordChanges":0} diff --git a/docs/ux-ui/acceptance/phone227-live-public.json b/docs/ux-ui/acceptance/phone227-live-public.json new file mode 100644 index 00000000..e8a8a972 --- /dev/null +++ b/docs/ux-ui/acceptance/phone227-live-public.json @@ -0,0 +1 @@ +{"at":"2026-10-14T01:59:05.155Z","host":"194.226.121.150","phoneEstablished":0,"clientAddress":"198.18.227.250","installedSa":[],"fullTunnelDynamicPolicies":[],"nat":[{"src":"198.18.227.0/24","outInterface":"ether1","ipsecPolicy":"out,none"}],"passwordChanges":0}