3 poin oleh GN⁺ 2024-03-18 | 1 komentar | Bagikan ke WhatsApp
  • Universal Android Debloater GUI adalah alat yang sepenuhnya menulis ulang UAD project yang lama dalam Rust, dengan tujuan meningkatkan privasi dan performa baterai dengan menghapus aplikasi sistem Android yang tidak diperlukan atau kurang dikenal
  • Dapat menghapus/menonaktifkan paket sistem tanpa root serta memulihkan/mengaktifkannya kembali, dan mendukung multi-pengguna, multi-perangkat, ekspor/impor pilihan, serta log tindakan
  • Paket didokumentasikan sejauh mungkin untuk membantu menilai apakah aman dihapus, tetapi menghapus paket sistem penting yang diperlukan untuk boot dapat menyebabkan bootloop
  • Pada perangkat tanpa root, aplikasi sistem sebenarnya tidak dapat dihapus sepenuhnya; setelah pembaruan OEM, beberapa aplikasi sistem yang “dihapus” bisa terpasang kembali sehingga alat perlu dijalankan lagi
  • Daftar dukungan mencakup Google/Facebook/Amazon/Microsoft, AOSP, OEM, operator seluler, Qualcomm/Mediatek, dan lainnya; debloat list terpisah disediakan menurut produsen dan operator

Tujuan Universal Android Debloater GUI

  • Universal Android Debloater GUI adalah proyek yang sepenuhnya menulis ulang UAD project dalam Rust
  • Tujuannya adalah meningkatkan privasi dan performa baterai dengan menghapus aplikasi sistem yang tidak diperlukan dan kurang dikenal
  • Penghapusan aplikasi sistem juga dapat membantu meningkatkan keamanan dengan mengurangi permukaan serangan
  • Proyek ini masih dalam tahap pengembangan awal, dan pengguna dianjurkan untuk memeriksa isu serta berkontribusi

Keamanan dan peringatan utama

  • Penggunaan dilakukan atas risiko sendiri, dan proyek tidak bertanggung jawab atas apa pun yang mungkin terjadi pada ponsel
  • Paket didokumentasikan sejauh mungkin agar pengguna dapat lebih memahami apakah paket tersebut boleh dihapus
  • Masalah terburuk adalah menghapus paket sistem penting yang diperlukan untuk boot sehingga terjadi bootloop
    • Setelah gagal boot sekitar 5 kali, ponsel akan otomatis reboot ke mode pemulihan
    • Dalam kasus ini, pengguna harus melakukan reset pabrik
    • Pengguna harus melakukan backup terlebih dahulu
  • Disebutkan bahwa perangkat tidak dapat menjadi brick karena perangkat lunak ini
  • Tanpa root, aplikasi sistem sebenarnya tidak dapat dihapus sepenuhnya; untuk detailnya, lihat FAQ

Fitur yang didukung

  • Mendukung Uninstall/Disable dan Restore/Enable paket sistem
  • Mendukung multi-pengguna, seperti aplikasi profil kerja
  • Pilihan dapat diekspor/diimpor sebagai uad_exported_selection.txt
  • Mendukung multi-perangkat, yaitu menghubungkan beberapa ponsel sekaligus
  • Semua tindakan dicatat dalam log agar pengguna tidak lupa tindakan yang telah dilakukan

Cakupan daftar debloat

  • Universal Debloat Lists mencakup kategori berikut
    • GFAM: Google, Facebook, Amazon, Microsoft
    • AOSP
    • Produsen (OEM)
    • Operator seluler
    • Qualcomm, Mediatek, dan lainnya
  • Debloat list produsen mendukung Asus, LG, Google, Fairphone, Huawei, Motorola, Nokia, OnePlus, Oppo, Realme, Samsung, Sony, Tecno, Unihertz, Vivo/iQOO, Xiaomi, ZTE, dan lainnya
  • Archos, Blackberry, Gionee, iQOO, HTC, TCL, dan Wiko belum diperiksa dalam daftar produsen
  • Debloat list operator mencakup negara dan operator berikut
    • Prancis: Orange, SFR, Free, Bouygues
    • AS: T-Mobile, Verizon, Sprint, AT&T
    • Jerman: Telekom
    • Inggris: EE

Prosedur penggunaan dan batasan

  • Pertama, baca FAQ dan lakukan backup data
  • Aktifkan Developer Options di smartphone, lalu nyalakan USB Debugging di panel developer
  • Putuskan tautan akun OEM di pengaturan
    • Jika paket akun OEM dihapus, ponsel bisa tidak lagi dapat mengaitkan identitas pengguna dan dapat tertahan di layar kunci
  • ADB perlu dipasang
    • Di Linux, pasang android-sdk-platform-tools atau android-tools menggunakan manajer paket sesuai distribusi
    • Di macOS, pasang android-platform-tools dengan Homebrew
    • Di Windows, unduh dan ekstrak android platform tools, lalu tambahkan ke PATH atau jalankan UAD dari direktori yang sama
    • Di Windows, pasang USB drivers untuk perangkat dan periksa apakah terdeteksi dengan adb devices
  • Rilis UAD GUI terbaru untuk sistem operasi dapat diperoleh dari releases
    • Gunakan versi opengl hanya jika versi backend Vulkan bawaan tidak dapat dijalankan
  • Pengguna ponsel Tiongkok mungkin memerlukan AOSP list untuk menghapus beberapa aplikasi bawaan
    • Ini terutama karena produsen Tiongkok seperti Xiaomi dan Huawei telah menggunakan nama paket AOSP untuk aplikasi mereka sendiri yang dimodifikasi dan bersumber tertutup
  • Jika OEM mendistribusikan pembaruan ke ponsel, beberapa aplikasi sistem yang “dihapus” dapat terpasang kembali, sehingga perangkat lunak ini perlu dijalankan lagi

Kontribusi

  • Proyek ini adalah proyek komunitas, dan cara berkontribusi dirangkum di How to contribute

1 komentar

 
GN⁺ 2024-03-18
Opini Hacker News
  • Baru-baru ini saya membelikan kerabat sebuah ponsel Samsung kelas menengah dengan harga resmi, dan jumlah aplikasi bawaan yang terpasang sulit dipercaya
    Ada berbagai jejaring sosial dan aplikasi belanja yang sudah terpasang, ditambah banyak aplikasi Samsung yang secara kikuk menduplikasi paket aplikasi Google
    Seluruh proses pengaturan awal penuh dengan dark pattern yang dirancang untuk mengambil data sebanyak mungkin, sehingga pengguna biasa tampaknya sulit melewatinya tanpa melewatkan sesuatu

    • Saat pertama kali memakai ponsel Samsung, sekitar dua minggu kemudian saya mengetahui bahwa setiap kata yang saya ketik di aplikasi apa pun dikumpulkan dan dikirim ke pihak ketiga
      Dalam kebijakan privasi perusahaan itu tertulis bahwa data digunakan untuk memperkirakan minat, kehidupan sosial, tingkat kecerdasan, dan pendidikan, serta dijual untuk “riset pasar” dan sebagainya
      Sulit bagi pengguna untuk mencurigai bahwa keyboard bawaan ponsel akan membuat pesan teks dan email mereka dibaca oleh pihak ketiga
      Saya baru mengetahuinya setelah secara tidak sengaja menekan lama sebuah tombol hingga jendela “about samsung keyboard” muncul, lalu mengikuti kebijakan privasi dari sana dan melihat ke perusahaan mana input tombol dikirim
      Saya langsung menggantinya dengan keyboard open source, dan mungkin berkat pengumpulan input dari semua pengguna, pemeriksa ejaan dan prediksi input Samsung keyboard memang sangat bagus
    • Ini mungkin fenomena yang terbatas di AS
      Tiga ponsel terakhir saya adalah Samsung seri S yang dijual di UE, dan yang bisa disebut “aplikasi bawaan pihak ketiga” hanya Facebook dan MS Office, keduanya mudah dihapus
      Aplikasi pengganti dari Samsung adalah soal selera; saya merasa beberapa di antaranya lebih nyaman dipakai daripada “asli” dari Google
      Berdasarkan pengalaman ringan memakai ponsel merek lain, Samsung termasuk pilihan Android yang cukup baik dari sisi software dan pengalaman pengguna
    • Saya marah ketika mengetahui bahwa Grammarly tertanam di keyboard bawaan dan mengirim semua input tombol tanpa persetujuan
      Hal seperti ini memalukan untuk perangkat flagship seharga 1.200 dolar
    • Di ponsel Sony, keyboard Microsoft SwiftKey terpasang secara bawaan
      Ada penjelasan bahwa “Jika Anda tidak memilih untuk menggunakan Microsoft SwiftKey Account di perangkat Android, semua data pribadi dan bahasa yang dibuat oleh Microsoft SwiftKey akan disimpan secara lokal di perangkat dan tidak dikirim”
      Saya memakainya karena bisa berpindah dengan natural di antara bahasa yang aktif, dan kalimat seperti “meet me at Østerport Station” juga bisa diketik dengan mulus
    • Menurut saya flagship Samsung punya hardware terbaik, dan OneUI juga sudah jauh membaik dibanding era TouchWiz
      Namun aplikasi bawaan tetap jadi masalah, jadi saat membeli ponsel Samsung, hal pertama yang saya lakukan adalah menjalankan pm uninstall –k ––user 0
      Tool yang ditautkan juga melakukan hal yang sama dengan cara yang lebih mudah digunakan, tetapi masih ada hal-hal yang tidak bisa dihapus tanpa memasang custom ROM, seperti item terkait akun Samsung atau Knox
  • Proyek ini sudah setahun tidak dipelihara
    Fork terpelihara terbaru bisa dilihat di https://github.com/Universal-Debloater-Alliance/universal-an...

  • Perintah padanan untuk Android yang dipakai proyek ini kira-kira seperti berikut
    dpkg --get-selections: adb shell pm list packages | sort
    dpkg -r : adb shell pm uninstall -k --user 0
    Untuk menyembunyikan ikon status bar, tergantung versi Anda bisa menjalankan adb shell dumpsys activity service SystemUIService, mencari “icon slots: ” untuk memastikan namanya, lalu mengaturnya seperti adb shell settings put secure icon_blacklist battery,wifi,clock, ...
    Perintah ini menimpa daftar blokir yang ada dengan daftar baru

    • Ada banyak pengaturan tidak terdokumentasi yang bisa dilakukan dengan perintah seperti ini, dan sebagian dimasukkan oleh para developer untuk kebutuhan mereka sendiri
      Misalnya, sebagian besar tim inti Android dan Pixel di Google tahu bahwa Wi-Fi dan data sebaiknya memakai toggle terpisah, tetapi produk nyatanya hanya merilis satu tile quick settings yang menggabungkan keduanya
      Meski begitu, mode dua tile bisa dipulihkan lewat pengaturan tersembunyi, dan saya tidak tahu mengapa hal seperti ini sering terjadi di Google
  • Sejak beberapa minggu lalu, saya terus memikirkan apa yang terjadi dengan pengembangan sistem operasi perangkat lunak bebas open source untuk perangkat mobile
    Saya bertanya-tanya mengapa sistem operasi seperti GrapheneOS dan CalyxOS hanya bisa dipakai di ponsel buatan Alphabet Inc dan tidak di perangkat lain; ke mana perginya sistem operasi yang, seperti pengembangan gaya Linux dulu, mengumpulkan berbagai variasi hardware untuk menyediakan driver dan dukungan bagi hampir semua perangkat
    Saya penasaran apakah industri hardware komputer mobile sudah terlalu takut dan terkunci, sehingga pengguna tidak benar-benar memiliki perangkatnya sendiri dan malah memakai perangkat yang dimiliki pihak lain
    Atau mungkin ada alasan lain mengapa tidak ada sistem operasi yang mendukung banyak perangkat, dan mungkin saya melewatkan sesuatu

    • Bisa dibilang tidak ada sistem operasi open source di mobile
      GrapheneOS maupun CalyxOS tidak bisa mengakses driver esensial, jadi mereka mengambil blob biner dari image asli dan mendistribusikannya bersama sistem
      Karena itu proyek-proyek seperti ini penuh dengan driver kernel closed source, dan terikat pada versi kernel tertentu agar bisa memakai driver biner tersebut
      Pada akhirnya, klaimnya, hal maksimal yang bisa dilakukan versi open source hanyalah memilih kumpulan “aplikasi sistem” yang berbeda, dan dalam praktiknya hanya sedikit lebih baik daripada sekadar mengganti tema
      Untuk mendukung perangkat tertentu X, cukup dapatkan blob biner melalui kerentanan root, lalu setelah itu bisa mendistribusikannya untuk perangkat tersebut
    • Misalnya di https://androidauthority.com/grapheneos-3287030/ disebutkan “meski harus menerima persyaratan khusus Pixel”, tetapi saya sama sekali tidak berniat menerima itu
      https://grapheneos.org/faq#supported-devices juga tidak bisa saya terima
      Kalau ingatan saya benar, Alphabet/Google menerima pendanaan untuk mendistribusikan sistem operasi Android, sempat merilis ponsel hardware sendiri lalu menghilang dan membiarkan perusahaan lain melanjutkannya, lalu kemudian muncul lagi dan tampak melaju di depan dengan memanfaatkan upaya para produsen lain
      Namun kalau sistem operasinya hanya ada di ponsel Google dan tidak di perangkat lain, saya tidak tahu apakah ini wajar, dan rasanya seperti secara pengecut merebut kerja keras orang lain
      Daftar perangkat di https://calyxos.org/#Devices memang sedikit bertambah dibanding versi lama http://web.archive.org/web/20230605161332/https://calyxos.or..., tetapi sama sekali tidak bisa dibandingkan dengan OpenWRT, HyperWRT, DD-WRT, atau Tomato
      Karena itu saya tidak mempercayai GrapheneOS maupun CalyxOS, dan ingin melihat tren serupa di ponsel seperti saat berbagai firmware open source untuk router Wi-Fi mendukung banyak perangkat
  • Saya pernah mencoba menerapkan salah satu daftar seperti ini pada Xiaomi yang sudah di-reset pabrik, dan perangkat langsung rusak setelah reboot
    Begitu login, langsung crash sehingga tidak bisa dipakai; akhirnya memang berhasil saya perbaiki, tetapi saya belajar bahwa ini harus dilakukan dengan hati-hati
    Item yang esensial di satu model bisa saja merupakan aplikasi bawaan di model lain

    • Saya penasaran apakah bisa membagikan log tentang paket mana yang dihapus sampai menyebabkan masalah seperti itu
  • Saya tidak paham mengapa ini diperlukan
    Aplikasi bisa langsung dinonaktifkan dari pengaturan ponsel, jadi tidak jelas apa tambahan yang diberikan alat ini dibanding itu
    FAQ menyebut penghapusan tambahan dari profil pengguna dan penghapusan cache/data, tetapi saya tidak begitu mengerti persis maksudnya

    • Beberapa aplikasi bawaan produsen tidak bisa dinonaktifkan lewat antarmuka pengguna Android, tetapi bisa dinonaktifkan dengan ADB
    • Di Android TV, tanpa ADB Anda tidak bisa menonaktifkan atau menghapus launcher bawaan yang penuh iklan
    • Lebih cepat, bisa dijalankan sebelum pengaturan awal, dan juga bisa menghapus item yang tidak bisa dihapus lewat antarmuka paket standar
  • Ada alat GUI serupa untuk merapikan dan mengustomisasi tablet Amazon Fire yang tidak di-root dengan ADB
    https://xdaforums.com/t/windows-linux-tool-fire-toolbox-v33-...

  • Saya penasaran mengapa tidak bisa mengompilasi Android yang benar-benar bersih dari source lalu memasangnya langsung ke ponsel
    Apa yang menghalangi hal itu

    • Secara umum itu mungkin
      Namun ponselnya harus bisa dibuka kunci bootloader-nya, dan karena produsen tidak menyediakan source untuk banyak bagian, Anda tidak bisa membuat image yang persis sama dengan milik produsen
      Jika hardwarenya didukung, Anda bisa memasang sistem operasi yang dipelihara komunitas seperti LineageOS
      Kekurangannya, aplikasi seperti Google Pay mungkin tidak lagi berfungsi, karena harus lolos sistem attestasi SafetyNet milik Google
      Ada juga cara untuk mengakalinya, tetapi bagi saya selalu terlihat seperti hack yang rapuh
    • Karena driver perangkat closed source
      Pasar ponsel mirip dengan pasar desktop tahun 90-an
    • Di platform PC x86, proses boot dan penemuan hardware sudah sangat terstandardisasi, dan kernel bisa ditimpa meski sistem operasi sedang berjalan, jadi hal itu memungkinkan
      Pada komputer non-PC, hal-hal seperti ini tidak dijamin
    • Setahu saya, itu bisa dilakukan di ponsel Google Pixel
      Bukan berarti mudah, tetapi semua kode sumbernya ada
    • Karena dukungan hardware
  • Untuk menghapus aplikasi bawaan di perangkat Android, baik langsung maupun tidak langsung, ADB adalah satu-satunya pilihan
    Tablet Mediacom 10 inci murah yang dulu saya pakai juga tidak bisa di-root dengan alat apa pun, tetapi menghapus layanan dan item yang tidak perlu jadi mudah dengan ADB
    Namun ini cukup berisiko, sehingga akhirnya layanan Google tidak bisa lagi berjalan, tetapi WhatsApp untuk menghubungi 7–8 orang yang tidak berhasil saya bujuk memakai email masih bisa, dan unduhan dari F-Droid juga bisa, jadi bagi saya sudah cukup

  • Saya penasaran di mana bisa menemukan daftar terbaru tentang paket-paket yang sulit dipahami di perangkat Android, yang menjelaskan apa sebenarnya fungsi masing-masing paket dan apa dampaknya jika dinonaktifkan atau dihapus
    Secara khusus, saya ingin tahu tentang dependensi paket, seperti ketika menghapus satu paket yang sekilas tampak tidak terkait ternyata membuat hal lain rusak