PDPocketDeployRESEARCH / VERIFICATION LOG

28 ОКТЯБРЯ 2026 / РАБОЧАЯ ЛАБОРАТОРИЯ

Показываем факты.
Включая неудобные.

Облачный стенд работает на 0.7.0-alpha.8.

28 октября 2026 года приложение на облачном Android 11 обновлено поверх с alpha.4 через alpha.5, alpha.6 и alpha.7 до alpha.8; обновление до alpha.8 описано первым ниже, затем alpha.7 вместе со сборкой, которая упала на Android 11 и была откачена. Обновление до alpha.5: Сайт остался на месте (около 2 секунд 503), каталог проектов и аккаунт Bluesky сохранились побайтно. Агент Termux обновлён до alpha.3 через приложение — это останавливает Node.js-проекты: Bluesky PDS не отвечал около 5 минут, пока его не запустили заново с экрана проекта. Это документированная цена обновления агента, а не сбой.

28 октября 2026 · 0.7.0-alpha.8: политика Host, страж Java 8 API, диагностика

ПРОВЕРКАРЕЗУЛЬТАТ
Хост-набор (JVM-ядро 204 проверки, из них 41 новая на политику Host; i18n 9; диагностика 16; страж Java 8 API; измеритель памяти 7; монитор доступности 6)PASS · exit 0
Android 17 (API 37), smoke-инструментация24 / 24 PASS
Облачный Android 11: обновление alpha.7 → alpha.8 поверх, проба устройства и откат наготовесайт вернулся через ~4 с · 0 падений · данные целы
Политика Host вживую на стенде: evil.com, evil.example.org421 Misdirected Request на сайте, на /api и на проверочном endpoint
Политика Host: 127.0.0.1, localhost, LAN-IP, *.trycloudflare.com, публичный домен проекта200 · все публичные пути и запросы диапазонов байтов работают
«Поделиться диагностикой» на стендеоткрывается системное меню с отчётом · секретов в нём нет

Страж Java 8 API собирает каждый исходный файл против библиотек Android 8, так что вызов, существующий только в новых Android, ломает сборку на хосте, а не телефон. Не проверено: независимый тест rebinding настоящим инструментом, обёртка Bluesky PDS (проверки Host/Origin в ней всё ещё нет), физические телефоны.

Релиз 0.7.0-alpha.8 ↗

28 октября 2026 · 0.7.0-alpha.7: английский интерфейс по умолчанию

ПРОВЕРКАРЕЗУЛЬТАТ
Хост-набор (JVM-ядро 163 проверки плюс 9 проверок i18n на 1188 строк)PASS · exit 0
Android 17 (API 37), smoke-инструментация, английский интерфейс24 / 24 PASS
Облачный Android 11: первая сборка alpha.7упала при запуске — InputStream.readAllBytes() есть только с Android 13 · сайт отдавал 503 · откат на alpha.6 за ~10 с · данные целы
Облачный Android 11: исправленная сборка, обновление поверхсайт вернулся через ~4 с · 0 падений · интерфейс английский · аккаунт и проекты на месте

Эмулятор Android 17 эту ошибку уровня API не поймал, стенд на Android 11 поймал. Теперь перед приёмкой обновления мы проверяем устройство и держим команду отката наготове. Не проверено: переключатель языка внутри приложения (язык следует системной локали), перевод встроенных примеров и сообщений агента, всё это на физическом телефоне.

Релиз 0.7.0-alpha.7 ↗

28 октября 2026 · 0.7.0-alpha.6: видео с телефона и сброс пароля

ПРОВЕРКАРЕЗУЛЬТАТ
HTTP-диапазоны байтов через публичный шлюз (Range: bytes=0-999)206 Partial Content · видео перематывается в настоящем браузере
JVM-ядро: 15 новых проверок диапазонов (срез, открытый конец, суффикс, обрезка, 416, игнорируемые формы, HEAD)163 / 163 PASS
Сброс пароля PDS владельцем на настоящем аккаунтеновый пароль принят createSession на PDS 0.5.49 · тот же DID · старый отвергнут в фикстурном тесте
Android 17 smoke24 / 24 PASS

Обновление агента Termux останавливает Node.js-проекты, включая Bluesky PDS, до ручного запуска. Релиз 0.7.0-alpha.6 ↗

28 октября 2026 · 0.7.0-alpha.5: включены Nostr, Telegram-боты и резервные копии

ПРОВЕРКАРЕЗУЛЬТАТ
Хост-набор (JVM-ядро, Node-агент, бэкапы, Nostr, Telegram, почта PDS, атакующие проверки)PASS · 0 ошибок · 1 законный skip
Android 17 (API 37), smoke-инструментация24 / 24 PASS
Облачный Android 11: обновление alpha.4 → alpha.5 поверхсайт вернулся через ~2 с · данные побайтно те же
Облачный Android 11: агент Termux alpha.2 → alpha.3 через приложениепоявились кнопки Nostr, Telegram-бот, Резервные копии · PDS запущен вручную через ~5 мин
Облачный Android 11: идентичность Nostr создана на стендеключ остаётся в Termux · ничего не опубликовано
Аккаунт Bluesky после обновлениятот же DID · виден на bsky.app

Что изменилось: три лабораторных модуля, которые были собраны в alpha.4, но выключены, теперь включены. У каждого свои границы: Telegram-боты работают через long polling и с правами Termux; резервные копии — зашифрованный экспорт без автоматического восстановления; публикация в Nostr — подписанная запись с явным подтверждением, проверена один раз 26 октября с эмулятора Android 11. Не проверено: всё это на физическом телефоне.

Релиз 0.7.0-alpha.5 ↗

27 октября 2026 · 0.7.0-alpha.4: сайты поднимаются сами

ПРОВЕРКАРЕЗУЛЬТАТ
Android 17 (API 37), smoke-инструментация24 / 24 PASS
Android 17: обновление поверх без открытия приложениясайт снова отвечает через ~3 с
Android 17: перезагрузка без открытия приложениясайт отвечает через ~25 с после загрузки
Android 17: доступ к локальной сети для LAN-сайтапредупреждение и системный запрос · разрешение выдано
Облачный Android 11: обновление alpha.3 → alpha.4~2 с вместо ~2,5 мин · данные побайтно те же

При targetSdk 37 Android 17 закрывает приложению локальную сеть, включая входящие подключения. В alpha.3 мы это недооценили: LAN-сайты на Android 17 не открывались с соседних устройств. Alpha.4 запрашивает разрешение. Если на телефоне стоит PIN, после перезагрузки сайты поднимутся после первой разблокировки. Не проверено: физические телефоны и оптимизация батареи производителей, реальный соседний клиент на Android 17.

Релиз 0.7.0-alpha.4 ↗

27 октября 2026 · 0.7.0-alpha.3: Android 17 и надёжное хранилище

ПРОВЕРКАРЕЗУЛЬТАТ
Android 17 (API 37), AOSP-эмулятор: smoke-инструментация21 / 21 PASS
Android 17: сайт отвечает в фоне, системный жест «назад», паденияHTTP 200 · predictive back · 0 FATAL
Android 17: обновление alpha.2 → alpha.3 поверхпроект сохранён · сайт побайтно тот же (после открытия приложения)
Android 11, изолированная приёмка хранилища35 / 35 PASS · сайт 200 до и после
Хранилище на хосте: атомарная запись, fsync каталогов, восстановление43 / 43 · 157 проверок

Что изменилось в безопасности: открытый HTTP разрешён только для loopback (127.0.0.1 и localhost); данные приложения исключены из облачного бэкапа Google и переноса на новое устройство; закрыт открытый редирект вида «//чужой-хост». Запись проектов на диск подтверждается fsync файлов и каталогов, при сбое публикация не объявляется подтверждённой. Не проверено: физические телефоны, удаление с проверяемой очисткой. Доступ из локальной сети на Android 17 исправлен в alpha.4.

Релиз 0.7.0-alpha.3 ↗ · Известные ограничения ↗

Облачный стенд · 25 октября 2026

Маршрут сайта: браузер по HTTPS → Traefik на Hostfly → приватный ADB → PocketDeploy в Android 11. Постоянный адрес — https://pocketdeploy.vibecoding.by. Mac и временный Quick Tunnel не участвуют в работе текущего стенда. На новом адресе отдельно проверены доверенный TLS-сертификат и работа маршрута: нативная остановка Android-сайта дала 503 без сохранённого зеркала, повторный запуск вернул HTML. Это проверка текущего стенда, а не гарантия непрерывной работы.

25 октября 2026 · 0.6.0-alpha.3: сохранённые испытания

В сохранённых итоговых наборах 0.6.0-alpha.3 прошли 402 JVM-проверки, 149 Node-тестов и 33 ограниченные атакующие проверки. На Android 11 и 15 — по 21 smoke и 43 проверки сети/SEO: нативное создание сайта, готовый HTML, XML sitemap и настоящий 404. Это результаты предыдущего стенда, а не повторный полный прогон в облаке. На прежнем публичном адресе проверены canonical, Open Graph, robots и sitemap; обычный клиент и клиент со строкой Googlebot получили одинаковый HTML. Индексация поисковой системой не подтверждена.

Протокол 0.6.0-alpha.3 ↗

25 октября 2026 · 0.6.0-alpha.2: исторические испытания

ПРОВЕРКАРЕЗУЛЬТАТ
JVM: HTTP, релизы, backend, права, мастер сети317 PASS
Node: MCP, USB-подключение, gateway53 PASS
Атакующие JVM-проверки33 PASS
AOSP-эмуляторы Android 11 / Android 15134 + 134 PASS
Навигация: 2 ОС × 2 темы × 3 размера шрифта12 конфигураций · 8 групп каждая
Реальный MCP: запрос → native consent fixture → отзыв17 PASS
Атаки на наш Android HTTP-сервер49 PASS
Настоящий публичный HTTPS CRUD8 PASS · с того же ПК

Тестовый драйвер действует как владелец одноразового эмулятора. Это не утверждение о ручном одобрении человеком. После отзыва тот же подключённый MCP-клиент получил отказ; контроллер выключен.

В историческом прогоне 25 октября 2026 года публичный HTTPS, marker и TLS-сертификат проверены через Cloudflare edge с нашего ПК. Другая сеть и LTE тогда не проверялись. После остановки двух gateway оба Android origin стали недоступны; собственные data-forward удалены. Позднее на прежнем стенде 0.6.0-alpha.3 проверили смену туннеля и остановку/запуск сайта: 503 без зеркала, затем возврат HTML. Эти результаты не подтверждают доступность нового облачного адреса.

Подробный протокол 0.6 ↗ · Предыдущий релиз 0.5 ↗

Что реализовано в 0.6

Функции реализованы и прошли перечисленные исторические испытания. В приёмке 0.6.0-alpha.2 от 25 октября 2026 года force-stop на обоих Android-эмуляторах подтвердил побайтовую сохранность базы и зашифрованных grants. Этот набор целиком на облачном стенде не повторялся.

Границы релиза

PocketDeploy 0.7.0-alpha.8 — исследовательская сборка от 28 октября 2026 года, подписанная ключом разработки, не из Google Play. Целевая версия — Android 17 (API 37), минимальная — Android 8. Проверена на одноразовых AOSP-эмуляторах Android 11 и Android 17; облачный стенд обновлён поверх, проект, сайт и аккаунт Bluesky сохранены; запущенные сайты сами поднимаются после обновления и перезагрузки. На физических телефонах и Android 8–10 приложение не тестировалось; доступ к сайту с соседнего устройства на реальном Android 17, другая сеть, LTE и длительный Doze остаются отдельными испытаниями. Гарантии 24/7 нет. Код JavaScript (Rhino) и Node.js должен быть доверенным; Docker внутри Android, SSR, SQL и WebSocket для ваших приложений не входят в состав. Автообновления приложения нет.

Что не обещаем

Docker внутри Android, SSR, SQL, WebSocket, OAuth-платформу, аппаратную изоляцию недоверенного кода и гарантированный аптайм. Физические телефоны, LTE и длительный Doze остаются отдельными испытаниями. Доступность облачного адреса зависит от Hostfly, Traefik, приватного ADB-маршрута и работающего Android; собственный домен не даёт гарантии 24/7.

Как обновляется лаборатория

Расписание обновлений раз в шесть часов приостановлено (PAUSED). Изменения сайта и репозитория публикуются после отдельной проверки и приёмки; автоматические обновления по расписанию сейчас не обещаются. Само Android-приложение не обновляется автоматически.

Помочь испытаниями и доработкой ↗