Разработчик выпустил BlueFerry — открытый Bluetooth‑клиент для iMessage и SMS на Linux

Разработчик Эрик Вудринг представил BlueFerry — инструмент, который подключает iPhone к компьютеру на Linux по Bluetooth и позволяет обмениваться сообщениями iMessage и SMS. Для работы ему не нужен Mac, промежуточный сервер или авторизация в Apple ID.

BlueFerry не воспроизводит закрытый протокол iMessage, а использует стандартные Bluetooth‑сервисы, которые iPhone предоставляет подключённым устройствам. После сопряжения устройств пользователь видит на экране Linux‑машины входящие сообщения, которые приходят на его iPhone, и может отвечать на них.

При отправке BlueFerry формирует сообщение в формате MAP ((Message Access Profile)) и передаёт его на iPhone через BlueZ и OBEX. Получателем может быть номер телефона, контакт из адресной книги или адрес электронной почты Apple ID. После этого iPhone сам решает, как доставить сообщение: через iMessage или сотовую сеть. Заранее выбрать способ отправки через Linux нельзя.

Кроме MAP проект использует ещё два Bluetooth‑протокола. PBAP отвечает за получение адресной книги iPhone в формате vCard, а Apple Notification Center Service (ANCS) через Bluetooth LE позволяет получать уведомления со смартфона. ANCS также помогает BlueFerry работать с групповыми чатами. MAP не сообщает полный список участников и идентификатор беседы, поэтому приложение пытается сопоставить входящее сообщение с уведомлением Messages и восстановить состав группы. 

В Linux при этом работает свой бэкенд, который управляет Bluetooth‑соединением, историей сообщений, контактами и отправкой. Клиенты общаются с ним через локальный D‑Bus. Для интерфейса предусмотрены приложения под GNOME, KDE и Quickshell, терминальный TUI и CLI.

История сообщений и контакты по умолчанию шифруются с помощью AES-256-GCM, а ключ хранится в системном Secret Service. Есть возможность полностью отключить опцию сохранения данных. Кроме того, BlueFerry видит только сообщения, которые прошли через сервис после подключения, а не всю историю чатов.

Система пока не поддерживает работу с вложениями, реакциями, индикатором набора текста, звонками и FaceTime. BlueFerry протестировали на iPhone 16 Pro Max с iOS 26.5 и компьютере под управлением Arch Linux. Работу Bluetooth‑протоколов тестировали с адаптерами MediaTek MT7922 и Intel AX210. Автор проекта отмечает, что будущие обновления Apple могут нарушить работу проекта.

Код BlueFerry открыт и опубликован на GitHub под лицензией GPL-2.0-only. В репозитории есть подробная документация по архитектуре и используемым Bluetooth‑протоколам.

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

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