
AirPods befreit aus dem Apple-Ökosystem.
[!WARNING] librepods.org ist keine offizielle Website des LibrePods-Projekts. Sie gibt fälschlicherweise vor, die offizielle Website des Projekts zu sein, indem sie Urheberrechte beansprucht und das LibrePods-Logo in der Fußzeile verwendet. Gleichzeitig behaupten sie, dass das Projekt weder mit dem LibrePods-Projekt noch mit dessen Entwicklern verbunden ist.
Bitte melden Sie andere derartige Websites an [email protected]
Mit LibrePods können Sie AirPods-Funktionen nutzen, die exklusiv für Apple-Geräte sind. Es implementiert das proprietäre Protokoll, das zum Datenaustausch zwischen AirPods und Apple-Geräten verwendet wird, und ermöglicht Funktionen wie das Ändern der Geräuschsteuerungsmodi, schnelle Ohrerkennung, genauen Akkuzustand, Kopfgesten, Gesprächsbewusstsein und mehr auf Nicht-Apple-Plattformen.
| Symbol | Bedeutung |
|---|---|
Die folgenden Funktionen in Bezug auf Find My sind geplant, erfordern jedoch weitere RE und benötigen möglicherweise Root unter Android:
Die App stellt Android derzeit keine Kopfverfolgungsinformationen zur Verfügung, damit das Betriebssystem eine HRTF durchführen kann. Dies wurde noch nicht vollständig untersucht und könnte Root erfordern.
Die Räumlichmachung von Stereo-Ton liegt außerhalb des Projektumfangs und wird nie verfügbar sein. Viele OEMs haben eine eigene Implementierung dafür.
Daran wird gearbeitet. Weitere Informationen finden Sie im Kanal #reverse-engineering auf dem LibrePods-Discord-Server. Sollte es jemals implementiert werden, wird es höchstwahrscheinlich Root unter Android benötigen.
Unter iOS/iPadOS können Sie A2DP weiterhin verwenden, während die AirPods den Audiostream von ihrem Mikrofon über AACP senden.
Da dies eine tiefere Integration mit dem Audio unter Android erfordert, wird es höchstwahrscheinlich Root benötigen.
Es stellt sich heraus, dass Sie durch Ändern der VendorID im DID-Profil auf die von Apple Zugriff auf mehrere spezielle Funktionen erhalten!
Sie können dies unter Linux durch Bearbeiten der DeviceID in /etc/bluetooth/main.conf tun. Fügen Sie diese Zeile zur Konfigurationsdatei hinzu: DeviceID = bluetooth:004C:0000:0000. Unter Android können Sie die Einstellung „Als Apple-Gerät agieren“ in den App-Einstellungen aktivieren (wird nur angezeigt, wenn Xposed verfügbar und das LibrePods-Modul aktiviert ist).
Bis zu zwei Geräte können gleichzeitig mit den AirPods verbunden werden, sowohl für Audio als auch für Steuerung. Nahtloser Verbindungswechsel. Die gleiche Benachrichtigung erscheint auf dem Apple-Gerät, wenn Android die AirPods übernimmt, als ob es ein Apple-Gerät wäre („Move to iPhone“). Android zeigt auch ein Popup, wenn das andere Gerät die Verbindung übernimmt.
Barrierefreiheitseinstellungen wie die Anpassung des Transparenzmodus (Verstärkung, Balance, Ton, Gesprächsverstärkung und Umgebungsgeräuschreduzierung) sowie die Lautstärkereduzierung können konfiguriert werden.
Alle Hörgeräte-Anpassungen können von Android aus vorgenommen werden (Linux bald), einschließlich der Einstellung des Audiogramm-Ergebnisses. Die App bietet keine Möglichkeit, einen Hörtest durchzuführen, da dies viel mehr Präzision erfordert. Es ist viel besser, ein bereits vorhandenes Audiogramm-Ergebnis zu verwenden.
Weitere Informationen zu den verwendeten Protokollen finden Sie im Wireshark-Dissector-Plugin von Nojus (@pabloaul): pabloaul/apple-wireshark
Der Dissector wurde für den Großteil der Implementierung nicht in LibrePods verwendet; ich hatte das Protokoll selbst reverse-engineert, bevor dieser Dissector erstellt wurde. Aber viele (zukünftige) Funktionen, einschließlich hochwertiger Zweiwege-Audio und räumliches Audio, wären ohne ihre RE-Bemühungen nicht möglich gewesen!
Diese Teile der App wurden vollständig KI-generiert:
Alles andere – der Hintergrunddienst, die Bluetooth-Manager-Klassen (AACP und ATT), die gesamte Benutzeroberfläche, selbst die kleinsten Komponenten – wurde manuell geschrieben.
Einige Teile der UI-Komponenten wurden von Kyant0s Demo-App übernommen, die unter der Apache License 2.0 lizenziert ist.
Die Dateien aacp.rs und att.rs wurden mit KI von Kotlin nach Rust übersetzt. Einige Teile der media_controller.rs-Datei, hauptsächlich die Pulse-Integration, wurden ebenfalls KI-generiert.
Ein großes Dankeschön an alle, die das Projekt unterstützen!
LibrePods – AirPods befreit aus Apples Ökosystem Copyright (C) 2025 LibrePods-Mitwirkende
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/.
Die GPL gewährt keine Rechte zur Nutzung des Namens, Logos oder Brandings von LibrePods. Der Name und das Logo von LibrePods dürfen nicht für Software, Websites, Domains, Produkte, Dienstleistungen oder andere Projekte in einer Weise verwendet werden, die eine Verbindung zu, Billigung durch oder Assoziation mit dem offiziellen LibrePods-Projekt suggeriert, ohne vorherige Genehmigung.
Wenn Sie eine missbräuchliche Verwendung des LibrePods-Namens oder -Logos feststellen, melden Sie dies bitte an [email protected].
Die in der Android-App verwendete Schriftart SF Pro ist Eigentum von Apple Inc. Sie wird in zukünftigen Versionen der App entfernt und bald durch eine offene Alternative ersetzt.
AirPods, AirPods Pro, AirPods Max und das AirPods-Logo sind Marken von Apple Inc. Das LibrePods-Projekt ist in keiner Weise mit Apple Inc. verbunden oder von ihnen unterstützt.
| Funktion | Linux | Android |
|---|
| Hörmodus ändern | ✅ | ✅ |
| Ohrerkennung | ✅ | ✅ |
| Akkuzustand | ✅ | ✅ |
AirPods umbenennen Hinweis für AndroidUnter Android müssen Sie Ihre AirPods nach dem Umbenennen neu koppeln, da Android möglicherweise nicht den aktuellsten Namen verwendet. | ✅ | ✅ |
| Lautstärkereduzierung | 🔴 | ⚪ |
| Kopfgesten | ⛔ | ✅ |
| Gesprächsbewusstsein | ✅ | ✅ |
| Automatische Verbindung mit AirPods | ✅ | ✅ |
| Hörgerät | 🔴 | ⚪ |
| Anpassung des Transparenzmodus | 🔴 | ⚪ |
| Multi-Geräte-Konnektivität (Bluetooth Multipoint; nur 2 Geräte) | ⚪ | ⚪ |
Weitere Barrierefreiheitseinstellungen (zum Erweitern klicken)
| 🔴 | ✅ |
Weitere allgemeine Einstellungen
| 🔴 | ✅ |
| Kopfverfolgtes räumliches Audio | ❓ | ❓ |
| Herzfrequenzüberwachung | ⛔ | 🔴 |
| Find My | ❓ | ❓ |
| Hochwertige Zweiwege-Audio | 🔴 | 🔴 |
| ✅ |
| Implementiert und funktioniert gut |
| ⚪ | Erfordert VendorID-Spoofing; Nutzung auf eigenes Risiko |
| 🔴 | Noch nicht implementiert; geplant |
| ⛔ | Wird nicht implementiert |
| ❓ | Unbekannt |
|
@davdroman |
@tedsalmon |
@wiless |
|
@SmartMsg |
@lunaroyster |
@ressiwage |
|
@kkjdroid |
@CitrusJoules |
@DanielReyesDev |
|
@sumitduster |
@GrifTheDev |