Разработчик выпустил утилиту для подключения Apple Watch к Android, Windows и Linux

Разработчик под никнеймом LordixDemon выпустил коннектор для Apple Watch, с помощью которого умные часы можно подключить к устройствам под управлением Android, Windows и Linux. С утилитой часы успешно проходят сопряжение и устанавливают зашифрованное соединение.

Проект воспроизводит часть протоколов, с помощью которых iPhone обменивается данными с Apple Watch. Приложение состоит из клиентской части на Dart с Flutter и движка на Java. В десктопной версии также используется Rust для управления доступом к Bluetooth‑контроллеру и работой Java‑движка. На Android для работы нужен root‑доступ и Magisk‑модуль.

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

Внутри Bluetooth‑канала выстроен механизм защищённого сетевого обмена. IPsec шифрует трафик, IPv6 и TCP переносят сообщения, а слой IDS направляет их нужным службам watchOS. При этом для каждой функции нужен отдельный обработчик. Например, чтобы преобразовать уведомление Android в формат часов или запросить актуальный заряд батареи. Сейчас реализованы чтение заряда, управление штатными циферблатами, обмен уведомлениями и поиск устройства звуковым сигналом.

Десктопная версия пока нацелена на стабильность подключения. Автор проекта протестировал приложение в Linux Mint 22.3 и Windows 10. Программа при этом получает исключительный доступ к Bluetooth‑адаптеру. Из‑за этого в Linux другие устройства не могут использовать Bluetooth во время сеанса. В версии для macOS компьютер обнаруживает часы и устанавливает соединение, но полный цикл сопряжения и активации ещё не реализовали.

Код проекта и подробное описание протокола опубликованы на GitHub.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев