LibrePods вскрыл секретный протокол AirPods и перенёс его на Linux и Android

Как обычные Bluetooth-наушники AirPods работают где угодно — за Apple остаётся проприетарный слой: детекция в ухе, переключение шумоподавления, заряд. LibrePods переписывает этот слой заново, причём два его Rust-файла ИИ перевёл из Kotlin.

Вкратце

LibrePods — проект под GPL-3.0, говорящий на проприетарном протоколе AAP/AACP, который AirPods используют с устройствами Apple. Он приносит на Linux и Android детекцию в ухе, переключение режимов прослушивания, статус заряда и переименование. Два ключевых Rust-файла, aacp.rs и att.rs, ИИ перевёл из Kotlin.

Поправка треда: наушники и так нормально подключаются где угодно — это лишь возвращает эксклюзивные для Apple добавки. А один комментатор сказал, что Android 17 уже чинит баги Bluetooth, ради которых раньше нужен был root, так что он лучше форкнет проект, чем заплатит просимые $5.

Что на самом деле заперто и что отпирает LibrePods

Карточка репозитория LibrePods
Карточка репозитория LibrePods

LibrePods реализует проприетарный AAP (AirPods Protocol) и стандарт AACP — тот Bluetooth-слой, через который Apple обменивается данными между AirPods и своими устройствами, — чтобы не-Apple-платформы могли управлять функциями, которые Apple держит при себе. Он работает на Linux и Android под GPL-3.0, и честная заметка в README признаёт происхождение: файлы aacp.rs и att.rs переведены из Kotlin в Rust с помощью ИИ, как и часть интеграции с PulseAudio в медиаконтроллере.

Матрица функций, скопированная из проекта:

Функция Linux Android
Смена режима прослушивания да да
Детекция в ухе да да
Статус заряда да да
Переименование AirPods да да
Conversational Awareness да да
Автоподключение да да
Жесты головой нет да
Настройки доступности нет да

Уточнение, которого требовал заголовок

Слово «освобождены» вызвало полезную поправку от того, кто чётко обозначил, что вообще было в плену.

«Уточню, потому что это сбивает с толку: AirPods и так работают как обычные Bluetooth-наушники на других устройствах. Это реализация части дополнительных функций и интерфейсов, встроенных в продукты Apple». — Aurornis, отметивший, что формулировка путает

Эта переформулировка подпитала повторяющееся сомнение: зачем вообще этим заниматься. «Сами по себе AirPods не так уж хороши с точки зрения аудиофила. Единственное, что мне нравится, — интеграция с экосистемой Apple… не вижу мотивации», — написал комментатор, ценящий AirPods лишь за эту привязку к экосистеме. Одна пара владельцев призналась, что впервые узнаёт список функций собственных наушников из этой таблицы.

Страх кошки-мышки и более дешёвый вечер

Громче всего звучит опасение, что разблокировка по сути временная.

«Не будь я уверен, что Apple постарается прикрыть каждый путь к этому в будущем, это могло бы стать поводом купить AirPods». — инженер-программист, ожидающий, что Apple закроет дыры

Отдельное возражение было этическим, а не техническим: зачем вообще вознаграждать покупкой железа компанию, настолько враждебную, что она сама провоцирует войну патчей. А один комментатор подрубил посылку проекта сразу с двух сторон.

«К сведению: Android 17 чинит баги в Bluetooth-стеке, которые раньше требовали root. Но это приложение всё равно берёт $5 за функции, которые у ваших AirPods уже есть. Проведу вечер за форком и включу их сам». — комментатор, который собирается форкнуть проект вместо оплаты

Вывод, к которому пришли читатели, — не «AirPods теперь бесплатные», а то, что любопытная единица работы здесь — энтузиаст, заново заговоривший на секретном протоколе вендора достаточно хорошо, чтобы единственными оставшимися рвами стали просьба о $5 и следующее обновление прошивки Apple.

Получайте такие разборы каждый день

Главные истории Hacker News — на email, в Telegram или RSS.

Следующая новость · 8 из 34 Читать дальше
🔥Hot Discussion

Meta привязала аттестацию к расходу токенов. Инженеры свели двух агентов болтать весь день

Чтобы выбить метрику, которая поощряла сжигание ИИ-токенов, сотрудники одной компании заставили двух агентов целый день переговариваться друг с другом. Автор поста объявляет этот режим мёртвым — и тут же предсказывает, что он вернётся, поумнев.

★ 116 · 💬 143 · 12gramsofcarbon.com · 4 мин