
AirPods libérés de l'écosystème Apple.
[!WARNING] librepods.org n'est pas un site web officiel du projet LibrePods. Il prétend de manière inexacte être le site web officiel du projet en revendiquant des droits d'auteur et en utilisant le logo LibrePods dans le pied de page. Et en même temps, ils disent que le projet n'est pas affilié au projet LibrePods ou à ses développeurs.
Veuillez signaler tout autre site web de ce type à [email protected]
LibrePods vous permet d'utiliser les fonctionnalités des AirPods qui sont exclusives aux appareils Apple. Il implémente le protocole propriétaire utilisé pour échanger des données entre les AirPods et les appareils Apple, permettant d'activer des fonctionnalités telles que le changement des modes de contrôle du bruit, la détection rapide de l'oreille, l'état précis de la batterie, les gestes de la tête, la conscience conversationnelle, et bien plus encore sur des plateformes non-Apple.
| Symbole | Signification |
|---|
Les fonctionnalités suivantes liées à Localiser sont prévues, mais nécessitent davantage de rétro-ingénierie et pourraient nécessiter un accès root sur Android :
L'application ne fournit pas actuellement d'informations de suivi de la tête à Android pour que le système effectue le HRTF. Cela n'a pas été complètement exploré et pourrait nécessiter un accès root.
La spatialisation du son stéréo dépasse le cadre de ce projet et ne sera jamais disponible. De nombreux fabricants ont leur propre implémentation pour cela.
Ce sujet est en cours de développement, consultez le canal #reverse-engineering sur le serveur Discord LibrePods pour plus d'informations. Si elle est un jour implémentée, elle nécessitera très probablement un accès root sur Android.
Sur iOS/iPadOS, vous pouvez continuer à utiliser A2DP pendant que les AirPods envoient le flux audio de leur microphone via AACP.
Étant donné que cela nécessite une intégration plus profonde avec l'audio sur Android, cela nécessitera très probablement un accès root.
Il s'avère que si vous modifiez le VendorID dans le profil DID pour celui d'Apple, vous obtenez accès à plusieurs fonctionnalités spéciales !
Vous pouvez le faire sous Linux en éditant le DeviceID dans /etc/bluetooth/main.conf. Ajoutez cette ligne au fichier de configuration : DeviceID = bluetooth:004C:0000:0000. Pour Android, vous pouvez activer le paramètre « agir comme un appareil Apple » dans les paramètres de l'application (affiché uniquement lorsque Xposed est disponible et que le module LibrePods est activé).
Jusqu'à deux appareils peuvent être connectés simultanément aux AirPods, à la fois pour l'audio et le contrôle. Basculement transparent de la connexion. La même notification apparaît sur l'appareil Apple lorsqu'Android prend le contrôle des AirPods, comme s'il s'agissait d'un appareil Apple (« Passer à l'iPhone »). Android affiche également une fenêtre contextuelle lorsque l'autre appareil prend le contrôle.
Les paramètres d'accessibilité tels que la personnalisation du mode transparence (amplification, équilibre, tonalité, amplification de la conversation et réduction du bruit ambiant), ainsi que la réduction des sons forts, peuvent être configurés.
Toutes les personnalisations de l'aide auditive peuvent être effectuées depuis Android (Linux bientôt), y compris la configuration du résultat de l'audiogramme. L'application ne fournit pas de moyen de passer un test auditif car cela nécessite beaucoup plus de précision. Il est bien préférable d'utiliser un résultat d'audiogramme déjà disponible.
Veuillez vous référer au plugin dissector Wireshark de Nojus (@pabloaul) pour plus d'informations sur les protocoles utilisés : pabloaul/apple-wireshark
Le dissector n'avait pas été utilisé dans LibrePods pour la majeure partie de l'implémentation ; j'ai moi-même rétro-ingéniéré le protocole avant la création de ce dissector. Mais de nombreuses fonctionnalités (futures), notamment l'audio bidirectionnel de haute qualité et l'audio spatial, n'auraient pas été possibles sans leurs efforts de rétro-ingénierie !
Ces parties de l'application ont été entièrement générées par IA :
Tout le reste - le service en arrière-plan, les classes de gestion Bluetooth (AACP et ATT), l'ensemble de l'interface utilisateur, même les plus petits composants, ont été écrits manuellement.
Certaines parties des composants de l'interface utilisateur ont été empruntées à l'application de démonstration de Kyant0, qui est sous licence Apache License 2.0.
Les fichiers aacp.rs et att.rs ont été traduits de Kotlin vers Rust avec de l'IA. Certaines parties du fichier media_controller.rs, principalement l'intégration Pulse, ont également été générées par IA.
Un immense merci à tous ceux qui soutiennent le projet !
LibrePods - AirPods libérés de l'écosystème Apple Copyright (C) 2025 Contributeurs LibrePods
Ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier selon les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, soit toute version ultérieure.
Ce programme est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir la GNU General Public License pour plus de détails.
Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme. Sinon, consultez https://www.gnu.org/licenses/.
La GPL n'accorde aucun droit d'utiliser le nom LibrePods, son logo ou son image de marque. Le nom et le logo LibrePods ne peuvent pas être utilisés pour des logiciels, sites web, domaines, produits, services ou autres projets d'une manière qui suggère une affiliation, un parrainage ou une association avec le projet officiel LibrePods sans autorisation préalable.
Si vous constatez une utilisation abusive du nom ou du logo LibrePods, veuillez le signaler à [email protected].
La police SF Pro utilisée dans l'application Android est la propriété d'Apple Inc. Elle sera supprimée dans les futures versions de l'application et remplacée prochainement par une alternative libre.
AirPods, AirPods Pro, AirPods Max et le logo AirPods sont des marques déposées d'Apple Inc. Le projet LibrePods n'est en aucun cas affilié à Apple Inc. ni approuvé par celle-ci.
| Fonctionnalité | Linux | Android |
|---|
| Changement du mode d'écoute | ✅ | ✅ |
| Détection de l'oreille | ✅ | ✅ |
| État de la batterie | ✅ | ✅ |
Renommer les AirPods Note pour AndroidSur Android, vous devez réappairer vos AirPods après les avoir renommés car Android pourrait ne pas utiliser le dernier nom. | ✅ | ✅ |
| Réduction des sons forts | 🔴 | ⚪ |
| Gestes de la tête | ⛔ | ✅ |
| Conscience conversationnelle | ✅ | ✅ |
| Connexion automatique aux AirPods | ✅ | ✅ |
| Aide auditive | 🔴 | ⚪ |
| Personnalisation du mode transparence | 🔴 | ⚪ |
| Connectivité multi-appareils (Bluetooth Multipoint ; 2 appareils seulement) | ⚪ | ⚪ |
Autres configurations d'accessibilité (cliquer pour déplier)
| 🔴 | ✅ |
Autres configurations générales
| 🔴 | ✅ |
| Audio spatial avec suivi de la tête | ❓ | ❓ |
| Surveillance de la fréquence cardiaque | ⛔ | 🔴 |
| Localiser | ❓ | ❓ |
| Audio bidirectionnel de haute qualité | 🔴 | 🔴 |
| ✅ | Implémenté et fonctionne bien |
| ⚪ | Nécessite un spoofing VendorID ; utilisation à vos risques et périls |
| 🔴 | Pas encore implémenté ; prévu |
| ⛔ | Ne sera pas implémenté |
| ❓ | Inconnu |
|
@davdroman |
@tedsalmon |
@wiless |
|
@SmartMsg |
@lunaroyster |
@ressiwage |
|
@kkjdroid |
@CitrusJoules |
@DanielReyesDev |
|
@sumitduster |
@GrifTheDev |