3 puan yazan GN⁺ 2024-03-18 | 1 yorum | WhatsApp'ta paylaş
  • Universal Android Debloater GUI, mevcut UAD project’in Rust ile baştan tamamen yeniden yazılmış bir aracı olup, gereksiz veya az bilinen Android sistem uygulamalarını kaldırarak gizliliği ve pil performansını iyileştirmeyi hedefler
  • Root olmadan sistem paketlerini kaldırma/devre dışı bırakma ve geri yükleme/etkinleştirme yapabilir; çoklu kullanıcı, çoklu cihaz, seçili öğeleri dışa/içe aktarma ve işlem günlüğü desteği sunar
  • Paketler, silinip silinemeyeceğine karar vermeye yardımcı olmak için mümkün olduğunca belgelenmiştir; ancak önyükleme için gereken kritik sistem paketleri kaldırılırsa bootloop oluşabilir
  • Root’suz cihazlarda sistem uygulamaları fiilen tamamen kaldırılamaz; OEM güncellemesinden sonra bazı “kaldırılmış” sistem uygulamaları yeniden yüklenebilir ve aracın tekrar çalıştırılması gerekebilir
  • Destek listesi Google/Facebook/Amazon/Microsoft, AOSP, OEM, operatörler, Qualcomm/Mediatek vb. içerir; üretici ve operatöre özel debloat list ayrıca sağlanır

Universal Android Debloater GUI’nin amacı

  • Universal Android Debloater GUI, UAD project projesinin Rust ile tamamen yeniden yazılmış hâlidir
  • Amaç, gereksiz ve az bilinen sistem uygulamalarını kaldırarak gizliliği ve pil performansını iyileştirmektir
  • Sistem uygulamalarını kaldırmak, saldırı yüzeyini azaltarak güvenliğin iyileşmesine de katkı sağlayabilir
  • Proje hâlâ erken geliştirme aşamasındadır; issue’lara göz atılması ve katkı verilmesi teşvik edilir

Güvenlik ve önemli uyarılar

  • Kullanım kendi sorumluluğunuzdadır; projenin telefonunuzda olabileceklerden sorumlu olmadığı belirtilir
  • Paketler, silinip silinemeyeceklerinin daha iyi anlaşılabilmesi için mümkün olduğunca belgelenmiştir
  • En kötü sorun, önyükleme için gerekli kritik sistem paketlerinin kaldırılması nedeniyle bootloop oluşmasıdır
    • Yaklaşık 5 başarısız önyüklemeden sonra telefon otomatik olarak kurtarma modunda yeniden başlar
    • Bu durumda fabrika ayarlarına sıfırlama yapılmalıdır
    • Önce yedek alınmalıdır
  • Bu yazılımla cihazı brick etmenin mümkün olmadığı belirtilir
  • Root olmadan sistem uygulamaları gerçekte tamamen kaldırılamaz; ayrıntılar için FAQ incelenmelidir

Desteklenen özellikler

  • Sistem paketleri için Uninstall/Disable ve Restore/Enable desteği
  • İş profili uygulamaları gibi çoklu kullanıcı desteği
  • Seçili öğeleri uad_exported_selection.txt olarak dışa/içe aktarma imkânı
  • Birden fazla telefonu aynı anda bağlamaya yönelik çoklu cihaz desteği
  • Kullanıcının yaptığı işlemleri unutmaması için tüm işlemler günlüklenir

Debloat listelerinin kapsamı

  • Universal Debloat Lists şu kategorileri içerir
    • GFAM: Google, Facebook, Amazon, Microsoft
    • AOSP
    • Üretici (OEM)
    • Operatörler
    • Qualcomm, Mediatek, diğerleri
  • Üretici debloat listesi Asus, LG, Google, Fairphone, Huawei, Motorola, Nokia, OnePlus, Oppo, Realme, Samsung, Sony, Tecno, Unihertz, Vivo/iQOO, Xiaomi, ZTE vb. destekler
  • Archos, Blackberry, Gionee, iQOO, HTC, TCL, Wiko üretici listesinde henüz kontrol edilmemiştir
  • Operatör debloat listesi aşağıdaki ülke ve operatörleri içerir
    • France: Orange, SFR, Free, Bouygues
    • USA: T-Mobile, Verizon, Sprint, AT&T
    • Germany: Telekom
    • UK: EE

Kullanım adımları ve kısıtlar

  • Önce FAQ okunmalı ve veriler yedeklenmelidir
  • Akıllı telefonda Developer Options etkinleştirilmeli, geliştirici panelinde USB Debugging açılmalıdır
  • Ayarlardan OEM hesap bağlantısı kaldırılmalıdır
    • OEM hesap paketi silinirse telefon kullanıcının kimliğini artık ilişkilendiremeyebilir ve kilit ekranında takılı kalabilir
  • ADB kurulumu gerekir
    • Linux’ta dağıtıma göre paket yöneticisiyle android-sdk-platform-tools veya android-tools kurulur
    • macOS’te Homebrew ile android-platform-tools kurulur
    • Windows’ta android platform tools indirilip arşivden çıkarılarak PATH’e eklenmeli veya UAD aynı dizinden çalıştırılmalıdır
    • Windows’ta cihaz için USB drivers kurulmalı ve adb devices ile algılanıp algılanmadığı kontrol edilmelidir
  • İşletim sisteminiz için en güncel UAD GUI sürümü releases sayfasından alınabilir
    • Yalnızca varsayılan Vulkan backend sürümü çalışmadığında opengl sürümü kullanılmalıdır
  • Çin telefon kullanıcılarının bazı varsayılan uygulamaları kaldırmak için AOSP list kullanması gerekebilir
    • Bunun nedeni özellikle Xiaomi ve Huawei gibi Çinli üreticilerin, kendi değiştirilmiş ve kapalı kaynak uygulamaları için AOSP paket adlarını kullanmış olmalarıdır
  • OEM telefona güncelleme dağıttığında bazı “kaldırılmış” sistem uygulamaları yeniden yüklenebilir; bu yüzden bu yazılımın tekrar çalıştırılması gerekir

Katkı

  • Proje bir topluluk projesidir; katkı yöntemleri How to contribute sayfasında özetlenmiştir

1 yorum

 
GN⁺ 2024-03-18
Hacker News yorumları
  • Yakın zamanda bir akrabama liste fiyatından orta seviye bir Samsung telefon aldım; varsayılan olarak yüklü gelen uygulamaların sayısı inanılmazdı
    Çeşitli sosyal ağ ve alışveriş uygulamaları önceden kuruluydu; Google uygulama paketini beceriksizce kopyalayan bir sürü Samsung uygulaması da vardı
    İlk kurulum sürecinin tamamı, mümkün olduğunca çok veri çekip almaya göre tasarlanmış dark pattern'larla doluydu; sıradan bir kullanıcının bir şeyi kaçırmadan bu süreci geçmesi zor görünüyordu

    • İlk Samsung telefonumu kullandığımda, yaklaşık iki hafta sonra hangi uygulamaya girersem gireyim yazdığım her kelimenin üçüncü taraflarca toplandığını ve gönderildiğini öğrendim
      O şirketin gizlilik politikasında, verilerin ilgi alanlarını, sosyal hayatı, zeka düzeyi ve eğitim seviyesi tahminlerini belirlemek için kullanıldığı ve “pazar araştırması” gibi amaçlarla satıldığı yazıyordu
      Kullanıcının, telefonda varsayılan gelen klavyenin mesajlarını ve e-postalarını üçüncü bir tarafa okutacağını düşünmesi zor
      Bunu ancak tesadüfen bir tuşa uzun basıp “about samsung keyboard” penceresini açınca, oradan gizlilik politikasını takip edip tuş girişlerinin hangi şirkete gönderildiğini gördükten sonra öğrendim
      Hemen açık kaynaklı bir klavyeye geçtim; tüm kullanıcıların girdilerini toplamasının etkisi olsa gerek, Samsung klavyenin yazım denetimi ve tahminli yazma özelliği gerçekten iyiydi
    • Bu yalnızca ABD'ye özgü bir durum olabilir
      Son üç telefonum AB'de satılan Samsung S serisi modellerdi; “üçüncü taraf varsayılan uygulama” sayılabilecek şeyler Facebook ve MS Office kadardı, ikisi de kolayca kaldırılabiliyordu
      Samsung'un alternatif uygulamaları bir tercih meselesi; Google “orijinallerinden” daha kullanışlı olduklarını düşündüm
      Diğer marka telefonları da biraz kullanmış biri olarak, Samsung'un yazılım ve kullanıcı deneyimi açısından Android seçenekleri arasında oldukça iyi bir yerde olduğunu söyleyebilirim
    • Varsayılan klavyenin içine Grammarly gömülü olduğunu ve onay almadan tüm tuş girişlerini gönderdiğini öğrenince öfkelendim
      1200 dolarlık bir amiral gemisi cihazda böyle bir şey utanç verici
    • Sony telefonda Microsoft SwiftKey klavye varsayılan olarak yüklüydü
      “Android cihazınızda Microsoft SwiftKey Account kullanmayı seçmediyseniz, Microsoft SwiftKey'in oluşturduğu tüm kişisel ve dil verileri cihazda yerel olarak saklanır ve aktarılmaz” açıklaması var
      Etkin diller arasında doğal biçimde geçiş yaptığı için kullanıyorum; “meet me at Østerport Station” gibi cümleleri de akıcı şekilde yazabiliyorum
    • Samsung amiral gemilerinin donanımı en iyisi; OneUI'nin de TouchWiz dönemine kıyasla çok iyi hale geldiğini düşünüyorum
      Ancak sorun varsayılan yüklü uygulamalarda; bu yüzden bir Samsung telefon aldığımda ilk iş pm uninstall –k ––user 0 çalıştırıyorum
      Bağlantı verilen araç da aynı işi daha kullanışlı hale getiriyor, ancak Samsung hesabı veya Knox ile ilgili öğeler gibi custom ROM yüklemeden hâlâ kaldırılamayan şeyler var
  • Bu projenin bakımı 1 yıldır yapılmıyor
    En güncel bakımlı fork'a https://github.com/Universal-Debloater-Alliance/universal-an... adresinden bakılabilir

  • Bu projede kullanılan Android karşılığı komutlar kabaca şöyle
    dpkg --get-selections: adb shell pm list packages | sort
    dpkg -r : adb shell pm uninstall -k --user 0
    Durum çubuğu simgelerini gizlemek için sürüme bağlı olarak adb shell dumpsys activity service SystemUIService çalıştırıp “icon slots: ” satırını arayarak adları kontrol ettikten sonra adb shell settings put secure icon_blacklist battery,wifi,clock, ... gibi ayarlayabilirsiniz
    Bu komut mevcut engelleme listesini yeni listeyle değiştirir

    • Bu tür komutlarla yapılabilen çok sayıda belgelenmemiş ayar var; geliştiricilerin kendi ihtiyaçları için eklediği şeyler bunlar
      Örneğin Google'ın Android ve Pixel çekirdek ekiplerindeki çoğu kişi Wi-Fi ve veri anahtarlarını ayrı ayrı kullansa da, gerçek üründe ikisini birleştiren tek bir hızlı ayar kutucuğu sundular
      Yine de gizli bir ayarla iki kutucuk modunu geri getirmek mümkün; Google'da bunun neden sık sık yaşandığını bilmiyorum
  • Birkaç haftadır mobil cihazlar için açık kaynak özgür yazılım işletim sistemi geliştirmesine ne olduğunu düşünüyordum
    GrapheneOS, CalyxOS gibi işletim sistemleri neden yalnızca Alphabet Inc'in yaptığı telefonlarda kullanılabiliyor da diğer cihazlarda olmuyor; eski Linux tarzı geliştirmede olduğu gibi çeşitli donanım varyasyonlarını bir araya getirip neredeyse her cihaza sürücü ve destek sağlayan işletim sistemleri nereye gitti, merak ediyorum
    Mobil bilgisayar donanımı sektörü fazla mı korkmuş ve kilitlenmiş durumda; kullanıcılar kendi cihazlarına sahip olamayıp başka bir öznenin sahip olduğu cihazları kullanır hale mi geldi, merak ediyorum
    Yoksa birden fazla cihazı destekleyen işletim sistemlerinin olmamasının başka bir nedeni mi var; belki de bir şeyi kaçırıyorum

    • Mobil tarafta açık kaynak işletim sistemi yok denebilir
      GrapheneOS ya da CalyxOS da gerekli sürücülere erişemediği için, orijinal imajdan ikili blob'ları alıp birlikte dağıtıyor
      Bu yüzden bu projeler kapalı kaynak çekirdek sürücüleriyle dolu ve o ikili sürücüleri kullanabilmek için belirli çekirdek sürümlerine bağlı kalıyor
      Sonuçta açık kaynak sürümün yapabileceği en fazla şeyin farklı bir “sistem uygulamaları” paketi seçmek olduğu; pratikte bunun tema değiştirmekten biraz daha iyi bir seviyeye yakın olduğu iddia ediliyor
      Belirli bir X cihazını desteklemek istiyorsanız, bir root açığıyla ikili blob'ları ele geçirmeniz yeterli; ardından o cihaza dağıtım yapabilirsiniz
    • Örneğin https://androidauthority.com/grapheneos-3287030/ adresinde “Pixel'e özel gereksinimleri kabul etseniz bile” deniyor ama ben bunu hiç kabul etmeyi düşünmüyorum
      https://grapheneos.org/faq#supported-devices de kabul edilebilir değil
      Yanlış hatırlamıyorsam Alphabet/Google, Android işletim sistemini dağıtmak için fon almıştı; bir dönem donanım telefonu da çıkarıp sonra ortadan kaybolmuş, diğer şirketlerin bunu sürdürmesine izin vermiş, daha sonra tekrar ortaya çıkıp diğer üreticilerin emeğinden yararlanarak öne geçmiş gibi görünüyor
      Ama işletim sistemi yalnızca Google telefonlarında varsa ve diğer cihazlarda yoksa bunun normal olup olmadığını bilmiyorum; başkalarının emeğini korkakça kapmışlar gibi geliyor
      https://calyxos.org/#Devices adresindeki cihaz listesi eski http://web.archive.org/web/20230605161332/https://calyxos.or... listesine göre biraz artmış, ama OpenWRT, HyperWRT, DD-WRT, Tomato gibi şeylerle kıyaslanamaz
      Bu yüzden GrapheneOS ya da CalyxOS'a güvenmiyorum; Wi-Fi yönlendiricilerde birden fazla açık kaynak firmware'in çeşitli cihazları desteklemesine benzer bir akışı telefonlarda da görmek istiyorum
  • Fabrika ayarlarına döndürülmüş bir Xiaomi'de bu listelerden birini uygulamayı denedim ve yeniden başlatmadan hemen sonra cihaz bozuldu
    Giriş yaptıktan hemen sonra çöküyor ve kullanılamıyordu; sonunda düzelttim ama dikkatli olmak gerektiğini öğrendim
    Bir modelde zorunlu olan bir öğe, başka bir modelde varsayılan yüklü uygulama olabilir

    • Hangi paketi kaldırdığınızda böyle bir sorun çıktığını gösteren log'ları paylaşabilir misiniz, merak ediyorum
  • Bunun neden gerekli olduğunu anlamıyorum
    Telefon ayarlarından uygulamaları doğrudan devre dışı bırakabiliyorsunuz; bu aracın bundan fazladan ne sağladığı belirsiz
    FAQ'da kullanıcı profilinden ayrıca “kaldırdığı” ve önbellek ile verileri sildiği yazıyor, ama bunun tam olarak ne anlama geldiğini pek bilmiyorum

    • Bazı üretici varsayılan uygulamaları Android kullanıcı arayüzünden devre dışı bırakılamaz, ama ADB ile devre dışı bırakılabilir
    • Android TV'de ADB olmadan reklam dolu varsayılan launcher'ı devre dışı bırakamaz ya da kaldıramazsınız
    • Daha hızlıdır, ilk kurulumdan önce çalıştırılabilir ve standart paket arayüzüyle kaldırılamayan öğeleri de silebilir
  • Root edilmemiş Amazon Fire tabletleri ADB ile temizleyip özelleştirmeye yarayan benzer bir GUI aracı var
    https://xdaforums.com/t/windows-linux-tool-fire-toolbox-v33-...

  • Neden kaynaktan tamamen temiz bir Android derleyip doğrudan telefona kuramadığımızı merak ediyorum
    Bunu engelleyen şey ne

    • Genelde mümkün
      Ancak bootloader kilidi açılabilen bir telefon olması gerekir ve üretici birçok parçanın kaynak kodunu sağlamadığı için üreticinin birebir aynı imajını oluşturamazsınız
      Donanım destekleniyorsa LineageOS gibi topluluk tarafından bakımı yapılan bir işletim sistemi kurabilirsiniz
      Dezavantajı, Google Pay gibi uygulamaların artık çalışmayabilecek olmasıdır; çünkü Google'ın SafetyNet doğrulama sisteminden geçmeleri gerekir
      Bunu aşma yöntemleri de var, ama bana her zaman istikrarsız hack'ler gibi göründüler
    • Bunun nedeni kapalı kaynak cihaz sürücüleri
      Telefon pazarı 90'ların masaüstü pazarına benziyor
    • x86 PC platformunda önyükleme süreci ve donanım keşfi iyi standartlaştırılmıştır; işletim sistemi çalışırken bile çekirdeğin üzerine yazılabilir, bu yüzden mümkündür
      PC olmayan bilgisayarlarda bunlar garanti değildir
    • Google Pixel telefonlarda bunun yapılabildiğini biliyorum
      Kolay olduğu anlamına gelmez ama kaynak kodların hepsi var
    • Donanım desteği yüzünden
  • Android cihazlarda varsayılan yüklü uygulamaları kaldırmak için doğrudan ya da dolaylı olarak ADB tek seçenektir
    Eskiden kullandığım ucuz 10 inç Mediacom tablet de hangi aracı kullansam root edilemiyordu, ama gereksiz servisleri ve öğeleri kaldırmak ADB ile kolaylaştı
    Yine de epey riskliydi; sonunda Google servislerini artık çalıştıramıyor, ama e-posta kullanmaya ikna edemediğim 7-8 kişiyle iletişim kurmak için Whatsapp çalışıyor ve F-Droid'den indirme de mümkün, bu da benim için yeterli

  • Android cihazlardaki anlaşılması zor paketler için, her birinin gerçekte ne yaptığını ve devre dışı bırakıldığında ya da kaldırıldığında etkisinin ne olduğunu gösteren güncel bir listenin nerede bulunabileceğini merak ediyorum
    Özellikle görünüşte alakasız gibi duran bir paketi kaldırınca başka bir şeyin bozulması türünden paket bağımlılıklarını öğrenmek istiyorum