Cobalt — это платформа приложений с открытым исходным кодом для электронных книг Kobo, позволяющая запускать приложения на таких устройствах, как Kobo Clara BW. Она включает лаунчер, подписанный магазин приложений, SDK на Rust и среду выполнения, которая изолирует каждое приложение в собственном непривилегированном процессе. Установка выполняется один раз через USB, после чего приложения устанавливаются, обновляются и удаляются по Wi-Fi. Перезагрузка возвращает устройство к штатному ридеру. Приложения представляют собой статические ARM-бинарники с проверяемыми подписями перед запуском. Платформа поддерживает различные приложения, включая arXiv, Sudoku, Morse, Gutenbird, Hacker News, Feeds, Daily Brief, Sidekick, Terminal и другие. SDK упрощает разработку благодаря декларативным описаниям интерфейса, планированию обновления экрана E Ink и доступу к ресурсам с разграничением по возможностям. Магазин доставляет подписанные пакеты независимо от обновлений платформы, а каждое приложение сливается через pull request, запускающий автоматическую сборку и подписание. Меры безопасности гарантируют, что запись на устройство соответствует точным профилям оборудования/прошивки, и проект не связан с Rakuten Kobo.
Среда выполнения Cobalt проверяет каталоги, пакеты, манифесты и бинарные файлы перед исполнением. Приложения запрашивают ресурсы, а не обращаются к ним напрямую, при этом возможности сети, хранилища, звука, фронтальной подсветки и Wi-Fi контролируются. Набор инструментов UI предоставляет оптимизированные для E Ink элементы управления, макеты, типографику и состояния. Симуляторы позволяют тестировать в браузере и среде выполнения с диагностикой макетов. Управление состоянием использует атомарное хранилище с ключами для каждого приложения. Для публикации приложений требуется запуск на реальном оборудовании, а участники открывают PR с доказательством работоспособности.
Установка включает клонирование репозитория, подключение поддерживаемого устройства через USB и выполнение команд настройки. Полное руководство содержит шаги восстановления. Вклад в приложения осуществляется через стандартный процесс pull request с модульными тестами, тестами макетов и проверкой в симуляторе. Портирование на другие модели Kobo приветствуется, но требует предварительного обсуждения.
Cobalt уделяет приоритетное внимание безопасности, не заменяя загрузочную цепочку Kobo и сохраняя безопасные для восстановления транзакции. Только профиль Clara BW протестирован на реальном оборудовании; для других моделей требуются проверенные профили перед установкой.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing