Skip to content

Releases

ChimePort v0.1.6

Choose a tag to compare

@github-actions github-actions released this 07 Nov 06:52
3b5af6c

ChimePort v0.1.6 — безопасное создание доверенных приложений из Docker

Исправляющий релиз для администрирования TMS-интеграции без входа в веб-панель ChimePort. Добавлена штатная команда chimeport trusted-app --slug tms --origin https://tms.example.org --token-out /data/tms-app-token. Команда доступна только администратору Docker/хранилища, проверяет наличие локального администратора ChimePort, регистрирует приложение с отдельным секретом и сохраняет cp_a_ токен только в приватный файл 0600. Значение не выводится в логи.

Все возможности v0.1.5 (адресные уведомления, управление внешними устройствами, Web Push, PKCE, короткие access + обновляемые refresh токены, SQLite v5) сохранены без новых миграций. Android alpha build 18 совместим с сервером v0.1.6.

Обязательно: сделайте резервную копию до обновления и не создавайте доверенное приложение повторно с тем же slug.

ChimePort v0.1.5

Choose a tag to compare

@github-actions github-actions released this 07 Nov 06:38
ca792e6

ChimePort v0.1.5 — доверенные приложения, персональные уведомления

Серверная часть интеграции TMS, не требующая отдельных пользователей ChimePort.

  • Изолированные получатели доверенных приложений, персональная история, идемпотентная доставка и SSE.
  • Одноразовый PKCE билет и проверка прав устройства в TMS перед чтением, обновлением токенов и Web Push.
  • Access на 15 минут, обновляемый refresh на 90 дней, безопасный повтор ротации токена после обрыва связи.
  • Отзыв одного или всех устройств, блокировка пользователя и смена пароля в TMS немедленно запрещают дальнейшую доставку.
  • Миграция SQLite 4 -> 5; старые личные аккаунты, каналы, MirvMon и HA остаются совместимыми.

ПЕРЕД ОБНОВЛЕНИЕМ: проверьте резервную копию SQLite, token-key и настройки VAPID. Откат после миграции возможен только через восстановление старой резервной копии.

Образ: ghcr.io/mirivlad/chimeport:v0.1.5 (amd64/arm64).
Android alpha APK выпускается отдельным GitHub prerelease из той же ревизии main, сохраняя идентификатор подписи; тестирование на реальном телефоне обязательно.

ChimePort Android alpha · build 18

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Nov 06:33
ca792e6

Installable alpha APK for testing: per-channel sounds, vibration and priority; grouped notifications; tap to open an event. Optional background foreground-service delivery is best effort; force-stop and battery restrictions can interrupt it. Signed and checked against pinned alpha certificate; not a production-signed build.

ChimePort v0.1.4

Choose a tag to compare

@github-actions github-actions released this 06 Nov 01:03
f7315cb

ChimePort v0.1.4 — исправление Web Push через HTTPS

Исправляющий серверный релиз для пользователей PWA и браузерных уведомлений ChimePort.

Исправлено

  • Исходный Docker-образ v0.1.3 (Debian bookworm-slim) не содержал хранилище доверенных системных TLS CA. Поэтому попытки отправить уведомление в Mozilla Push Service завершались tls: failed to verify certificate: x509: certificate signed by unknown authority, хотя браузерная подписка успешно регистрировалась.
  • В runtime-образ добавлен пакет ca-certificates и проверка наличия непустого системного CA bundle во время сборки.
  • В журнале Web Push теперь фиксируется безопасная категория ошибки (error_class, например tls_unknown_authority, dns_error или network_timeout), без полного URL push endpoint: тот содержит секретную часть подписки.
  • Добавлены модульные тесты классификации ошибок.

Совместимость и обновление

  • Docker: ghcr.io/mirivlad/chimeport:v0.1.4 (amd64/arm64).
  • SQLite остаётся версии 4. Миграций, изменений API и изменений формата backup нет.
  • Пользователи, каналы, токены, VAPID и Web Push-подписки сохраняются, повторное разрешение браузера не требуется.
  • Android-клиент не изменился.
  • Обновляйте через Portainer/Docker Compose с сохранением существующего volume /data. Резервная копия перед redeploy рекомендуется. Откат до v0.1.3 технически возможен без отката схемы, но Web Push в старом образе останется сломан.
  • После обновления отправьте тестовое сообщение и проверьте всплывающее уведомление в браузере. При отсутствии push смотрите docker logs chimeport-chimeport-1 и разрешения на уведомления в браузере.

См. PWA и Web Push, Portainer и Backup / Restore.

ChimePort v0.1.3

Choose a tag to compare

@github-actions github-actions released this 05 Nov 13:08

ChimePort v0.1.3 — PWA и Web Push

Веб-приложение ChimePort теперь можно установить на рабочий стол или домашний экран и получать браузерные Web Push-уведомления по явному согласию пользователя.

Новое

  • PWA: manifest, Service Worker, PNG-иконки 192/512 и самостоятельное окно приложения.
  • В панели появился раздел «Настройки» с включением/отключением Web Push.
  • Шифрованная отправка через стандартные push-службы браузеров (VAPID, RFC 8291/8292).
  • Подписки связаны с пользователем и его сессией; выход и сброс пароля отзывают подписку. Есть ограничения на endpoints и SSRF.
  • Сервер продолжает сначала сохранять уведомление в SQLite, затем пытается доставить браузерный push. Потеря push не означает потерю сообщения.
  • Веб-приложение не кэширует приватные данные/API; поддержка браузеров и доставка остаются best effort.

Важная миграция: SQLite 3 → 4

При запуске сервер необратимо для v0.1.2 мигрирует существующую SQLite с версии 3 на 4. Он добавляет таблицу webpush_subscriptions и генерирует VAPID-ключи, причём приватная часть зашифрована существующим /data/token-key.

Перед обновлением обязательно создайте и проверьте резервную копию (вместе с token-key). Для отката необходимо восстановить старую базу schema 3 из архива и вернуть образ v0.1.2; просто вернуть старый Docker-тег поверх schema 4 нельзя.

Новый maintenance поддерживает backup/verify/restore схем 1–4. Не удаляйте постоянный Docker volume при обновлении.

Docker и совместимость

  • Образ: ghcr.io/mirivlad/chimeport:v0.1.3 (amd64, arm64).
  • Обновляйте только после успешной публикации версии в GHCR.
  • Android-клиент в этом релизе не изменялся; используется ранее опубликованный APK.
  • Полная инструкция: PWA/Web Push и Backup/Restore.

Ограничение: уведомления при закрытом браузере зависят от браузера, push-провайдера и ограничений ОС. На iPhone/iPad нужны iOS/iPadOS 16.4+ и установленное на домашний экран веб-приложение. Фактическая доставка на конкретных устройствах требует проверки и не гарантирована для критических сигналов.

ChimePort v0.1.2

Choose a tag to compare

@github-actions github-actions released this 05 Nov 08:58

ChimePort v0.1.2

Релиз веб-сервера: три темы оформления и единый логотип ChimePort. API и формат SQLite не менялись. Обновление сохраняет пользователей, каналы, токены и историю уведомлений.

Веб-интерфейс

  • Ocean — тёмный океанский стиль в цветах Android-клиента; тема по умолчанию.
  • Paper — светлый режим с отдельной колонкой фильтрации входящих.
  • Control — компактный технический режим для мониторинга.
  • Выбор темы рядом со ссылкой «Примеры отправки», мгновенное применение без перезагрузки.
  • Тема сохраняется в браузере и синхронизируется между вкладками; действует и на странице примеров API.
  • Веб-логотип и favicon используют оригинальный векторный знак Android-приложения.
  • Добавлены проверки выдачи статических ресурсов и краткая документация тем.

Android

Android-клиент в данном релизе не изменялся. Используйте совместимый APK из релиза v0.1.1. Переподписывать, переустанавливать или обновлять Android для переключения веб-тем не требуется.

Развёртывание

  • Docker: ghcr.io/mirivlad/chimeport:v0.1.2 (linux/amd64, linux/arm64).
  • Portainer: обновите Git stack и переподтяните образ, не удаляя существующий том /data.
  • До обновления рекомендуется создать и проверить резервную копию по инструкции.
  • Лицензия AGPL-3.0-only.

ChimePort v0.1.1

Choose a tag to compare

@github-actions github-actions released this 05 Nov 03:53
930f805

ChimePort v0.1.1

Корректная синхронизация Android после объединения или удаления каналов.

Android

  • Ранее загруженные сообщения теперь повторно синхронизируются, если их локальные каналы больше не существуют на сервере. При этом обновляются названия каналов в локальной истории без удаления приложения и повторного входа.
  • Сообщения удалённых каналов, которых больше нет на сервере, убираются из локального кэша только после успешной полной синхронизации. При сетевых ошибках локальная история не очищается.
  • Выбранные фильтры, профиль, локальные настройки и прочитанные сообщения остаются на месте.
  • Android versionCode: 11, versionName: 0.8.1-alpha; подпись осталась прежней alpha-подписью, обновление ставится поверх существующего APK.

Использование

  • Рекомендуемая схема ChimePort: один пользовательский канал на приложение, например home («Дом») и servers («Серверы»). Тип события различайте в заголовках, тексте и приоритетах.
  • Обновлены примеры интеграции HA и MirvMon. Telegram остаётся параллельным способом доставки.
  • Веб-API, модель хранения сообщений и формат SQLite не менялись. Сервис совместим с данными v0.1.0.

Артефакты

  • Docker: ghcr.io/mirivlad/chimeport:v0.1.1 (linux/amd64, linux/arm64).
  • Android: ChimePort-android-v0.1.1-alpha.apk и SHA256SUMS.txt, прикреплены к странице релиза.
  • Лицензия: AGPL-3.0-only.

ChimePort v0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 00:56
c76dcd6

ChimePort v0.1.0

Первый версионированный релиз self-hosted сервиса уведомлений ChimePort.

Возможности

  • Сервер на Go + SQLite, TLS через внешний reverse proxy, настройка пользователей и источников в веб-панели.
  • REST API для отправки уведомлений, история, SSE, прочитано/непрочитано и повторная синхронизация.
  • Индивидуальные API-токены источников с правами на каналы, идемпотентная публикация.
  • Ограничения частоты публикации и 30-дневное хранение сообщений по умолчанию.
  • Бэкап, проверка, безопасное восстановление и миграция SQLite v3.
  • Android alpha (Kotlin/Compose): несколько серверов, поиск, звуки, тихие часы, best-effort фоновая доставка.
  • Локальное provisioning CLI для автоматизаций без раскрытия пароля администратора.

Артефакты

  • Docker amd64/arm64: ghcr.io/mirivlad/chimeport:v0.1.0.
  • Android APK: ChimePort-android-v0.1.0-alpha.apk, файл контрольных сумм SHA256SUMS.txt.
  • Исходники, документация, образ и клиент — AGPL-3.0-only.

Совместимость и ограничения

  • Историю автоматически очищает retention (30 дней, настраивается; 0 отключает).
  • Android-доставка при закрытом приложении зависит от ограничений системы/энергосбережения, не гарантирует мгновенного оповещения.
  • Нет PWA/Web Push, совместных каналов и iOS; Android APK использует закреплённую alpha-подпись, а не production keystore.
  • Предыдущий серверный образ не читает схему SQLite v3. При откате восстанавливайте согласованный архив данных через maintenance CLI.

Быстрый запуск

См. docs/11-PORTAINER-QUICKSTART.md и docs/13-BACKUP-RESTORE.md. Для закрепления версии укажите CHIMEPORT_IMAGE=ghcr.io/mirivlad/chimeport:v0.1.0.

Пример интеграции

Подключение Home Assistant, MirMon и других проектов описано в docs/14-INTEGRATIONS-PLAN.md. Токен для источника создаётся веб-панелью либо локальной командой chimeport integration provision на доверенном Docker-хосте.

ChimePort Android alpha · build 17

Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Nov 09:30
53398fb

Installable alpha APK for testing: per-channel sounds, vibration and priority; grouped notifications; tap to open an event. Optional background foreground-service delivery is best effort; force-stop and battery restrictions can interrupt it. Signed and checked against pinned alpha certificate; not a production-signed build.

ChimePort Android alpha · build 16

Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Nov 03:48
930f805

Installable alpha APK for testing: per-channel sounds, vibration and priority; grouped notifications; tap to open an event. Optional background foreground-service delivery is best effort; force-stop and battery restrictions can interrupt it. Signed and checked against pinned alpha certificate; not a production-signed build.