Skip to content

Releases: shurshick/wrtmonitor

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 05 Oct 13:31
4fd1ad1

WrtMonitor v1.0.1 - Agent Update Status

Исправление неверного отображения обновлений агента после перехода на публичный выпуск 1.0.0. Сервер, агент и Android: 1.0.1; Android versionCode 127.

Исправлено

  • Web и Android различают установленную версию, источник при последней проверке и действительно доступное обновление. Более старая или равная версия не считается обновлением.
  • Старый результат skipped / downgrade blocked объясняется как блокировка отката, а не авария. Защита от отката не отключена.
  • Агент новее сервера больше не получает ошибочное предложение обновиться назад.
  • Настоящие ошибки загрузки, checksum и проверки подписей остаются видимыми. Исходные значения и время проверки в telemetry не переписываются.
  • Android корректно отображает старый формат данных при работе с сервером 1.0.0.

Обновление

Чистая установка не требуется. Обновите сервер через Docker/TrueNAS, затем агенты штатным подписанным обновлением. Android APK подписан прежним ключом, versionCode увеличен до 127. Старый выпуск 1.0.0 не перезаписывается; 1.0.1 получает отдельный тег и комплект файлов.

Проверки и фактические аппаратные результаты: agent-update-status-1.0.1. Исторические отчёты 1.0.0 остаются отдельными и не выдаются за проверки нового backend.

479 локальных backend/agent тестов, harness и desktop/mobile browser smoke прошли. Android unit/build и emulator UI проверяют новый статус обновлений. Новый аппаратный прогон 1.0.1: Netis NX31 - 91 pass / 4 not applicable; x86/VirtualBox - 76 pass / 19 not applicable. Оба стенда приняли подписанное обновление 1.0.0 → 1.0.1. Проверены PTY, reboot, восстановление связи и хеши 60 установленных файлов. Многодневный soak, ручная проверка нового APK на телефоне и реальная перепрошивка не заявляются.

RELEASE_INVENTORY.json фиксирует commit и immutable digest контейнера. Release и agent manifests имеют Ed25519/RSA подписи. Перевод GitHub latest и GHCR latest выполняется только после проверки собранных файлов и CI.

Подтверждение публикации

  • CI тега: все 7 jobs success.
  • Security точного коммита: success.
  • GitHub и GHCR latest: success.
  • Скачанные 12 файлов проверены: Ed25519/RSA подписи release и agent manifests, все checksum и файлы архива агента.
  • APK: versionName 1.0.1, versionCode 127 > 126, действительная подпись с прежним сертификатом 1.0.0.
  • Inventory commit и OCI labels совпадают с тегом 4fd1ad11734d2c97f739caffa23d855d6ce014ba.
  • Контейнеры 1.0.1 и latest имеют один digest:
sha256:6120902d10fe66d756efededc91cabac0bebba0d8c7cd7dba9c647d2ea452ad5

Рабочие настройки и проверенный агент 1.0.0 возвращены на оба стенда. Основной TrueNAS-сервер обновляет владелец штатным механизмом: публикация latest не заменяет уже запущенный контейнер. После обновления сервера агенты получают 1.0.1 без перезагрузки роутера.

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 12:15
327ac45

WrtMonitor v1.0.0 - Public Release

Первый публичный выпуск self-hosted управления OpenWrt для одного владельца. Apache License 2.0. Сервер, агент и Android имеют согласованную версию 1.0.0; Android versionCode 126.

Исправлено

  • Публичные аппаратные и диагностические отчёты используют разрешённый набор полей, без raw UCI, системных журналов и аргументов процессов.
  • JWT требуют обязательные claims; обработка архивов восстановления ограничивает размер, пути и типы файлов.
  • Резервные копии сервера создаются в уникальных временных файлах с закрытыми правами доступа.
  • Android корректно различает публичные имена серверов и локальные IPv6-адреса.
  • Заданы обязательный пароль PostgreSQL и проверки ошибок подключения агента.
  • На Netis исправлена реальная ошибка BusyBox: проверка Wi-Fi через tr портила JSON и откатывала уже поднятый SSID. Теперь используется jsonfilter; исправлены также нормализация MAC и duplex.
  • Состояние гостевой сети и профиля доступа согласовано, профиль включён в rollback при изменении/удалении SSID.
  • Короткая PTY-сессия больше не считается ошибкой запуска после успешного завершения. Аппаратный runner использует явно подтверждённые SSH-ключи.

Комплект выпуска

  • Apache License 2.0 включена в сервер, APK, архив агента и файлы выпуска. Лицензии сторонних компонентов сохранены.
  • Добавлены Quick Start, границы аппаратной совместимости, сравнение решений и troubleshooting.
  • Полный release inventory содержит commit, версии и immutable digest контейнера; контрольные суммы подписываются Ed25519 и RSA.
  • Stable gate требует полный физический E2E именно кандидата и отдельное решение владельца.

RELEASE_INVENTORY.json фиксирует commit и immutable digest контейнера. RELEASE_SHA256SUMS.txt покрывает APK, архив агента, TrueNAS YAML, LICENSE и метаданные выпуска и имеет Ed25519/RSA подписи. Отдельный SHA256SUMS.txt описывает файлы внутри архива агента.

Обновление

Штатное обновление сервера через Docker/TrueNAS, агента через подписанный manifest, Android через APK с прежним ключом подписи. Чистая установка не требуется для версионированной БД 0.55.5; перед обновлением сохраните резервную копию. Android versionCode: 126.

Проверки и границы

468 локальных PostgreSQL/backend/agent тестов, OpenWrt harness, responsive browser smoke. CI проверяет Android unit/build/lint/emulator, ShellCheck, contracts, миграции, PostgreSQL backup/restore, чистую установку и обновление с immutable 0.55.5. Security проверяет историю секретов, CodeQL и зависимости.

Аппаратные результаты 1.0.0: Netis NX31 - 91 pass / 4 not applicable; OpenWrt x86/VirtualBox - 76 pass / 19 not applicable. Дополнительно проверены реальная повторная доставка без повторного выполнения, просроченная команда без выполнения, восстановление связи и браузерный PTY. Метод и ограничения, отчёт готовности.

Владелец подтвердил вход, возврат после сна, потерю сети и повторный вход Android на телефоне. Версия установленного APK не записана; это не утверждение о ручной установке финального подписанного APK 1.0.0.

Ограничения: single-owner, поддержка зависит от capabilities роутера; VM без Wi-Fi не подтверждает Wi-Fi. Реальная перепрошивка и внешний VPN-трафик не проверялись. Многодневный soak нового кандидата не выполнялся. Это выпуск для дома/homelab/небольшой сети, не enterprise или multi-tenant controller.

Итог публикации

  • CI тега: все 7 jobs success.
  • Security точного коммита: success.
  • Продвижение GitHub и GHCR latest: success.
  • Скачанные 12 файлов проверены: обе подписи release/agent manifest, все checksum, хеши файлов архива агента.
  • APK: versionName 1.0.0, versionCode 126 > 125, действительная подпись с прежним сертификатом 0.55.5.
  • Inventory commit и OCI labels совпадают с тегом 327ac45de75f506c8e23a7b630d5682fdd499155.
  • Версионный контейнер 1.0.0 и контейнерный latest имеют одинаковый digest:
sha256:4a3fbe2d73ec4d84edaef7d9570b5855f7b97989f141d1e122afbbe5b68b597e

Оба стенда возвращены на рабочий сервер с исходной конфигурацией и агентом 1.0.0. Обновление рабочего TrueNAS-сервера выполняется владельцем штатно, не объявляется выполненным этим выпуском.

v0.55.5

Choose a tag to compare

@github-actions github-actions released this 04 Oct 10:44
16f8865

WrtMonitor v0.55.5 - Release Cleanup Исправления надёжности и подготовка к публичному выпуску. ## Исправлено - SSE и переключение страниц журнала больше не заменяют ссылки во время нажатия. - Запоздалый фоновый ответ не возвращает журнал на предыдущую страницу. - Изменённые значения форм сохраняются при обновлении журнала. - WireGuard endpoint проверяется линейным разбором; malformed адреса и порты отклоняются. - Обновлены совместимые серверные зависимости, Android Security Crypto и GitHub Actions с поддержкой Node.js 24. - PyJWT обновлён до 2.15.1 с исправлениями безопасности проверки токенов. - Обновление карточки пакетов не сбрасывает поиск и раскрытые списки. - Roadmap очищен от устаревших статусов уже выпущенных версий. ## Обновление Штатное обновление сервера через Docker/TrueNAS, агента через подписанный manifest, Android через подписанный APK. Начальная схема PostgreSQL и UCI-конфигурация не изменены. Android versionCode: 125. ## Проверки и границы Обязательны CI, Security, Android emulator, signed APK, чистая установка и обновление серверного контейнера с сохранением базы. Отчёт с фактическими результатами, доступностью стендов и отложенными зависимостями: Release Cleanup. Новый многодневный аппаратный прогон исключён владельцем при поручении этого cleanup; прежние сертификаты не выдаются за результаты новой версии. Все версии до 1.0.0 остаются тестовыми.

v0.55.4

Choose a tag to compare

@github-actions github-actions released this 18 Sep 11:23
52de21e

WrtMonitor v0.55.4 - Android Overview Polish

Небольшой patch-релиз исправляет компоновку обзора роутера в Android.

Исправлено

  • четыре плитки ресурсов имеют одинаковую высоту, даже когда нагрузка занимает две строки;
  • быстрые действия расположены в симметричной сетке 2×3;
  • добавлен быстрый переход в раздел «Система»;
  • подписи кнопок сокращены и не обрезаются на компактных экранах;
  • устранена нестабильность browser smoke при поиске раскрывающегося списка пакетов;
  • сохранены минимальная область касания и подтверждение перезагрузки.

Проверки и ограничения

Backend API, PostgreSQL, Web UI, telemetry и команды OpenWrt не менялись. Android versionCode: 124.

Новый длительный прогон Netis NX31 и OpenWrt x86 для визуального Android patch не выполнялся; владелец разрешил выпуск. Исключение привязано к версии и точному fingerprint неизменного server/OpenWrt runtime. Полный CI, Security, Android emulator, signed APK и deployment acceptance остаются обязательными.

Все версии до 1.0.0 остаются тестовыми.

v0.55.3

Choose a tag to compare

@github-actions github-actions released this 16 Sep 16:13
64ed7ee

WrtMonitor v0.55.3 - Release Reliability

Исправления по аудиту готовности. Выпуск в основном канале, включая контейнерный latest.

Исправлено

  • Изменение и удаление профилей доступа распространяется на отдельных клиентов и Wi-Fi. Персональные настройки клиентов сохраняются.
  • Web SSH: восстановлены динамические стили xterm, ANSI-цвета и моноширинный шрифт в обеих темах. Нормальный выход больше не отображается как потеря связи; старое соединение не меняет состояние нового.
  • Начальная схема PostgreSQL зафиксирована независимо от текущих моделей. Документированы обновление и восстановление базы.
  • Проверяются SSH-ключи стендов, ограничена длина входных идентификаторов, внутренние исключения не раскрываются в ответах API.
  • Перед обновлением latest проверяются точный коммит, CI/Security, семь артефактов и метаданные образа. Контейнер продвигается по digest.
  • Исправлена подготовка Android SDK в CI: удалён запрос устаревшего пакета tools.
  • Проверка командных идентификаторов больше не запускает динамические регулярные выражения на пользовательском вводе.
  • При обрыве WebSocket закрытие PTY записывается до очистки фоновых задач, исключая зависшие сессии connected.

Проверки и ограничения

Локально выполнены 310 backend-тестов с PostgreSQL и 93 теста агента, shell harness, полный браузерный прогон, чистые миграции и backup/restore PostgreSQL. Дополнительно добавлены проверки исключения из длительного прогона. Выпуск и продвижение требуют успешного GitHub CI, включая Android и эмулятор, контейнер и проверку развёртывания.

Новый длительный прогон 7–14 дней на Netis NX31 и OpenWrt x86 не выполнялся. Владелец явно разрешил полный выпуск без него. Это отдельное исключение для 0.55.3, а не новый сертификат и не повторное использование старого отчёта для изменённого backend. Браузерные тесты используют тестовый агент, не физический роутер. Код runtime агента не менялся, кроме номера версии.

Android versionCode: 123. Перед обновлением сервера сохраните резервную копию БД; порядок описан в docs/database-upgrades.md.

Все версии до 1.0.0 остаются тестовыми.

v0.55.2

Choose a tag to compare

@github-actions github-actions released this 10 Sep 07:43
a10a4fd

WrtMonitor v0.55.2 - Web Terminal Contrast

Патч исправляет контраст Web SSH в светлой теме. Backend API, авторизация, telemetry и команды агента не менялись.

Исправлено

  • обычный текст xterm больше не наследует тёмный цвет светлой темы страницы;
  • терминал получил полную контрастную палитру для обычных и ANSI-цветов;
  • палитра повторно применяется при переключении светлой и тёмной темы;
  • скроллбар и системные элементы терминальной области сохраняют тёмное оформление;
  • браузерный тест выполняет реальный Web SSH roundtrip в светлой теме и проверяет вычисленные цвета текста и фона.

Web SSH roundtrip и светлая тема проверены в Chromium при desktop-размере 1440x900. Проверяемая пара цветов: текст #eef4f9, фон #07101c.

Фиктивные данные и неподдерживаемые операции не добавлены. Runtime OpenWrt не менялся; аппаратное soak evidence Netis NX31 и OpenWrt x86 наследуется по совпадающему fingerprint. Android versionCode: 122.

Все версии до 1.0.0 остаются тестовыми.

v0.55.1

Choose a tag to compare

@github-actions github-actions released this 09 Sep 04:56
6c336f3

WrtMonitor v0.55.1 - Web Terminal Layout

Патч исправляет компоновку Web SSH после редизайна 0.55.0. Backend API, авторизация, telemetry и команды агента не менялись.

Исправлено

  • удалён повторяющийся заголовок «Терминал» над карточкой Web SSH;
  • desktop-карточка терминала целиком помещается в видимую область;
  • на телефоне сохранена компактная рабочая область с естественной короткой прокруткой;
  • добавлены браузерные проверки заголовка и размеров карточки;
  • стабилизирована инициализация постраничной навигации журнала команд и поиска установленных пакетов.

Web SSH roundtrip, desktop 1440x900 и mobile 390x844 проверены в CI. Новый снимок терминала получен из того же браузерного прогона.

Фиктивные данные и неподдерживаемые операции не добавлены. Runtime OpenWrt не менялся; аппаратное soak evidence Netis NX31 и OpenWrt x86 наследуется по совпадающему fingerprint. Android versionCode: 121.

Все версии до 1.0.0 остаются тестовыми.

v0.55.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 17:59
c257865

WrtMonitor v0.55.0 - Web Control Center

WebUI системно переработан как самостоятельная современная панель управления OpenWrt. Backend API, авторизация, telemetry и команды агента не менялись.

Главное

  • единая светлая и тёмная Web design system, связанная с Android;
  • компактная top bar, глобальный router selector и сворачиваемая desktop sidebar;
  • адаптивный drawer и одноколоночная компоновка на tablet/mobile;
  • согласованные dashboard, tables, forms, statuses, dialogs и служебные экраны;
  • проверка изменений и видимая отправка команды без преждевременного сообщения об успехе;
  • keyboard navigation, skip link, focus-visible и reduced motion;
  • локальный набор сетевых иконок без CDN и emoji;
  • visual regression на шести размерах от 1920 до 390 px;
  • новые Web screenshots и полный отчёт в docs/web-redesign-0.55.0.md.

Исправлены обрезанные статусы, работа клавиатуры со скрытой навигацией, переход между desktop и mobile, обработка потери связи при проверке формы и отображение температуры на главной. Скриншоты сняты с тестовым роутером CI.

Фиктивные данные и неподдерживаемые операции не добавлены. Runtime OpenWrt не менялся; аппаратное soak evidence Netis NX31 и OpenWrt x86 наследуется по совпадающему fingerprint. Android versionCode: 120.

Все версии до 1.0.0 остаются тестовыми.

v0.54.0

Choose a tag to compare

@github-actions github-actions released this 07 Sep 12:30
0e2ebd5

WrtMonitor v0.54.0 - Android Expressive Redesign

Android-приложение системно переработано в стиле Material 3 Expressive без изменения API и команд управления роутером.

Главное

  • единая светлая и тёмная дизайн-система WrtMonitor;
  • новый компактный обзор состояния сети и семантические статусы;
  • edge-to-edge с корректными status bar, navigation bar, safe drawing и IME;
  • нижняя навигация на телефоне и Navigation Rail на планшете;
  • единые loading, empty, error, offline и unsupported-состояния;
  • доступные области касания не меньше 48 dp;
  • исправленная навигация настроек и экрана «О приложении»;
  • актуальные скриншоты Android в README.

Проверка выполнена на Android 15 emulator с живым сервером и Netis NX31. Функциональные API-контракты не менялись. Android versionCode: 119.

Все версии до 1.0.0 остаются тестовыми.

v0.53.1

Choose a tag to compare

@github-actions github-actions released this 24 Aug 18:43
279a932

WrtMonitor v0.53.1 - Wi-Fi Security Fix

Исправлено создание и редактирование гостевых и дополнительных Wi-Fi-сетей.

Исправлено

  • открытую гостевую сеть можно создать без пароля;
  • WPA2, WPA3 и смешанный WPA2/WPA3 передаются роутеру без принудительной замены на WPA2;
  • пустой пароль сохраняет текущий секрет только у уже защищённой сети;
  • при переходе с открытой сети на защищённую Web UI и Android требуют новый пароль;
  • быстрое включение гостевой сети не меняет её текущую защиту;
  • агент проверяет фактический запуск SSID после изменения и откатывает конфигурацию, если сеть не появилась в эфире.

Android versionCode: 118. Все версии до 1.0.0 остаются тестовыми.