Replicant

Índice

Introdução ^

Imagem do logo do Projeto Replicant
Logo do Projeto Replicant

O Replicant é uma distribuição Android auditada e certificada pela Fundação de Software Livre. Isso significa que o Replicant é uma versão do Android, sistema operacional dedicado a dispositivos móveis, composta exclusivamente por software livre. Todos os programas proprietários, firmwares e aplicativos, foram removidos ou substituídos por versões livres. Seu desenvolvimento é realizado pela comunidade hacker de software livre, que possibilita o compartilhamento de tecnologias e maior segurança, pois as licenças livres garantem a liberdade de executar, consultar, modificar e distribuir cópias dos programas.

As barreiras de controle proprietário, capitalista, dificultam o desenvolvimento. Por isso, o Replicant suporta apenas alguns modelos de smartfones e tabletes e, dependendo do modelo, determinados dispositivos internos como Wi-Fi, câmera, gps e etc, podem não funcionar. Então, é preciso estar firme no propósito de emancipação da classe trabalhadora, porque usar o Replicant exige abrir mão deles. Mas os benefícios são muito maiores que os sacrifícios, visto que o Replicant é o único sistema operacional para dispositivos móveis sem controles proprietários.

Instalação ^

O processo de instalação do Replicant não é muito complicando, mas exige atenção para não fazer seu dispositivo ficar inutilizável. Não está no escopo desse guia cobrir a instalação, mesmo porque ela muda de acordo com o modelo do dispositivo a ser instalado. Se você quiser fazer a instalação, tenha em mente a lista de modelos suportados e o manual de instalação do projeto. Caso queira, podemos fazer a instalação para você, enquanto nos ajuda a manter as atividades da Brigada. Entre em nossa página de equipamento e veja como pedir um dispositivo com Replicant.

Imagem de dois smartfones à esquerda Samsung Galaxy Note 2 N7100 e à direita Samsung Galaxy S3 I9300
Samsung Galaxy Note 2 N7100 e Samsung Galaxy S3 I9300

Operadoras de telefonia móvel ^

A primeira coisa que geralmente fazemos antes mesmo de ligar os dispositivos móveis é instalar o cartão eSim para acessar as redes operadas pelas empresas de comunicação de dispositivos móveis. Contudo, é importante salientar que essas redes são ruins, porque as operadoras podem rastrear seu dispositivo, obtendo sua localização aproximada, conexões de internet, escutar suas ligações, ler suas mensagens SMS, etc. Então, para evitar esses mecanismos de vigilância, não utilize chip eSIM de telefonia móvel e se comunique através da internet pelas redes Wi-Fi.

Caso necessite das chamadas telefônicas ou do acesso à internet móvel, leve em consideração esses problemas de segurança. É possível minimizá-los se comunicando pela internet trafegando pelas redes de anonimato como, por exemplo, i2p ou Tor, mantendo, assim, sua comunicação criptografada e oculta, protegida da vigilância da operadora. Orbot e Invizible Pro são aplicativos fáceis de configurar que direcionam todo o fluxo de internet do dispositivo para a rede de anonimato Tor. Fazendo com que os aplicativos de mensagens, voz e vídeo usem as redes de anonimato.

Android Debug Bridge (ADB) ^

A primeira coisa a fazer quando se tem um Replicant é instalar o ADB no seu computador para poder manipular o dispositivo móvel. O ADB é um programa de linha de comando muito poderoso que conecta o desktop ao sistema do smartfone/tablets para realizar diversas operações como, por exemplo, configurar conexões de rede, empurrar e puxar arquivos, fazer backup, e etc, e será necessário para realizar tópicos importantes deste guia.

Tenha cuidado ao executar qualquer operação com ADB, pois ele tem a capacidade de realizar alterações profundas no sistema que pode comprometer seu funcionamento.

Instalação do ADB

Para instalar o ADB no desktop, siga as instrução abaixo referentes ao seu sistema operacional.

Parabola e Hyperbola

pacman -S android-tools android-udev heimdall

Trisquel e PureOS

apt install android-tools-adb android-tools-fastboot heimdall-flash

GNU Guix

guix install adb heimdall fastboot mkbootimg

Acesso superusuário

Habilite o acesso a superusuário para aplicativos e ADB.

Configurações -> Opções do desenvolvedor -> Acesso superusuário -> Aplicativos e ADB

Depuração Android

Habilite a interface de Ponte de Depuração Android (adb):

Configurações -> Opções do desenvolvedor -> Depuração Android

Conecte o smartfone ao computador através de cabo microUSB/USB. Uma mensagem é exibida no smartfone pedindo permissão para ativar a depuração USB com o computador. Confirme.

Verifique se a conexão entre o Replicant e o desktop está ativa usando o terminal com o comando:

adb devices

Se estiver tudo correto, o terminal exibirá o número serial do smartfone seguido de device.

Backup e restauração da partição do modem efs ^

Muitos dispositivos suportados pelo Replicant têm uma partição com os dados do modem (IMEI, etc) que é chamado de EFS. É uma boa ideia fazer um backup dessa partição para que você possa restaurá-la se algum arquivo se corromper, o que às vezes pode acontecer com o Replicant. Sem esse backup o modem torna-se inutilizável.

A operação de backup tem especificidades em relação aos diferentes modelos. Entre na página do projeto e siga as orientações sobre backup da partição EFS, e, caso precise, as orientações de restauração.

É muito importante fazer esse backup, pois a possibilidade de corrupção de arquivos na partição EFS é real e sem uma cópia funcional dos arquivos para a devida correção o modem torna-se inutilizável.

Tela de Bloqueio ^

Para manter seguro o sistema e os arquivos de acesso físico não autorizado ao dispositivo é importante definir uma senha de bloqueio da tela. Para tanto, siga o caminho abaixo e as instruções do sistema.

Configurações -> Tela de bloqueio -> Bloqueio de tela

Criptografia do sistema ^

O principal objetivo do Replicant é manter a segurança dos arquivos dos usuário. Então, criptografar seu dispositivo garante que ninguém com acesso físico consiga ler, escrever ou copiar seus arquivos. O Replicant suporta criptografar seu dispositivo, defendendo-o contra esses acessos não autorizados. A criptografaria é habilitada no caminho indicado abaixo.

Configurações -> Segurança -> Criptografar o Telefone

Siga as demais instruções do sistema. A bateria precisa estar com, pelo menos, 80% de carga e, além disso, carregando (plugado na fonte de energia e não na entrada USB do computador). A criptografia não deve ser interrompida para não danificar o sistema e nem perder os seus dados.

Wi-Fi ^

O Wi-Fi interno dos dispositivos suportados pelo Replicant não funcionam com firmware livre. A solução, então, é adicionar um dongle Wi-Fi USB externo através da porta microUSB fêmea que suporte firmware livre. Os modelos de Wi-Fi com chip Qualcomm Atheros AR9271 funcionam bem com o firmware livre Atheros ath9k e são facilmente encontrados no mercado. Nós também vendemos adaptadores compatíveis com Replicant e com Gnu/Linux-libre. Se tiver interesse, entre em nossa página de equipamento e dispositivos para mais informações.

Contudo, os smartfones e tablets dificilmente aguentam alimentar um dispositivo externo, ocasionando instabilidade e rápido consumo da bateria. Então a solução é conectar o dongle Wi-Fi através de um Cabo Y (três plugues) com pulgos USB fêmea, microUSB macho e microUSB fêmea (ou USB macho), e fornecer alimentação de energia ao dongle diretamente.

O processo é simples, plugamos o dongle Wi-Fi na entrada USB fêmea do Cabo Y; a fonte de alimentação externa na entrada microUSB fêmea; e, o smartfone/tablet na entrada microUSB macho. Depois, no Replicant, basta habilitar o Wi-Fi pelo menu suspenso ou nas configurações de Wi-Fi e escolher uma rede para se conectar.

Tethering ^

Tethering é o compartilhamento de internet entre dispositivos através do Wi-Fi ou USB.

Tethering Wi-Fi

A configuração do compartilhamento da internet do Replicant para outros dispositivos através do Wi-Fi é realizada no caminho a seguir. Lembre-se de conectar o dongle USB Wi-Fi.

Configurações -> Mais -> Tethering de acesso portátil -> Configurar ponto de acesso Wi-Fi

Depois de configurar o tethering Wi-Fi, habilite-o no caminho a seguir.

Configurações -> Mais -> Tethering de acesso portátil -> Ponto de acesso Wi-Fi portátil

Tethering USB

O compartilhamento da internet do Replicant via USB para outro dispositivos é realizada no caminho a seguir.

Configurações -> Mais -> Tethering de acesso portátil -> Vínculo USB

Tethering USB Reverso

É o compartilhamento da internet do computador desktop para o Replicant. Nesse caso, é necessário fazer algumas operações pelo ADB para para enviar o script que cria a rede no Replicant e criar a rede no computador desktop

Primeiramente, instale o wget.

apt install wget

Faça o download do script do Replicant.

wget https://git.replicant.us/replicant/vendor_replicant-scripts/plain/networking/usb/usb_networking_device.sh

Edite o script para ajustar o serviço de DNS primário e secundário.

nano usb_networking_device.sh

Altere o valor de DNS1 para 10.42.0.1 e DNS2 para 10.42.1.1.

DNS1 devem ficar assim:

DNS1="10.42.0.1"

e DNS2 assim:

DNS2="10.42.1.1"

Agora inicie o adb como root.

adb root

Empurre o script usb_networking_device.sh para /data.

adb push usb_networking_device.sh /data/

Altere sua propriedade para execução.

adb shell "chmod a+x /data/usb_networking_device.sh"

Inicie a primeira etapa da conexão de tethering reverso.

adb shell "/data/usb_networking_device.sh start1"

Configure uma conexão ethernet (ou wired) no computador de mesa com o dispositivo móvel conectado na porta usb (Geralmente esse passo é acessível pelo applet do Network Manager da barra de ferramentas).

  1. No applet do Network Manager, crie uma nova conexão "Ethernet" ou "Wired"
  2. Na aba para configurações IPv4, selecione o método "Compartilhado com outros computadores"
  3. Salve a conexão com um nome distinguível como, por exemplo, "Replicant USB Reverso"
  4. Na aba Ethernet, selecione a conexão para o dispositivo ethernet (eno ou enp3s0)
  5. Agora execute a segunda etapa do script de criação do tethering reverso
adb shell "/data/usb_networking_device.sh start2"

Para desconectar o Replicant e o computador.

adb shell "/data/usb_networking_device.sh stop"

Cartão de Memória ^

Os modelos suportados pelo Replicant geralmente possuem pouca memória interna de armazenamento, trazendo a necessidade expansão através de cartão SD, que pode ser de até 64GB. A expansão pode ser configurada para armazenamento portátil ou armazenamento interno. O armazenamento portátil geralmente é utilizado para transferência de arquivos entre dispositivos como, por exemplo, fotos e músicas. Já a configuração como armazenamento intento possibilita que as aplicações utilizem o cartão SD para armazenar arquivos. Isso aumenta a capacidade de armazenamento, mas o cartão só funcionará no equipamento.

É possível instalar alguns aplicativos no cartão de memória quando configurado como armazenamento interno. Contudo, a instalação de aplicativos no cartão SD, eventualmente causa instabilidade gerando reinicializações e, eventualmente, corrupção do sistema e reinicializações em loop. Então, não faça a instalação de aplicativos no cartão SD.

Certificado Let's Encrypt ^

A autoridade certificadora Let's Encrypt, muito utilizada nas aplicações de internet, pois gera certificados gratuitamente, atualizou seu certificado logo após o lançamento do Replicant versão 6.0004. Então, o Replicant reclama da confiabilidade de seus certificados. Para resolver essa questão, é necessário inserir manualmente o certificado atualizado. Basta seguir o tutorial do Navegador Privado para resolver essa questão.

Aplicativos indicados ^

O Replicant removeu a loja de aplicativos do F-Droid, porque o repositório não segue as Diretrizes para Distribuições de Sistemas Livres (FSDG) do Projeto GNU. Então, fizemos uma lista de aplicativos livres (GNU General Public License v3.0) úteis que podem ser baixados diretamente do repositório e instalados.

AplicativoDescrição
Acrylic Paint Pintura simples com o dedo
Aegis Authenticator Gerenciador de autenticação de 2 fatores - 2FA
Aggregator Simples e flexível leitor de notícias
AntennaPod Um player de podcasts fácil de usar, flexível e de código aberto
aTox Cliente de mensagens privada p2p
AVNC Cliente VNC rápido e seguro
Binary Eye Mais um leitor de código de barras
Briar Aplicativo de mensagens p2p destinado para ativistas, jornalistas e pessoas que precisam de segurança
Buran Navegador simples para o protocolo Gemini
Call Recorder Gravador de chamadas simples, sem anúncios, código aberto
ConnectBot Cliente SSH e Telnet e emulador de terminal para shell local
Conversations Cliente de XMPP fácil de usar com suporte a criptografia Omemo e OpenPGP.
Cythara Afinador de instrumentos musicais
DAVx⁵ Sincronização e Cliente CalDAV/CardDAV
DecSync CC Sincronização de contatos, calendários e tarefas sem um servidor
Download Navi Download Navi é um gerenciador de download
EasySSHFS Sistema de arquivos e cliente SSH
Emacs Editor de texto avançado, extensível e autodocumentado, muito utilizado por programadores
Eternity Cliente para a rede Federada Lemmy com suporte ao protocolo ActivityPub, fork do Infinity para Reddit
I2pd Implementação completa do cliente I2P em C++
Mastodon Rede social descentralizada
Feeder Um fantástico leitor de RSS Feed
FTPClient Cliente FTP, FTPS e SFTP
Fulguris Cliente FTP, FTPS e SFTP
Image Pipe remove os dados exif e reduz o tamanho de imagens antes de compartilhá-las
Jami Aplicativo p2p multiplataforma de mensageria, ligação audiovisual, conferência e grupos do Projeto GNU
Jtx Diário, notas e tarefas caldav sincronizados através do aplicativo DAVx⁵
K9 Mail Cliente de e-mail cheio de funcionalidades
Karma Firewall Bloqueia aplicativos de acesso a internet
KeePassDX - FOSS Password Safe Gerenciador de password keepass
LibreOffice Viewer Visualizador de documentos
Librera Reader Leitor de livros e PDF
Libretube Alternativa frontend para Youtube com piped
Manyverse Uma rede social p2p fora da grade, pautada scuttlebutt
Markor Editor de texto - notas e tarefas -, leve de markdown e tarefas.txt
Matsuri Proxy
MGit Visualizar e interagir com repositórios git
Moshidon Mastodon para Android mas é Material You e tem mais recursos
Mumla Chat de voz para servidores Mumble
MuPDF viewer Visualizador de documentos leve
Navegador Privado Um navegador da web que respeita sua privacidade
Front-end leve do Youtube Um navegador da web que respeita sua privacidade
NetGuard Uma maneira simples de bloquear o acesso à internet por aplicação
NoPhoneSpam Bloquear chamadas indesejadas
ntfy Enviar notificações ao telefone via qualquer script usando requisições PUT/POST
OCR (ROC) Uma aplicação de reconhecimento de caracteres (OCR) baseada em Tesseract que reconhece textos em imagens
oandbackup Faça backups de apps selecionados e restaure
OpenKeychain: Easy PGP Criptografar os ficheiros e Comunicações. Compatível com o padrão OpenPGP
Open Note Scanner Digitalizar documentos, notas manuscritas ou artes
Organic Maps: Mapas Offline e Navegador GPS Mapas colaborativos de software livre para turistas, ciclistas e caminhantes
Pachli for Mastodon Um cliente Android completo para Mastodon e servidores semelhantes
Pocket Paint Paint avançada
Revolution IRC O cliente IRC de última geração
Share 2 Archive Today Compartilhamento de URL com Archive.today e Archive.Is. Para acessar o conteúdo de sites com bloqueio ao Tor ou a navegação sem javascript
SimpleMarkdown A simple markdown editor
SimpleTextEditor Simple Text Editor
Teclado Unexpected Um teclado virtual leve para desenvolvedores
Terminal Emulator Transforme seu aparelho num terminal de computador
Thorium, um cliente PeerTube Um leitor do PeerTube
TorrServe Download torrent files
Translate You Tradutor com foco em privacidade
UntrackMe Lite Redirecione links do Youtube, Twitter e Instagram para Front-end livres
VLC VLC para Android é o melhor leitor de vídeo e música open source, fácil e rápido

Backup ^

Aconselhamos criar periodicamente cópias de segurança criptografadas dos dados armazenados no sistema para restaurá-los caso ocorra problema. Podem ser salvos dados de apps do sistema ou instalados de fontes externas (/system/data e /data/app), arquivos internos (/data/data) e do cartão SD (/storage/emulated). O procedimento pode ser realizado através de apps especializados em backup como, por exemplo, oandbackup, ou pelo programa de desktop Android Debug Bridge (adb).

oandbackup

O oandbackup é um aplicativo de backup rico em recursos como, por exemplo, criptografia através do app openkeychain, backup programado, etc. Para fazer o backup.

oandbackup -> Backup em lote -> Dados e Apkk

Marcar os apps para backup.

oandbackup -> Backup em lote -> Marcar Tudo

Executar o backup.

oandbackup -> Backup em lote -> Backup

Backup pelo ADB

Configurações para ADB

Senha de criptografia para o backup

Defina uma senha de segurança para criptografar o backup:

Configurações -> Opções do desenvolvedor -> Senha do backup local

Backup dos dados de apps e arquivos

A sintaxe do comando de backup é a seguinte:

adb backup [-f file] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all] [-system|-nosystem] [packages...]

-f cria o arquivo de backup

-apk|-noapk habilita/desabilita o backup de aplicativos (padrão é -noapk)

-obb|-noobb habilita/desabilita o backup de arquivos associados aos apps (padrão é -noob b)

-shared|-noshared habilita/desabilita o backup de arquivos do cartão SD (padrão é -noshared)

-all faz o backup de todos os aplicativos instalados, incluindo aplicações do sistema.

-system|-nosystem incluir ou não aplicações de sistema.

Para fazer o backup de todos os aplicativos (apk) do sistema e instalados de fontes externas com seus respectivos dados e configurações (obb), execute o seguinte comando:

# adb backup -f 2025.03.23-apps-backup-replicant-6.0004-n7100.adb -apk -obb -all

Quando executar o comando uma janela será aberta no Replicant pedindo a senha de backup atual que configuramos anteriormente. Insira a senha e selecione o botão Fazer backup de meus dados. O progresso do backup será exibido na parte inferior da tela do Replicant. Quando o backup terminar a janela de backup no Replicant será fechada e o terminal no desktop será desbloqueado.

Restauração do backup

A restauração dos dados só é compatível com a mesma versão do Replicant e modelo do dispositivo que o backup foi realizado.

Para restaurar o backup, esteja com a etapas de configuração do ADB satisfeitas e execute o comando no terminal:

adb restore file.adb

Reset de fabrica (reset factory) ^

Pode ser desejável resetar o aparelho para as configurações iniciais do Replicant, também conhecido como reset de fábrica (reset factory). Essa operação poder ser feita através do programa de configuração ou pelo programa de recuperação.

Reset pelo programa de Configuração

Execute o programa de redefinição e backup. Não é possível fazer o backup dos dados e restaurá-lo pelo respectivo programa se o dispositivo estiver criptografado. Mas é possível recuperar os dados após a redefinição de fábrica pelos meios abordados na seção Backup.

Configurações -> Fazer backup e redefinir

Reset pelo programa de recuperação (recovery)

Desligue o aparelho sem cabo de usb ou alimentação. Após, com o aparelho desligado, pressionar simultaneamente os botões de volume + início + power, fazendo o aparelho inicializar no modo de recuperação (recovery). Selecione Redefinição completa de fábrica. Ele solicitará que você confirme a redefinição, portanto, você precisará selecionar Sim para confirmá-la.

Factory reset -> Full factory reset

Pressione a tecla Voltar para voltar ao menu principal de recuperação e, em seguida, reinicie o sistema.

Futuro do Replicant ^

Recentemente o projeto declarou que vai abandonar o Android e os dispositivos Samsung porque a indústria dos dispositivos móveis vem dificultando cada vez mais o desenvolvimento de suporte livre para a base Android. Os atuais modelos serão abandonado e o port para a versão 11 do Android foi suspensa. O projeto começou a debater migrar sua base para o Pinephone. Esse sistema é um GNU/Linux para dispositivos móveis que suporta aplicativos Android por meio do emulador de Android GLoDroid. Atualmente o GLoDroid emula o Android 12 baseado na versão AOSP. Também existe um debate sobre fontes de financiamento disponíveis na União Europeia.

Bibliografia ^