У «Яндекс Станций» появился неофициальный App Store. Началось все с ключа 4

2920
У «Яндекс Станций» появился неофициальный App Store. Началось все с ключа 4

Энтузиасты выпустили менеджер приложений для «Станции», но советуют сначала сохранить прошивку.

image

Закрытый ключ со значением 4 недавно помог энтузиастам открыть доступ к внутренней системе «Яндекс Станций», а следом вокруг разблокированных колонок начала формироваться полноценная программная экосистема. Разработчики выпустили YAM, или Y Application Manager, который позволяет устанавливать на колонку собственные приложения, управлять аппаратными функциями через браузер и запускать Linux-программы.

YAM не взламывает колонку самостоятельно. Для установки системе уже нужен ADB-доступ, который открывает командную оболочку устройства. Интерес к подобным инструментам резко вырос после недавней истории с удостоверяющим центром eMudhra. Исследователи обнаружили у eMudhra восемь слабых ключей, позволявших создавать поддельные HTTPS-сертификаты. Один закрытый ключ представлял собой обычное число 4.

Разработчик под ником bitracker использовал скомпрометированную цепочку сертификатов в проекте eQuasar. Метод перенаправляет сетевые запросы совместимой «Станции» на подконтрольный сервер, после чего устройство может включить ADB по сети. Таким способом удалось получить доступ как минимум к «Станции Мини 2» с одной из октябрьских прошивок. Сам YAM работает уже поверх полученного доступа и берет на себя установку программ и управление колонкой.

Установщик находит колонку через ADB, проверяет SHA-256 загруженных файлов и размещает сервис yamd в каталоге /data/quazar/yam. После установки пользователь получает веб-интерфейс и отдельную командную строку. Панель показывает температуру процессора, использование памяти, параметры Wi-Fi и время работы системы, позволяет менять громкость, работать с файлами, просматривать журналы и запускать приложения.

Главным элементом системы стали пакеты .yap. Архив содержит описание приложения и код на Lua либо готовую программу, собранную под архитектуру колонки. Пакет можно запустить один раз, оставить работать в фоне или добавить в автоматический запуск. YAM умеет устанавливать программы как из локальных файлов, так и из отдельного реестра пакетов.

Сторонним приложениям доступно гораздо больше возможностей, чем обычному навыку «Алисы». Через специальный интерфейс разработчик может управлять подсветкой, громкостью, воспроизведением звука, Bluetooth, дисплеем часов и датчиками. Программа способна получать события кнопок, реагировать на заранее заданные голосовые команды и взаимодействовать с внутренними сервисами Quasar.

Доступ к функциям разделен разрешениями. Например, приложению можно отдельно разрешить управление светодиодами, звуком, Bluetooth или сетью. Для сетевых запросов разработчик пакета должен заранее указать допустимые хосты, а обращения к локальным и частным IP-адресам через стандартный программный интерфейс запрещены. Более чувствительные разрешения дают доступ к распознанной речи, внутреннему обмену Quasar и запуску исполняемых файлов.

Архитектура открывает дорогу для функций, которых штатная прошивка не предлагает. Энтузиасты могут писать собственные голосовые команды, подключать альтернативные музыкальные сервисы, создавать локальные интеграции и использовать колонку как небольшое Linux-устройство. Готовой поддержки Kinopub или музыки из VK в документации YAM пока нет, но пакетная система позволяет сообществу создавать подобные расширения самостоятельно.

Главное ограничение связано с безопасностью самой панели управления. Веб-интерфейс YAM работает без авторизации, поэтому разработчики рекомендуют использовать сервис только внутри доверенной локальной сети. Открывать порт панели в интернет нельзя: пользователь с сетевым доступом потенциально сможет управлять колонкой и устанавливать приложения.

YAM остается сторонним проектом и не связан с «Яндексом». Разблокировка, изменение системных файлов и установка неофициальных программ могут нарушить работу устройства, поэтому разработчики сообщества советуют сначала сохранять резервную копию прошивки и экспериментировать только с собственными колонками.