Repository navigation
v0.1.0
Pre-releaseПервый бета-релиз своего клиента ITMO.Widgets.
Что это
Маленькая фоновая программа для вашего ноутбука, NAS или сервера. Она получает события от сервера ITMO.Widgets и действует от вашего имени в вашей сессии My ITMO: главное - записывает на физкультуру из очереди, когда телефон этого сделать не может (например, на iPhone без пушей). Может присылать уведомления через ntfy. Один статический бинарник без зависимостей.
Установка
Бинарник: скачайте файл для своей системы ниже (linux-amd64, linux-arm64, darwin-amd64, darwin-arm64, windows-amd64.exe), сверьте с SHA256SUMS, переименуйте в itmo-widgets-agent и положите в PATH. Примеры служб для автозапуска (launchd и systemd --user) - в папке deploy/.
Docker (linux/amd64 и linux/arm64):
curl -O https://raw.githubusercontent.com/alllexey-dev/itmo-widgets-agent/main/compose.yaml
docker compose run --rm agent pair
docker compose up -dОбраз: ghcr.io/alllexey-dev/itmo-widgets-agent:0.1.0, тег :0 следует за последней версией 0.x.
Подключение
itmo-widgets-agent pair показывает QR-код и ссылку (действует 2 минуты, не пересылайте её). На телефоне: ITMO.Widgets -> Профиль -> "Подключить устройство" -> отсканируйте QR, сверьте код проверки и нажмите "Подключить". Потом itmo-widgets-agent run или служба. Подробности - в README.
Что нужно
- Доступ к бете: сервер включает агента только пользователям из списка, его включает администратор.
- Сборка ITMO.Widgets с подключением устройств ("Подключить устройство" в профиле).
Известные ограничения
unpairпока не может отозвать токен на сервере: сервер ещё не поддерживаетDELETE /api/agent/self. Агент удалит токен и сессию у себя и попросит удалить его в приложении: Профиль -> "Подключённые устройства". Сделайте это, чтобы агент пропал из списка.- Сессия ITMO.ID общая с телефоном: выход из ITMO.ID отключит и агент, а когда истечёт её максимальный срок, войдите в приложение заново и выполните
pair --session. - Бинарники не подписаны: на macOS после скачивания браузером снимите карантин (
xattr -d com.apple.quarantine).