librepods README

The project's README from github.com/librepods-org/librepods. As one markdown file: README.md.

[!WARNING] librepods.org is not an official website of the LibrePods project. It inaccurately claims to be the official website of the project by claiming copyrights and using the LibrePods logo in the footer. And at the same time, they say that the project is not affiliated with the LibrePods project or its developers.

Please report any other such websites to [email protected]

LibrePods

What is LibrePods?

LibrePods allows you to use AirPods features that are exclusive to Apple devices. It implements the proprietary protocol used to exchange data between AirPods and Apple devices, enabling features like changing noise control modes, fast ear detection, accurate battery status, head gestures, conversational awareness, and more on non-Apple platforms.

Feature availability

Feature Linux Android
Changing Listening Mode ✅ ✅
Ear detection ✅ ✅
Battery status ✅ ✅
Renaming AirPods
Note for AndroidOn Android, you need to re-pair your AirPods after renaming them because Android might not use the latest name.
✅ ✅
Loud Sound Reduction 🔴 ⚪
Head Gestures ⛔ ✅
Conversational Awareness ✅ ✅
Automatically connect to AirPods ✅ ✅
Hearing Aid 🔴 ⚪
Transparency Mode customization 🔴 ⚪
Multi-device connectivity (Bluetooth Multipoint; 2 devices only) ⚪ ⚪
Other accessibility configs (click to expand)
  • Press speed
  • Press and Hold duration
  • Noise Cancellation with single AirPod
  • Volume control on swipe
  • Volume swipe speed
🔴 ✅
Other general configs
  • Press and Hold to cycle between listening modes/invoke digital assistant (invoking digital assistant needs a recent firmware)
  • Configure call controls
  • Personalized volume
  • Loud Sound Reduction (needs VendorID spoofing)
  • Microphone side
  • Pause media when falling asleep (needs a recent firmware)
  • Enable Off listening mode to switch to Off
🔴 ✅
Head-tracked Spatial Audio ❓ ❓
Heart Rate Monitoring ⛔ 🔴
Find My ❓ ❓
High quality two-way audio 🔴 🔴
Symbol Meaning
✅ Implemented and works well
⚪ Needs VendorID spoofing; use at your own risk
🔴 Not implemented yet; planned
⛔ Will not be implemented
❓ Unknown

Find My

The following features related to Find My are planned, but require further RE and might need root on Android:

Spatial Audio

The app does not currently provide head tracking information to Android for the OS to perform HRTF. This has not been explored completely, and it might need root.

Spatializing stereo sound is beyond this project's scope and will never be available. Many OEMs have an implementation of their own for this.

Heart Rate Monitoring (AirPods Pro 3 and later)

This is being worked upon, check the #⁠reverse-engineering channel on the LibrePods Discord server for more information. If it is ever implemented, it will most likely need root on Android.

High quality two-way audio

On iOS/iPadOS, you can continue using A2DP while AirPods send the audio stream from its microphone over AACP.

Since this needs deeper integration with audio on Android, it will most likely need root.

Installation

VendorID Spoofing

Turns out, if you change the VendorID in DID Profile to that of Apple, you get access to several special features!

You can do this on Linux by editing the DeviceID in /etc/bluetooth/main.conf. Add this line to the config file DeviceID = bluetooth:004C:0000:0000. For android you can enable the act as Apple device setting in the app's settings (shown only when Xposed is available and LibrePods module is enabled).

Multi-device Connectivity

Upto two devices can be simultaneously connected to AirPods, for audio and control both. Seamless connection switching. The same notification shows up on Apple device when Android takes over the AirPods as if it were an Apple device ("Move to iPhone"). Android also shows a popup when the other device takes over.

Accessibility Settings and Hearing Aid

Accessibility settings like customizing transparency mode (amplification, balance, tone, conversation boost, and ambient noise reduction), and loud sound reduction can be configured.

All hearing aid customizations can be done from Android (linux soon), including setting the audiogram result. The app doesn't provide a way to take a hearing test because it requires much more precision. It is much better to use an already available audiogram result.

Protocol and Reverse Engineering

Please refer to the Wireshark dissector plugin by Nojus (@pabloaul) for more information on the protocols used: pabloaul/apple-wireshark

The dissector had not been used in LibrePods for most of the implementation; I had reverse engineered the protocol myself before this dissector was made. But many (future) features including two-way high quality audio and spatial audio would not have been possible without their RE efforts!

Use of AI

Android app

These parts of the app were completely AI-generated:

Rest everything- the background service, the Bluetooth manager classes (AACP and ATT), the entire UI, even the smallest components were written manually.

Some parts of the UI components were borrowed from Kyant0's demo app, which is licensed under Apache License 2.0.

Linux (rewrite)

The aacp.rs and the att.rs files were translated from Kotlin to Rust with AI. Some parts of the media_controller.rs file, mainly the pulse integration, was also AI-generated.

Supporters

A huge thank you to everyone supporting the project!

davdroman
@davdroman
tedsalmon
@tedsalmon
wiless
@wiless
SmartMsg
@SmartMsg
lunaroyster
@lunaroyster
ressiwage
@ressiwage
kkjdroid
@kkjdroid
CitrusJoules
@CitrusJoules
DanielReyesDev
@DanielReyesDev
sumitduster
@sumitduster
GrifTheDev
@GrifTheDev

Special Thanks

Alternates for other platforms:

Star History

Star History Chart

License

LibrePods - AirPods liberated from Apple’s ecosystem Copyright (C) 2025 LibrePods contributors

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Trademark Notice

The GPL does not grant any rights to use the LibrePods name, logo, or branding. The LibrePods name and logo may not be used for software, websites, domains, products, services, or other projects in a manner that suggests affiliation with, endorsement by, or association with the official LibrePods project without prior permission.

If you see any misuse of the LibrePods name or logo, please report it to [email protected].

The SF Pro font used in the Android app is the property of Apple Inc.. This will be removed in future versions of the app and replaced with an open alternative soon.

AirPods, AirPods Pro, AirPods Max, and the AirPods logo are trademarks of Apple Inc. The LibrePods project is not affiliated with or endorsed by Apple Inc. in any way.

librepods (librepods-org/librepods)

Searching Database…

30.4K ·GitHub
这是干什么的?LibrePods 是一款应用,可以在 Linux 和 Android 上解锁原本只有苹果设备才能用的 AirPods 功能——降噪模式切换、入耳检测、电量显示、头部手势、对话感知等等。
它是一个应用,还是手机和电脑各有一个?是两个独立的应用:一个给 Android,一个给 Linux。大部分核心功能两边都能用,但头部手势、助听器设置等辅助功能配置目前仅限 Android。
我怎么把它跑起来?README 里分别有 Android 和 Linux 的安装指南,选对应你系统的那份。在 Linux 上,依赖伪装的功能还需要在 /etc/bluetooth/main.conf 里加一行 DeviceID。
需要苹果设备或 iPhone 才能用吗?不需要——LibrePods 自己实现了苹果的 AirPods 专有协议,Linux 电脑或 Android 手机可以直接和 AirPods 通信。在 Android 上想用伪装功能,需要安装 Xposed 并启用 LibrePods 模块。
有些功能标注需要 VendorID 伪装,这是什么意思?AirPods 会对非苹果设备隐藏某些功能,伪装成苹果设备就能解锁:Linux 上在 /etc/bluetooth/main.conf 里加上 DeviceID = bluetooth:004C:0000:0000,Android 上打开“伪装成 Apple 设备”的设置(需要 Xposed)。
它是开源的吗?许可证有什么限制吗?采用 GPLv3,完全开源。有一点要注意:许可证不涵盖 LibrePods 这个名称和标志,所以未经许可,任何东西都不能自称是官方的 LibrePods。
不折腾伪装的话,哪些功能开箱即用?监听模式切换、入耳检测、电量显示、重命名、对话感知和自动连接在两个平台上都运行良好。头部手势仅限 Android(标注为永远不会支持 Linux)。
以后会有功能需要 Android 手机获取 root 权限吗?很可能会:AirPods Pro 3 的心率监测和高音质双向通话音频如果实现的话,大概率需要 root,计划中的“查找”功能可能也一样。
有没有它永远不会支持的功能?真正的空间音频——把立体声做空间化处理被明确排除在项目范围之外,因为大多数手机厂商都有自己的实现。头部追踪空间音频还没人研究过,可能需要 root。
AirPods 能同时连着我的手机和笔记本电脑吗?可以——蓝牙多点连接最多支持两台设备同时进行音频播放和控制,切换流畅,还会弹出接管提示,跟在苹果设备之间切换一样。
它能把 AirPods 变成助听器吗?在 Android 上可以:扩音、左右声道平衡、音调调节、对话增强、环境噪音降低以及根据你的听力图进行设置,全都可以配置;Linux 支持即将推出。它不能做听力测试——你需要自带现成的听力图结果。
如果我的设备不在支持范围内怎么办?README 推荐了替代方案:Android 16 QPR3 及以下版本和未 root 的手机可以用 CAPod,Steam Deck 可以用 MagicPods,Windows 用户则可以用 Microsoft 商店里的 MagicPods,相当于“Windows 版 LibrePods”。
librepods.org 是官方网站吗?不是。README 明确警告该网站虚假声称自己是官方站点、盗用项目标志,并请用户向开发者举报这类仿冒网站。
Size
195.8 MB
Stars
30.4K
Age
2y
Commits · 90 Days