26 de setembro de 2017

Signal para desktop em fase alfa


Mensageiros com criptografia nos últimos anos são iguais aos Samsung Galaxies: tem vários, muitos morrem e poucos tem alguma relevância, como o Telegram e Threema.

Há um antigo que era conhecido como TextSecure lançado em 2010 pela Open Whispers System, que tudo virou Signal, que é bem interessante.



Antes de falar do aplicativo para desktop...

Em 2009 quando o WhatsApp surgiu, suas mensagens eram feitas em texto puro, assim qualquer Wireshark da vida conseguia interceptar o tráfego da rede e ser as mensagens. Depois passou a ter criptografia cliente-servidor-cliente. A genialidade de usar o número do celular em vez de PINs, emails, códigos etc. fez a porra toda explodir, todo mundo passou a usar, já que o BBM era exclusivo dos Blackberries e o iMessage dos iPhones, enquanto o WhatsApp tinha até para Symbian.

Aí com a aquisição pelo Facebook a galera ficou com o c* na mão, então eles tiveram que não só implementar uma segurança extra, como criptografia ponta-a-ponta, já que ele é uma empresa de publicidade, igual o Google, e decidiram usar uma solução independente, que foi o da Open Whispers Systems, que não é pouca bosta:


Se até o Dudu usava para fazer as paradas, então tem algum valor. Porém, o Facebook vem transformando o WhatsApp em uma rede social cheio de lixo como o Status, e é ali, naquela zona sem controle, que potencialmente irá surgir propagandas como acontece no Instagram. Então mesmo que hipoteticamente a solução da Whisper Systems esteja plenamente implantada nas mensagens, ainda há algo nebuloso naquele aplicativo.

O Signal é praticamente um WhatsApp sem essas merdas. Muita gente até pode achar que é um WhatsApp Lite, pois é bem parecido. Mas surgiu em 2010 como um aplicativo de trocas de SMS criptografado e depois via Internet mesmo. Inclusive a versão para Android dá usá-lo como aplicativo de SMS padrão, porém atualmente não há mais criptografia.


Grátis?

Como não existe almoço grátis, de onde vem a grana se é de graça e open-source? Eles vendem a solução (na verdade a sua credibilidade) para o Facebook (WhatsApp Messenger) e para o Google (Allo). Então o aplicativo hoje é uma vitrine para seus serviços.


Vantagens

A principal vantagem é que não tem esses lixos de Stories, bots, stickers, AI integradas e a criptografia P2P é padrão, ao contrário do Messenger, Allo e até mesmo o Telegram.


Desvantagens

Ninguém usa e só dá para usar o número do celular como contato, não dá para usar e-mail ou username (como no Skype e Telegram). E tem pouca customização, apesar de poder escolher a cor da "janela" dos contatos e tema escuro ou claro, não dá nem para usar um wallpaper bacaninha. Ah, e não possui ligações com vídeo, apenas áudio mesmo.

E precisa dar um tapa no visual... mas aos poucos estão fazendo. Só agora, na versão beta do app, é que tem a opção de usar uma foto no perfil.


Por que devo usar?

Se você usa o Android pode usá-lo nem que seja para SMS, já que o Android Messenger (que vem obrigatoriamente instalado mesmo) é uma bosta, então na pior das hipóteses você pode tê-lo para ler as mensagens dos calldetendos.


Finalmente, a versão para desktop


A única versão para desktop era uma extensão para o browser Chrome, que o Google irá descontinuar e manter apenas para a versão do Chrome OS (oh, don't be evil), então tudo que dependia disso já era.

Agora, a equipe está desenvolvendo em Electron, que na prática é um webrapper rodando no chromium. Muito parecido com o WhatsApp, mas a grande vantagem é que o smartphone não precisa estar online na mesma rede.

O Electron é o Flash do desktop... não é bom, mas é melhor que nada. Como é um aplicativo simples, não é tão ruim assim.


Instalando

Você precisa enviar um e-mail para o pessoal do Signal com o título Desktop Alpha Testing e informando qual seu sistema operacional e idioma. Mas como eu sei que você não vai enviar, vou colar o e-mail deles aqui, já que é praticamente automático:

Hi, Raposão!

Thank you for volunteering to test an alpha version of Signal Desktop! We are getting ready to migrate from the current Chrome packaged release to a new standalone app. The transition from the Chrome Web Store version of Signal is one-way only; there's no going back once you bravely step into the future with us. If you are not quite ready to switch yet, that's OK!

Everyone will need to make the jump soon because Chrome Apps will no longer run in 2018 and upcoming versions of Signal will only be available via the new distribution and update method. We want to ensure that this process is as smooth as possible for you and your fellow users. Can you please follow these steps and provide feedback on the experience?

STEP 1: Update Signal Desktop to version 0.43.4+ and accept the new permissions.
A. Go to chrome://extensions
B. Click on the 'Developer-Mode' checkbox.
C. Find Signal in your extension list and make sure the 'Enabled' box is checked.
D. Scroll back to the top of the page and click on the 'Update Extensions Now' button in the top-right corner.
E. Scroll back to the Signal Desktop extension to confirm that version 0.43.4 is installed. You may need to tap on the app name or the extension alert icon in the toolbar in order to accept the new permissions and continue with the export. Leave this window open and skip to Step 2C below.

STEP 2: Navigate to the export functionality
A. Go to chrome://extensions. Developer Mode should still be enabled.
B. Find Signal in your extension list and look for the 'Inspect views:' header underneath it.
C. Click 'background.html' which will open a new Chrome window.
D. Navigate to the 'Console' tab.
E. When this window is in focus, you will have a blinking cursor next to a '>' sign.

STEP 3: Enable the export functionality and migrate. Remember: there's no turning back!
A. Make sure you're mentally and emotionally ready for this move away from the Chrome app. After initiating the export process, the Chrome-based Signal app will not be usable. The standalone installation that you will set up using the exported data will be an exact copy. There can only be one desktop client with the same identity!
B. Paste this command into the console and press enter:
window.storage.put('migrationEnabled', true);
You will see "undefined." Please continue to Step C.
C. Wait a moment, then paste this command and press enter:
window.location.reload();
D. The app will restart and there will be a new banner at the top asking if you'd like to migrate to the new Signal Desktop. Select 'Migrate'.
F. Select 'Migrate' again in the confirmation dialog.
G. Follow the prompts to export your data. Please let us know if anything is confusing or doesn't seem to be working properly.

STEP 4: Install the latest version of Signal Desktop Electron
- On Mac OS X: 
- On Windows: 
- On Linux:
wget https://updates.signal.org/desktop/apt/keys.asc -O /tmp/signal-apt-key.asc

# Look for the following fingerprint:
# DBA3 6B51 81D0 C816 F630 E889 D980 A174 57F6 FB06
gpg --with-fingerprint /tmp/signal-apt-key.asc

sudo apt-key add /tmp/signal-apt-key.asc

echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

sudo apt update && sudo apt install signal-desktop

STEP 5: Start Signal Desktop Electron
A. Start Signal Desktop Electron
B. Choose 'Set up with Chrome App export.'
C. Follow the prompts, and please let us know if anything is confusing, or doesn't seem to be working properly.


Eu não fiz os passos de migração do Chrome App para o Electron, fui direto para o passo 4 e no passo 5 eu selecionei set up as new install e funcionou normalmente. Mas eu usei um outro número que não usava antes... não sei se quem já usava precisa, ou se o tutorial é antigo.

Além do app desktop você precisa dele instalado no seu smartphone, basta pesquisar por Signal na lojinha.

Não tem segredo:



No smartphone, clica em etc (aquele 3 pontinhos) vá em settings e depois em linked devices. Aperta o botão +  e escaneie o código QR:


Não esqueça de apertar em link device. Nem parece um botão, mas se não clicar não irá funcionar.


Depois só confirmar e colocar e nomear o app desktop:



Ele irá sincronizar seus grupos e contatos, coisa que o Telegram (no chat secreto) não faz.


E voilá:


Alguns recursos do app já estão no desktop, como configurar uma data para autodestruição:




Conclusão

O app desktop ainda está em alfa mas ainda sim é muito melhor que o WhatsApp Web. Só o fato de não ter a merda do Stories já faz o app ser mil vezes melhor. O aplicativo independe então, depois que eu configurei o desktop continuou funcionando até mesmo após ter desinstalado do app no celular.

Resumindo, é o WhatsApp como deveria ser. Claro, não tem todos os recursos do Telegram (stickers, supergrupos e um monte de coisas inúteis), mas pelo menos sincroniza os chats criptografados individuais e em grupo.

Sem dúvida é o melhor mensageiro. E quem usa o Android ainda tem como usar como app de SMS, ou seja, a usabilidade fica parecida com a do Message no iPhone (que você enviar tanto via SMS quanto via Internet).