2 НОЯБРЯ 2026 / ОБНОВЛЁННЫЙ ЖУРНАЛ
Показываем факты.
Включая неудобные.
2 ноября 2026 · физический Realme и автономный staging
Realme 14x 5G, Android 16 / API 36. Основной сайт pocketdeploy.dev временно обслуживает Cloudflare Pages. Исходный фронтенд и PDS переносятся на физический телефон; работающие PDS и Nostr пока остаются на прежнем облачном эмуляторе. Результаты staging ниже не являются приёмкой хостинга основного домена.
| ПРОВЕРКА | РЕЗУЛЬТАТ И ГРАНИЦА |
|---|---|
| HTTPS staging: точное содержимое корня сайта, экран выключен | 6 из 6 запросов за ~94 с · PASS |
| Обычная смерть основного процесса приложения при выключенном экране | Публичный сайт восстановился за ~52 с · это не force-stop и не перезагрузка телефона |
| Телефон сам отключил Wi-Fi на 120 с по заранее запущенному сценарию | Публичный сайт вернулся примерно через 142 с от запуска сценария; сохранённый тестовый счётчик остался равен 3 |
| Ограничение Wi-Fi-сценария | Непрерывно выключенный экран на всём интервале не был полностью зафиксирован |
| Приватный Git на телефоне | Создание, обновление, откат и сохранение прежнего релиза после плохой сборки · PASS |
| Полный локальный набор и нативные проверки API 37 | PASS · Cloud 358, Autonomy 403, UI 390 |
| Более ранняя нативная матрица API 35/36 | Результаты dev24; не выдаём их за повтор dev26 |
| Облачный Android CI | НЕ ПРОЙДЕН · у испытанных SaaS medium/large runners отсутствует KVM |
| Порог закрытой беты | НЕ ВЫПОЛНЕН · четыре телефона, два производителя и 7 суток ещё не подтверждены; требуются также 19 из 20 самостоятельных восстановлений после перезагрузки и ноль потерь данных |
Эти ограниченные испытания одного телефона не доказывают круглосуточную доступность, длительный Doze или работу на остальных устройствах. Текущий код: dzmitry-ai/pocketdeploy — приватный репозиторий, нужен доступ ↗. Видео, скриншоты и ссылки на alpha.9 относятся к архиву 28 октября.
Архив · 25–28 октября 2026
Далее сохранены записи и ограничения на указанные исторические даты. Их формулировки о физических телефонах и облачном маршруте описывают тот период, а не текущее состояние.
28 октября 2026 года приложение на облачном Android 11 обновлено поверх с alpha.4 через alpha.5, alpha.6, alpha.7 и alpha.8 до alpha.9; обновление до alpha.9 описано первым ниже, затем 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.9: проверка Host у PDS, тест kill -9, политика безопасности
| ПРОВЕРКА | РЕЗУЛЬТАТ |
|---|---|
| Набор на хосте (Host у PDS 5, Termux 48 с проверками Host и JSON-счётчика, 10 циклов SIGKILL) | PASS · exit 0 |
| Почтовый и launcher-набор Bluesky PDS против закреплённого дерева зависимостей | 133 / 133 PASS |
| 200 циклов SIGKILL посреди записей бэкенда | 2495 подтверждённых записей · 0 потерь · 0 порванных |
| Android smoke на эмуляторах API 37, API 35 и API 30 | 24 / 24 PASS на каждом |
| Облачный Android 11: обновление alpha.8 → alpha.9 поверх, данные приложения и Termux сохранены заранее | сайт 200 через 21 с от начала установки · 0 падений |
| Агент Termux alpha.6 → alpha.9 из приложения, Bluesky PDS запущен снова | публичный health 200 через 30 с |
Host у PDS вживую: evil.example, rebind.attacker.invalid, pds….by.evil.example, websocket с чужим Host | 421 Misdirected Request |
Host у PDS вживую: своё имя, 127.0.0.1, localhost, публичный websocket, хост handle | 200 / 101 · хост handle получает только /.well-known/atproto-did |
| Федерация после перезапуска | ревизия на ретрансляторе совпадает с PDS · профиль виден в публичном AppView |
Тест SIGKILL доказывает, что логика хранилища переживает смерть процесса на файловой системе компьютера; это не проверка отключения питания на телефоне. В SECURITY.md теперь написано, как сообщить об уязвимости (конфиденциальный issue в GitLab). Не проверено: физические телефоны, Android 8–10 и 13, независимый тест rebinding настоящим браузером.
Релиз 0.7.0-alpha.9 ↗ · SECURITY.md ↗
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.org | 421 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 добавлена в alpha.9), физические телефоны.
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 поймал. Теперь перед приёмкой обновления мы проверяем устройство и держим команду отката наготове. Не проверено: переключатель языка внутри приложения (язык следует системной локали), перевод встроенных примеров и сообщений агента, всё это на физическом телефоне.
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 smoke | 24 / 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. Не проверено: всё это на физическом телефоне.
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.
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.dev. 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. Индексация поисковой системой не подтверждена.
25 октября 2026 · 0.6.0-alpha.2: исторические испытания
| ПРОВЕРКА | РЕЗУЛЬТАТ |
|---|---|
| JVM: HTTP, релизы, backend, права, мастер сети | 317 PASS |
| Node: MCP, USB-подключение, gateway | 53 PASS |
| Атакующие JVM-проверки | 33 PASS |
| AOSP-эмуляторы Android 11 / Android 15 | 134 + 134 PASS |
| Навигация: 2 ОС × 2 темы × 3 размера шрифта | 12 конфигураций · 8 групп каждая |
| Реальный MCP: запрос → native consent fixture → отзыв | 17 PASS |
| Атаки на наш Android HTTP-сервер | 49 PASS |
| Настоящий публичный HTTPS CRUD | 8 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
- SPA-маршруты и атомарный деплой набора файлов.
- Доска задач с API и данными на Android.
- Исправленная навигация, светлая и тёмная темы, крупный шрифт.
- Мастер сети, ПК-шлюз и честная проверка домена.
- Атакующие тесты только на нашем disposable-сервере.
Функции реализованы и прошли перечисленные исторические испытания. В приёмке 0.6.0-alpha.2 от 25 октября 2026 года force-stop на обоих Android-эмуляторах подтвердил побайтовую сохранность базы и зашифрованных grants. Этот набор целиком на облачном стенде не повторялся.
Архив · границы релиза на 28 октября 2026
PocketDeploy 0.7.0-alpha.9 — исследовательская сборка от 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 для ваших приложений не входят в состав. Автообновления приложения нет.
Архив · ограничения на 28 октября 2026
Docker внутри Android, SSR, SQL, WebSocket, OAuth-платформу, аппаратную изоляцию недоверенного кода и гарантированный аптайм. Физические телефоны, LTE и длительный Doze остаются отдельными испытаниями. Доступность облачного адреса зависит от Hostfly, Traefik, приватного ADB-маршрута и работающего Android; собственный домен не даёт гарантии 24/7.
Архив · порядок обновления на 28 октября 2026
Расписание обновлений раз в шесть часов приостановлено (PAUSED). Изменения сайта и репозитория публикуются после отдельной проверки и приёмки; автоматические обновления по расписанию сейчас не обещаются. Само Android-приложение не обновляется автоматически.