Liberating Mobiles

From FSMI WIKI
Revision as of 16:52, 19 July 2021 by Bhavabhuthi (talk | contribs) (Added recommendations table)
Jump to navigation Jump to search

Introduction

What is Mobile Freedom?

Majority of the modern day devices be it TV, Mobiles, Smartwatch, etc., come with a pre-loaded software called “Google Android”. With the surveillance capitalist model of data platforms, the surveillance capitalist giants and their minions collect an overwhelming data from these devices we own. With many historical revelations, we have known that these surveillance capitalist giants have been indulging in mass surveillance for the benefit of their interests

The giants with their tentacles in media have been trying to convince that Privacy is impossible and that we have to beg them for privacy features. The primary reason for this kind of subjugation is that the software is Proprietary. For example, the Google Android installed in your mobile is not free software. The AOSP whose code is public has been combined with the Proprietary Google Software before installing in the devices (and sometimes combined with the Proprietary software from the OEMs).

Mobile Freedom is a call to action to liberate mobile devices from the clutches of the proprietary software shipped with the devices users own.

Why Mobile Freedom/ De-googlification?

Proprietary systems, even most Android phones, are designed to hand over this data to companies like Google. Most users do not have full control over the personal data on their device.

Privacy is impossible without free software. Proprietary add-ons like Carrier IQ spies on smartphone users without their knowledge. Many Proprietary apps contain malicious features. They read your private data, such as your address book, and “phone home”, or they use trackers to send data to third party companies without informed consent of the user. These are just a few examples out of many that had been discovered so far. The lack of software freedom impedes independent inspection, and secret spy features only become known by accidents or data leaks.

Most smartphones require you to connect and identify yourself to a server running proprietary software before you can use them. Users have to trust the server without knowing what information stored and how it is processed or related to other data. A phone running on Free Software respects user privacy. The convenience of “value-added” services that are often coupled with proprietary apps can be provided using Free Software as well. This keeps you in control of your personal data.

How to liberate your mobile?

Millions of smartphones are shipped every year, and they come in different shapes, sizes, and configurations. All of them are vendor-locked. The majority of these devices come preinstalled with proprietary apps from Google and the device manufacturers. These apps are non-removable, making it difficult for the user to remove these apps.

Users can achieve mobile freedom by replacing Google Android with a de-googlified Android. Unlocking the phone (bootloader, not to be confused with unlocking screen) is necessary for the scenario. This may vary from one device manufacturer to another.

In few cases, the device manufacturer restricts the user to unlock their phones(bootloader). In these scenarios, the user can de-googlify by removing the proprietary google applications and other malware.

This has been explained in detail in the following sections:

  • Remove Proprietary Google Applications
  • Replacing Google Android with Custom De-googlified Android

Few steps are prerequisites for the user to be prepared for the de-googlification procedures explained in the following sections.

Prerequisites

Enable USB debugging in your Phone

  • The process varies based on the make and model. But the overall process can be generalized to the following steps.
  • Open Settings on your phone.
  • Open About Phone menu in the Settings menu.
  • Tap multiple times on Build Number in the About Phone screen until a toast appears confirming that you are a developer.
  • Now go back to the Settings menu and search for Developer Options.
  • In the Developer Options screen, toggle the USB Debugging option.
  • Once you have installed ADB on your PC as explained in next section, connected your device and run the adb devices command, you will see a Allow USB debugging prompt asking for permission to connect. Allow to establish the ADB connection.

INSTALL ADB IN YOUR SYSTEM

Install in GNU/Linux
  • Below are steps for different flavors:
 Debian-based GNU/Linux users can type the following command to install ADB:
 sudo apt-get install android-tools-adb
 
 Fedora/SUSE-based GNU/Linux users can type the following command to install ADB:
 sudo yum install android-tools
  • Now connect the Android device to your computer and execute the adb devices command in the terminal.
Install in Windows
  • Download the ADB Platform Tools for Windows from Official Link. Once downloaded, extract the contents of this file on your Windows PC.
  • Open the extracted folder and open command prompt in the same location.
  • Now connect the Android device to your computer and execute the adb devices command in the same command prompt.
Install in macOS
  • The guide uses Homebrew package manager to install ADB tools.
  • Open the Terminal on your Mac and execute the below command. It will install Homebrew on your Mac. During the installation, it might ask for your password. The whole installation will take about 10 mins.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • After that, install the ADB platform-tools from the below command.

brew cask install android-platform-tools

  • Now connect the Android device to your computer and execute the adb devices command in the terminal.

Remove Proprietary Google Applications

1. Open your terminal and run adb devices. You should be able to see your device on the list.
2. Now run, adb shell
3. Now run the below command to remove the application. Replace the <Package Name> with the respective package name from the table below:

pm uninstall -k --user 0 <Package Name>

App Name Package Name
Google Play Store com.android.vending
YouTube com.google.android.youtube
Google Maps com.google.android.apps.maps
Google Duo com.google.android.apps.tachyon
Google Play Music com.google.android.music
Google Play Videos com.google.android.videos
Google Play Games com.google.android.play.games
Google Play Books com.google.android.apps.books
Google Chrome com.android.chrome
Google Docs com.google.android.apps.docs.editors.docs
Google Photos com.google.android.apps.photos
Google Drive com.google.android.apps.docs

4. To replace the above removed applications, below is a list of recommendations:

Utility Application Source
Web Browsing Fennec https://f-droid.org/en/packages/org.mozilla.fennec_fdroid/
Email Client K-9 Mail https://f-droid.org/en/packages/com.fsck.k9/
Instant Messaging Signal https://signal.org/en/
SMS QKSMS https://f-droid.org/en/packages/com.moez.QKSMS/
Multimedia VLC Player https://f-droid.org/en/packages/org.videolan.vlc/
Gallery Simple Gallery Pro https://f-droid.org/en/packages/com.simplemobiletools.gallery.pro/
Notes Standard Notes https://f-droid.org/en/packages/com.standardnotes/
Contacts Simple Contacts https://f-droid.org/en/packages/com.simplemobiletools.contacts.pro/
Files Materail Files https://f-droid.org/en/packages/me.zhanghai.android.files/
Maps OsmAnd+ https://f-droid.org/en/packages/net.osmand.plus/
Search Engine SearX https://search.fsftn.org/
Camera OpenCamera https://f-droid.org/en/packages/net.sourceforge.opencamera/
Authenticator FreeOTP+ https://f-droid.org/en/packages/org.liberty.android.freeotpplus/
Calender Etar https://f-droid.org/en/packages/ws.xsoh.etar/
Email Service RiseUp Mail https://mail.riseup.net/rc/
Password Manager Bitwarden https://bitwarden.com/

Replace Proprietary Android Operating System

Introduction

An Android System is very similar to Debian or any other freedom operating systems.

General Procedure

1. Pre-requisites

  1. A desktop/laptop with ADB and Fastboot installed.
  2. A data compatible USB cable [Beware of cables that only support power!] for the device you want to liberate.

2. Search for custom Recovery for your specific device model.
3. Search for a supported custom ROM for your device in device specific forums on forum.xda-developers.com. Be sure to download ROM from official sources without GApps preinstalled.
4. Unlocking phone boot-loader

  1. Go to Settings
  2. Click on About Phone
  3. Tap 5 times on the build information(number). You will get a message saying "Developer settings enabled."
  4. Now go back to Settings and go to Developer Options (mostly will be in System options/ you can search for it)
  5. Enable OEM unlocking and USB debugging.
  6. Now, connect your phone to the system. There will be a popup on the mobile asking for USB debugging. Click Allow.
  7. Open terminal in system and enter,
                                       adb reboot fastboot
  8. Now, your mobile will go into a fastboot mode. Now, In your system terminal, run the following command  
                                       fastboot oem unlock
  Note: This method will not work for all devices. Some devices need additional steps to accomplish this step. Please refer to next sections for device specific guides to unlock bootloader. Various company devices have various specific methods to unlock the bootloader.

5. Install the custom ROM into the Device and you are good to go.
6. Set up your backed up applications.

Alternatives

The Alternatives to proprietary software has been discussed in detail here.

References

1. https://forum.xda-developers.com/t/info-android-device-partitions-and-filesystems.3586565/

2. https://www.xda-developers.com/install-adb-windows-macos-linux/

3. https://beebom.com/how-to-install-adb-windows-mac/.