Skip to content
Snippets Groups Projects
smartphone.mdwn 7.37 KiB
Newer Older
  • Learn to ignore specific revisions
  • rhatto's avatar
    rhatto committed
    [[!meta title="Smartphone"]]
    
    
    rhatto's avatar
    rhatto committed
    [[!toc levels=4]]
    
    rhatto's avatar
    rhatto committed
    
    Objetivo
    --------
    
    
    rhatto's avatar
    rhatto committed
    * Ter um smartphone disponível e funcional sempre que preciso.
    * Reduzindo ao máximo as perdas de privacidade e segurança.
    * Estabilidade de longo prazo: escolhas de hardware, software e configuração duráveis.
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    Sistema escolhido
    -----------------
    
    Para este estudo, o sistema escolhido foi o [LineageOS](https://lineageos.org).
    
    ### Prós
    
    rhatto's avatar
    rhatto committed
    
    * Código mais aberto.
    * Risco menor de backdoors.
    * Google Apps não-mandatório.
    
    
    rhatto's avatar
    rhatto committed
    ### Contras
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    * Menor base de aplicativos.
    
    rhatto's avatar
    rhatto committed
    * Atualizações de segurança mais lentas.
    
    rhatto's avatar
    rhatto committed
    * Ainda dependente de um ecossistema tecnotóxico.
    * No caso de root no dispositivo, há redução de segurança.
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    Modelo escolhido
    ----------------
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    Para este estudo, o modelo escolhido foi o Moto E.
    
    ### Prós
    
    * Custo relativamente baixo.
    * Bom suporte ao LineageOS.
    
    ### Contras
    
    * Sem flash.
    * Bateria não-removível.
    * Jack de áudio não é compatível com qualquer conector.
    
    Checklist
    ---------
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    Iterador básico para a manutenção do smartphone:
    
    * Destravamento do bootloader.
    * Instalação ou atualização do recovery.
    * Instalação do LineageOS.
    * [Criptografia do armazenamento interno](https://source.android.com/security/encryption/full-disk).
    * Configuração de senha e intervalo de travamento (após cifrar o armazenamento).
    * Ferramentas de desenvolvimento habilitadas.
    * Restaurar backups e configurações, caso existam.
    * Configurações de aparência e comportamento.
    * Apps:
        * VPN.
        * Editor.
        * LibreSignal.
        * Barcode Scanner.
        * [Scuttloid](https://f-droid.org/packages/gr.ndre.scuttloid/).
        * [MPDroid](https://f-droid.org/packages/com.namelessdev.mpdroid/).
    * Teste e correções.
    * Realização de backups.
    * Upgrade:
        * Atualizar ROM.
        * Atualizar apps via F-Droid.
        * Atualizar apks manualmente.
        * Alguns apps podem ser auto-autualizáveis.
    
    Detalhes a seguir sobre algumas das etapas acima elencadas.
    
    Destravamento
    -------------
    
    Este procedimento é específico para alguns aparelhos para que o bootloader
    possa ser desbloqueado, como é o caso do modelo escolhido:
    
    rhatto's avatar
    rhatto committed
    
        # stretch onwards: sudo apt install adb fastboot
        sudo apt install android-tools-adb android-tools-fastboot
    
        1 20160410 14:55:06 user@box:~ $ adb reboot bootloader
        0 20160410 14:55:22 user@box:~ $ fastboot devices
        0012711246      fastboot
        0 20160410 14:55:40 user@box:~ $ fastboot oem get_unlock_data
        ...
        (bootloader) [...]
        OKAY [  0.235s]
        finished. total time: 0.235s
        0 20160410 14:56:01 user@box:~ $ fastboot oem unlock $code
        ...
        (bootloader) Check 'Allow OEM Unlock' in Developer Options.
        FAILED (remote failure)
        finished. total time: 0.007s
        1 20160410 15:30:32 user@box:~ $ fastboot devices
        0012711246      fastboot
        0 20160410 15:30:49 user@box:~ $ 
    
    
    rhatto's avatar
    rhatto committed
    Recovery
    --------
    
    rhatto's avatar
    rhatto committed
    
    Usando o [TWRP para Moto E surnia](https://twrp.me/devices/motorolamotoelte.html):
    
        adb reboot bootloader
        fastboot flash recovery recovery.img
        fastboot reboot
    
    
    rhatto's avatar
    rhatto committed
    Instalação
    ----------
    
    Detalhes de instalação já são bem cobertos pela documentação do LineageOS,
    incluindo a ativação do ADB:
    
    rhatto's avatar
    rhatto committed
    * [Update and build preparation](http://lineageos.org/Update-and-Build-Prep/).
    
    rhatto's avatar
    rhatto committed
    * [Moto E surnia builds](https://download.lineageos.org/surnia).
    
    rhatto's avatar
    rhatto committed
    * [Verifying builds](http://wiki.lineageos.org/verifying-builds.html).
    
    rhatto's avatar
    rhatto committed
    * [Info about surnia | LineageOS Wiki](https://wiki.lineageos.org/devices/surnia).
    * [Install LineageOS on surnia | LineageOS Wiki](https://wiki.lineageos.org/devices/surnia/install).
    
    rhatto's avatar
    rhatto committed
    * [Using ADB and fastboot | LineageOS Wiki](https://wiki.lineageos.org/adb_fastboot_guide.html).
    
    rhatto's avatar
    rhatto committed
    Backups
    -------
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    Usaremos o [adb-sync](https://github.com/google/adb-sync) e o [adb-export](https://github.com/snatik/adb-export):
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Parâmetros
    
    rhatto's avatar
    rhatto committed
        date="`date +%Y%m%d`"
        base="/storage/emulated/0"
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        mkdir $date && cd $date
    
        # Se você tiver um backup antigo e quiser aproveitá-lo com hardlinks:
        cp -alf /path/to/previous/backup/files files
    
        # Garante a existência da pasta de arquivos
        mkdir -p files
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Contatos
        # Exportar também para .vcf direto do aplicativo de contatos
        adb-export.sh           -e    content://com.android.contacts/contacts
        adb shell content query --uri content://com.android.contacts/contacts > contacts.rows
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Configurações
        adb backup -all
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Arquivos: cópia completa
        #adb pull $base files/
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Remover cache multimídia do backup
        #rm -rf files/Music
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Arquivos: cópia completa básica
        #adb shell ls -1 $base | grep -v ^Music | while read file; do
        #  adb pull $base/$file files/
        #done
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
        # Arquivos: cópia incremental básica
        adb shell ls -1 $base | grep -v ^Music | while read file; do
          adb-sync --delete --reverse $base/$file files/
        done
    
    rhatto's avatar
    rhatto committed
    
    
    rhatto's avatar
    rhatto committed
    Restauro
    --------
    
    A partir de um sistema recém-instalado:
    
        # Arquivos: cópia completa
        #for file in `ls $backup`; do
        #  adb push $backup/$file files/
        #done
    
        # Arquivos: cópia incremental
        for file in `ls $backup`; do
          adb-sync --delete $backup/$file files/
        done
    
        # Configurações
    
    rhatto's avatar
    rhatto committed
        adb restore backup.ab
    
    
    rhatto's avatar
    rhatto committed
    ## Subir músicas
    
    Podem ser enviadas a partir de acervos compatíveis com o [playlister](https://git.fluxo.info/playlister/about/):
    
        playlist-copy <playlist> adb
    
    
    rhatto's avatar
    rhatto committed
    Dicas
    -----
    
    
    rhatto's avatar
    rhatto committed
    ## Escondendo arquivos do mídia player
    
    rhatto's avatar
    rhatto committed
    
        touch /storage/emulated/0/SomeApp/Media/.nomedia
    
    
    rhatto's avatar
    rhatto committed
    Via [Hide Certain Files in Android Music Player (or Photo Gallery)](http://www.guidingtech.com/15563/hide-certain-files-android-music-player-photo-gallery/).
    
    ## Checagem de fingerprint do ADB
    
    rhatto's avatar
    rhatto committed
    
        awk '{print $1}' < ~/.android/adbkey.pub | openssl base64 -A -d -a | openssl md5 -c | \
        awk '{print $2}' | tr '[:lower:]' '[:upper:]'
    
    
    rhatto's avatar
    rhatto committed
    Via [Validating the Android 4.2.2 RSA fingerprint](https://shred.zone/cilla/page/374/validating-the-android-422-rsa-fingerprint.html).
    
    ## Instalação manual de apps
    
        adb install app.apk
    
    ## Movendo arquivos do sdcard para o armazenamento interno
    
        adb shell
        cd /storage/emulated/0
        mv /storage/1FAC-34C3/Music/* Music/
    
    
    rhatto's avatar
    rhatto committed
    Referências
    -----------
    
    
    rhatto's avatar
    rhatto committed
    * Aplicativos interessantes: snoopsnitch.
    
    rhatto's avatar
    rhatto committed
    * [Modificações de hardware](https://web.archive.org/web/20160402005909/https://people.torproject.org/~ioerror/skunkworks/moto_e/).
    
    rhatto's avatar
    rhatto committed
    * [List of custom android firmware](https://en.wikipedia.org/wiki/List_of_custom_Android_firmware).
    
    rhatto's avatar
    rhatto committed
    * [Fossdroid: Free and open source Android apps](https://fossdroid.com/).
    * Backups:
        * [Android: How to Backup Contacts and SMS Messages | chombium's blog](https://chombium.wordpress.com/2012/09/30/android-how-to-backup-contacts-and-sms-messages/), but requires root on recent androids.
        * [Does adb backup include contacts? - Android Enthusiasts Stack Exchange](https://android.stackexchange.com/questions/85269/does-adb-backup-include-contacts).
        * [GitHub - stachre/dump-contacts2db: Bash script that dumps contacts from an Android contacts2.db to stdout in vCard format. Especially helpful when the device is inop or missing, with only a contacts2.db file available (from backup, etc.) to migrate contac](https://github.com/stachre/dump-contacts2db).
        * [Full Phone Backup without Unlock or … | Samsung Galaxy Nexus](https://forum.xda-developers.com/galaxy-nexus/general/guide-phone-backup-unlock-root-t1420351).
        * [How to use ADB backup to back up your unrooted phone - Pocketables](http://www.pocketables.com/2012/09/how-to-use-adb-backup-to-back-up-your-unrooted-phone.html).