Teknoloji

Apple Ekosistemine Başkaldırı: LibrePods ile AirPods Özellikleri Android ve Linux'a Geliyor!

Apple ekosistemine özel olan AirPods özelliklerini (gürültü engelleme modları, kafa hareketleri, kulak algılama vb.) Android ve Linux platformlarında kullanmayı sağlayan açık kaynaklı LibrePods projesi büyük ilgi görüyor. Tersine mühendislik yöntemleriyle geliştirilen proje, Apple'ın kapalı protokol duvarlarını yıkıyor.

Paylaş X'te paylaş

Apple, ürettiği aksesuarların gelişmiş özelliklerini kendi ekosistemine (iOS, macOS, iPadOS) kilitleyerek kullanıcıları ekosistem içinde tutma stratejisini yıllardır başarıyla sürdürüyor. Bu durumun en büyük kurbanlarından biri de şüphesiz popüler kablosuz kulaklık serisi AirPods. Ancak açık kaynak (open source) topluluğu, bu yapay sınırları yıkmak için yeni bir projeye imza attı: LibrePods.

LibrePods Nedir? AirPods modellerinin yalnızca Apple cihazlarına özel olan tescilli (proprietary) iletişim protokolünü tersine mühendislik (reverse engineering) yöntemleriyle çözen ve bu özellikleri Android ile Linux platformlarına taşıyan açık kaynaklı bir yazılım projesidir.

1. Apple Duvarlarını Yıkan Tersine Mühendislik

AirPods kulaklıklar Apple cihazlarıyla haberleşirken standart Bluetooth protokollerinin yanı sıra Apple'a özel şifrelenmiş veri paketleri kullanır. LibrePods geliştiricileri, bu veri akışını analiz etmek için Wireshark ağ analiz yazılımını ve özel protokol çözümleyici (dissector) eklentilerini kullandı. Yapılan çalışmalar sonucunda, AirPods'un tescilli protokolü taklit edilerek Apple dışındaki işletim sistemlerinin de bu komutları anlaması sağlandı.

Bu sayede normalde Android veya Linux'ta çalışmayan şu özellikler LibrePods ile kullanılabilir hale geliyor:

  • Aktif Gürültü Engelleme (ANC) Kontrolü: Kulaklığın gürültü engelleme, şeffaflık ve kapalı modları arasında geçiş yapabilmesi.
  • Kulak Algılama (Ear Detection): Kulaklık kulaktan çıkarıldığında medyanın otomatik olarak duraklatılması ve takıldığında devam etmesi.
  • Hassas Pil Durumu: Kulaklıkların ve şarj kutusunun (charging case) anlık pil yüzdelerinin doğru bir şekilde gösterilmesi.
  • Konuşma Farkındalığı (Conversational Awareness): Kullanıcı konuşmaya başladığında ses düzeyinin otomatik olarak kısılması.
LibrePods Proje Görseli
Görsel 1: Android ve Linux için geliştirilen LibrePods projesinin resmi tanıtım görseli. / Görsel Kaynağı: Githubusercontent

2. Platformlara Göre Özellik Desteği

LibrePods projesi hem Android hem de Linux platformları için aktif olarak geliştirilmektedir. Ancak iki platformun altyapı farklılıkları nedeniyle desteklenen özellikler değişiklik göstermektedir:

Özellik Adı (İngilizce Terim) Linux Desteği Android Desteği Detaylar / Gereksinimler
Dinleme Modu Değiştirme (Listening Mode) EVET EVET Modlar arası geçiş sorunsuz çalışır.
Kulak Algılama (Ear Detection) EVET EVET Hızlı ve kararlı tepki verir.
Pil Durumu (Battery Status) EVET EVET Kutu ve kulaklıkların şarj yüzdeleri.
Yeniden Adlandırma (Renaming) EVET EVET Android'de isim değişikliği sonrası yeniden eşleştirme gerekebilir.
Kafa Hareketleri (Head Gestures) HAYIR EVET Sadece Android uygulamasında desteklenir (Gelen aramayı kafa sallayarak reddetme vb.).
Yüksek Ses Azaltma (Loud Sound Reduction) PLANLANIYOR EVET Android'de VendorID sahteciliği (spoofing) gerektirir.
Konuşma Farkındalığı (Conversational Awareness) EVET EVET Ses algılandığında arka plan müziğini kısma.
İşitme Cihazı Desteği (Hearing Aid) PLANLANIYOR ROOT GEREKİR Android'de Xposed modülü ve Root yetkisi ile Apple kimliği taklit edilerek kullanılabilir.

3. Yapay Zeka Desteğiyle Geliştirilen Kod Tabanı

Projenin arkasındaki geliştirici Kavish Devar, kod tabanını oluştururken yapay zekadan (AI) da önemli ölçüde yararlandığını belirtiyor. Özellikle Android uygulamasındaki kafa hareketlerini (head gestures) algılayan karmaşık algoritmalar ve arayüz tasarımlarının büyük bir kısmı yapay zeka tarafından oluşturulmuş durumda. Ayrıca, Linux tarafında kullanılan ve tescilli Bluetooth bağlantısını yöneten Rust dosyaları (aacp.rs ve att.rs) Kotlin dilinden Rust'a yapay zeka yardımıyla otomatik olarak dönüştürülmüş.

Geliştirici Notu: Projenin bluetooth yöneticileri, temel arka plan servisleri ve özelleştirilmiş arayüz bileşenleri tamamen el ile yazılmış olsa da, yapay zeka kullanımı projenin geliştirilme sürecini inanılmaz derecede hızlandırmış durumda.

4. VendorID Sahteciliği (Spoofing) Nedir?

AirPods'un bazı çok özel erişilebilirlik ve işitme cihazı özelliklerini Android'de açabilmek için kulaklığa bağlanan cihazın bir Apple cihazı olduğunu inandırmak gerekiyor. Buna VendorID Spoofing (Üretici Kimliği Sahteciliği) deniyor. Linux kullanıcıları bu işlemi /etc/bluetooth/main.conf dosyasına DeviceID = bluetooth:004C:0000:0000 satırını ekleyerek yapabiliyor (004C Apple'ın üretici kimliğidir). Android'de ise bu özellik ancak Root edilmiş ve Xposed modülü kurulmuş cihazlarda LibrePods uygulaması üzerinden aktif edilebiliyor.

LibrePods, AirPods kullanıcılarının Apple ekosistemine bağımlı kalmadan istedikleri cihazda tam performansla müzik dinleyebilmeleri için harika bir alternatif sunuyor.

Kaynak: Hacker News (Öne Çıkanlar)

Mr.Nobody
Yazar

Mr.Nobody

Tüm yazılar Tüm yazılar
Haber Sayısı 275 haber
Görüntülenme Sayısı 9.251 görüntülenme
Okur katılımı

Yorumlar

Yorum İkonu Yorum Yazın

Bu habere henüz yorum yapılmadı.

Görünüm Okuma ayarları
Yazı boyutu