
AirPods liberati dall'ecosistema Apple.
[!WARNING] librepods.org non è un sito web ufficiale del progetto LibrePods. Afferma erroneamente di essere il sito ufficiale del progetto rivendicando diritti d'autore e utilizzando il logo LibrePods nel footer. Allo stesso tempo, dichiarano che il progetto non è affiliato al progetto LibrePods o ai suoi sviluppatori.
Segnala qualsiasi altro sito di questo tipo a [email protected]
LibrePods ti consente di utilizzare funzionalità degli AirPods esclusive dei dispositivi Apple. Implementa il protocollo proprietario utilizzato per lo scambio di dati tra AirPods e dispositivi Apple, abilitando funzionalità come il cambio delle modalità di controllo del rumore, il rilevamento rapido dell'orecchio, lo stato accurato della batteria, i gesti della testa, la consapevolezza conversazionale e altro su piattaforme non Apple.
| Simbolo | Significato |
|---|---|
Le seguenti funzionalità relative a Find My sono pianificate, ma richiedono ulteriore reverse engineering e potrebbero richiedere root su Android:
L'app attualmente non fornisce ad Android le informazioni sul tracciamento della testa necessarie al sistema operativo per eseguire l'HRTF. Questo aspetto non è stato esplorato completamente e potrebbe richiedere root.
La spazializzazione dell'audio stereo è al di fuori dello scopo di questo progetto e non sarà mai disponibile. Molti OEM hanno una propria implementazione per questo.
Ci stiamo lavorando; consulta il canale #reverse-engineering sul server Discord di LibrePods per maggiori informazioni. Se verrà mai implementato, molto probabilmente richiederà root su Android.
Su iOS/iPadOS puoi continuare a utilizzare A2DP mentre gli AirPods inviano il flusso audio dal loro microfono tramite AACP.
Poiché ciò richiede un'integrazione più profonda con l'audio su Android, molto probabilmente servirà root.
Si scopre che se si cambia il VendorID nel profilo DID con quello di Apple, si ottiene l'accesso a diverse funzionalità speciali!
Su Linux puoi farlo modificando il DeviceID in /etc/bluetooth/main.conf. Aggiungi questa riga al file di configurazione DeviceID = bluetooth:004C:0000:0000. Su Android puoi abilitare l'impostazione act as Apple device nelle impostazioni dell'app (visibile solo quando Xposed è disponibile e il modulo LibrePods è abilitato).
Fino a due dispositivi possono essere connessi simultaneamente agli AirPods, sia per l'audio che per il controllo. Commutazione della connessione senza interruzioni. La stessa notifica che apparirebbe su un dispositivo Apple viene mostrata quando Android prende il controllo degli AirPods, come se fosse un dispositivo Apple ("Move to iPhone"). Android mostra anche un popup quando l'altro dispositivo prende il controllo.
Impostazioni di accessibilità come la personalizzazione della modalità Trasparenza (amplificazione, bilanciamento, tono, potenziamento della conversazione e riduzione del rumore ambientale) e la riduzione dei suoni forti possono essere configurate.
Tutte le personalizzazioni dell'apparecchio acustico possono essere effettuate da Android (presto su Linux), inclusa l'impostazione del risultato dell'audiogramma. L'app non offre un modo per eseguire un test dell'udito perché richiederebbe molta più precisione. È molto meglio utilizzare un risultato di audiogramma già disponibile.
Fai riferimento al plugin dissector di Wireshark di Nojus (@pabloaul) per maggiori informazioni sui protocolli utilizzati: pabloaul/apple-wireshark
Il dissector non è stato utilizzato in LibrePods per gran parte dell'implementazione; avevo fatto reverse engineering del protocollo da solo prima che questo dissector fosse creato. Ma molte funzionalità (future), tra cui l'audio bidirezionale di alta qualità e l'audio spaziale, non sarebbero state possibili senza i loro sforzi di reverse engineering!
Queste parti dell'app sono state completamente generate dall'IA:
Tutto il resto — il servizio in background, le classi di gestione Bluetooth (AACP e ATT), l'intera interfaccia utente, anche i componenti più piccoli — è stato scritto manualmente.
Alcune parti dei componenti dell'interfaccia utente sono state prese in prestito dall'app demo di Kyant0, che è concessa in licenza sotto Apache License 2.0.
I file aacp.rs e att.rs sono stati tradotti da Kotlin a Rust con l'IA. Alcune parti del file media_controller.rs, principalmente l'integrazione di Pulse, sono state generate anch'esse dall'IA.
Un enorme ringraziamento a tutti coloro che supportano il progetto!
LibrePods - AirPods liberati dall'ecosistema Apple Copyright (C) 2025 contributori di LibrePods
Questo programma è software libero: puoi ridistribuirlo e/o modificarlo secondo i termini della GNU General Public License come pubblicata dalla Free Software Foundation, versione 3 della Licenza, o (a tua scelta) qualsiasi versione successiva.
Questo programma è distribuito nella speranza che possa essere utile, ma SENZA ALCUNA GARANZIA; senza nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ PER UN PARTICOLARE SCOPO. Vedi la GNU General Public License per maggiori dettagli.
Dovresti aver ricevuto una copia della GNU General Public License insieme a questo programma. In caso contrario, vedi https://www.gnu.org/licenses/.
La GPL non concede alcun diritto di utilizzare il nome, il logo o il marchio LibrePods. Il nome e il logo LibrePods non possono essere utilizzati per software, siti web, domini, prodotti, servizi o altri progetti in un modo che suggerisca affiliazione, approvazione o associazione con il progetto ufficiale LibrePods senza previa autorizzazione.
Se noti un uso improprio del nome o del logo LibrePods, segnalalo a [email protected].
Il font SF Pro utilizzato nell'app Android è di proprietà di Apple Inc. Verrà rimosso nelle versioni future dell'app e presto sostituito con un'alternativa aperta.
AirPods, AirPods Pro, AirPods Max e il logo AirPods sono marchi registrati di Apple Inc. Il progetto LibrePods non è affiliato o approvato da Apple Inc. in alcun modo.
| Funzionalità | Linux | Android |
|---|
| Cambio modalità di ascolto | ✅ | ✅ |
| Rilevamento dell'orecchio | ✅ | ✅ |
| Stato della batteria | ✅ | ✅ |
Rinomina AirPods Nota per AndroidSu Android, devi riassociare i tuoi AirPods dopo averli rinominati perché Android potrebbe non utilizzare il nome più recente. | ✅ | ✅ |
| Riduzione dei suoni forti | 🔴 | ⚪ |
| Gesti della testa | ⛔ | ✅ |
| Consapevolezza conversazionale | ✅ | ✅ |
| Connessione automatica agli AirPods | ✅ | ✅ |
| Apparecchio acustico | 🔴 | ⚪ |
| Personalizzazione della modalità Trasparenza | 🔴 | ⚪ |
| Connettività multi-dispositivo (Bluetooth Multipoint; solo 2 dispositivi) | ⚪ | ⚪ |
Altre configurazioni di accessibilità (clicca per espandere)
| 🔴 | ✅ |
Altre configurazioni generali
| 🔴 | ✅ |
| Audio spaziale con rilevamento della testa | ❓ | ❓ |
| Monitoraggio della frequenza cardiaca | ⛔ | 🔴 |
| Find My | ❓ | ❓ |
| Audio bidirezionale di alta qualità | 🔴 | 🔴 |
| ✅ |
| Implementato e funziona bene |
| ⚪ | Richiede spoofing del VendorID; usalo a tuo rischio |
| 🔴 | Non ancora implementato; pianificato |
| ⛔ | Non sarà implementato |
| ❓ | Sconosciuto |
|
@davdroman |
@tedsalmon |
@wiless |
|
@SmartMsg |
@lunaroyster |
@ressiwage |
|
@kkjdroid |
@CitrusJoules |
@DanielReyesDev |
|
@sumitduster |
@GrifTheDev |