Riot: uma maneira distribuída de ter IRC e VOIP cliente e servidor doméstico

9 de novembro de 2019

Riot é um aplicativo de mensagens instantâneas descentralizado de código aberto e gratuito que pode ser considerado uma alternativa ao Slack. Damos uma olhada nos recursos do Riot, procedimento de instalação e uso.

É surpreendente que muitos usuários do Linux e projetos de código aberto usem um serviço de mensagens proprietário como o Slack. Mesmo nós da It’s FOSS usamos o Slack para nossa comunicação interna, o que eu não gosto. É por isso que eu vim com a proposta de usar uma alternativa de código aberto ao Slack, chamada Riot.

Mas antes de eu falar sobre a Riot, vamos voltar no tempo e saber um pouco sobre mensagens instantâneas no Linux.

Era uma vez, havia o Internet Relay Chat

Quando a maioria das pessoas pensa em mensagens instantâneas, elas pensam em clientes como Skype, Telegram e muitos de seus semelhantes. O avô de todas essas mensagens instantâneas foi IRC. A beleza do IRC é que ele não precisa de muitos recursos, é rápido de configurar e é distribuído na natureza, e o código está aberto desde o início.

Por distribuído, quero dizer que você pode adicionar ou remover servidores ou canais para atender ao público. Era como o oeste selvagem de novo. Embora as redes de mensagens instantâneas de hoje sejam mais civilizadas em muitos aspectos, com decoro para manter, naqueles tempos você era uma das três coisas, um valentão, uma pessoa com raciocínio/resposta rápida ou você foi possuído. Os canais mais interessantes geralmente eram o .alt. canais, mas às vezes usado para sobrecarregar as redes.

O IRC tem uma história rica e desempenhou um papel muito importante (e ainda continua a fazer) na configuração do mundo do software livre, bem como da World Wide Web.

E Voice over Internet Protocol

Por volta da mesma época, VOIP começou a ganhar dinheiro, mas por um longo tempo, não funcionou, pois cada provedor de serviços fazia suas próprias coisas. O ponto de viragem principal veio quando o Google Talk anunciou federação para bate-papo, mas apenas com XMPP, chamada de voz/correio que abandonou mais tarde em 2014.

Apresentando agora a Riot-web

Interface do Riot Messenger

Eu compartilhei a história acima como a Riot faz tudo isso e muito mais. Na verdade, é Matrix que faz todo o trabalho enquanto riot.im fornece a GUI, os temas necessários para fazê-la funcionar. Sem um, o outro não funcionaria. Sem Matrix, Riot seria como um corpo sem alma. Para Matrix, Riot é a implementação de referência, mas outros são bem-vindos para fazer tantos clientes quanto possível. Em outras palavras, riot.im simplesmente expõe a funcionalidade que o matrix possui.

Conjunto de recursos da Riot-web

Algumas das funcionalidades do riot/matrix são as seguintes -

  • Faça quantas salas ou canais
  • A capacidade de ter pontes para muitas plataformas
  • Como os dados são baratos, o Matrix tem persistência, registro de backup e notificações de presença, etc., embora tudo isso geralmente seja configurado no nível do servidor doméstico.
  • Compartilhe, carregue e baixe arquivos com amigos, colegas e esqueça-os.
  • Como arquivos, as conversas têm registro de data e hora, descentralizadas, há a mais remota possibilidade de o canal/salas em que você está cair, pois vários servidores estão lá e se sincronizam automaticamente entre si.
  • Caso ele caia, você sempre pode ter seu servidor doméstico como um dispositivo de backup adicional que fará backup de todas as conversas suas e de seus amigos nos canais em que estiver.
  • O desenvolvimento da matriz é bastante modular, como pode ser visto em sua página GitHub. Todos os dias e de vez em quando novas pontes estão sendo feitas, consulte matriz roxa como um exemplo.
  • Matrix também está sendo portado para várias linguagens como Go ou Rust para que você possa desenvolver Matrix, o protocolo subjacente e empilhar em sua linguagem favorita.
  • Criptografia ponta a ponta cujo código foi auditado pelo NCC. No mundo atual de vazamentos de dados, trabalho proprietário/fechado e acesso de terceiros aos dados de qualquer pessoa, isso é um alívio.
  • Cada usuário e seu dispositivo têm uma chave hash separada, portanto, a violação, o roubo de identidade é menor, mas a verificação de identidade pode ser muito mais difícil.
  • Voz e videochamada integradas ao próprio cliente.

Instalando Riot no Debian e outras distribuições Linux

Todos os recursos acima contribuem para dar uma olhada no riot.im

Obter o riot.im não é um grande problema se você estiver em qualquer distribuição GNU/Linux derivada do Debian, basta ir ao site e seguir as instruções nele.

Para mim, eu apenas segui as instruções acima e coloquei -

Comandos para usar no terminal

cat /etc/apt/sources.list | grep riot deb https://riot.im/packages/debian/ stretch main

Basicamente, coloquei deb https://riot.im/packages/debian/ stretch main em /etc/apt/sources.list no Debian. Estou executando o teste Debian.

Eu fiz isso como sempre esqueço se coloco algum serviço adicional em /etc/apt/sources.list.d/ e às vezes fiz entradas adicionais em /etc/apt/sources.list e/etc/apt/sources. list.d/que confunde qualquer gerenciador de pacotes que eu uso (apt/apt-get/aptitude) sempre que você deseja atualizar o índice. O ligeiro desvio acima torna muito mais fácil/eficiente para mim.

Certifique-se de obter a chave apt-repo

Comandos para usar no terminal

curl -L https://riot.im/packages/debian/repo-key.asc | sudo apt-key add -

Pelo menos no Debian e também no ubuntu, cada software deve ter uma assinatura.

Depois disso, a única coisa que eu precisei fazer foi atualizar o índice do banco de dados apt e instalar o riot-web 0.13.5

Comandos para usar no terminal

sudo apt update sudo apt install riot-web

Dica: não recomendo configurar repositórios mistos. na instalação do Debian, a menos que você realmente saiba o que está fazendo. Às vezes, haverá uma queda na execução de repositórios mistos. Debian estável é bom o suficiente, se você quiser versões mais recentes você pode adicionar/usar backports ou se você for corajoso o suficiente, você pode usar o Debian-testing e ajudar o time de desenvolvedores Debian a ver se algo está quebrado.

Caso você esteja em uma distribuição GNU/Linux diferente, use/consulte as notas no GitHub página

Running Riot (eu sei que parece estranho, mas ...)

Embora existam clientes de console, se você quiser usar toda a riqueza do riot, recomendaria usar o riot-web.

Assim que o riot estiver instalado, você só precisa executar o riot-web -

Comandos para usar no terminal

riot-web

A Riot usa seu navegador da web para exibir sua janela e os vários bits e peças, portanto, certifique-se de ter instalado o Firefox ou o Chromium em seu sistema.

Você terá que fornecer um nome de usuário, endereço de e-mail e senha para fazer o motim. O nome de usuário pode ser qualquer coisa, mas precisa estar vinculado a um endereço de e-mail real, pois um token/hash será enviado ao seu e-mail, onde você precisará verificar.

Dica - Até o momento, o riot não tem seus próprios serviços de gerenciamento de senhas, então use um gerenciador de senhas ou algo para reter a senha e o nome de usuário para referência futura.

Na primeira execução, você verá algo assim:

Imagem de primeira execução da Riot-web

A imagem acima foi compartilhada por mocchy99 que acabou de instalar o riot em seu desktop por minha insistência :)

Assim que tiver isso, você terá que lidar com a janela de configurações -

janela de configurações do riot-web

Dica - Use o tema escuro para ver melhor as pessoas.

Integração

Se você usar uma versão recente do riot, a maioria das integrações já está lá. Eu usaria oftc porque este é o servidor onde a maioria dos usuários Debian vive -

Inicie um novo bate-papo (segundo ícone inferior esquerdo) @ appservice-irc: matrix.org e faça !nick irc.oftc.net

menu inferior esquerdo em motim

isto mudará seu nick atual que o Matrix anuncia como por ex. o meu seria shirish [m] e se eu fizesse -

nick irc.oftc.net

Então, em canais de IRC, seria anunciado como shirish e não shirish [m], identificando que estou usando um cliente de matriz. Do ponto de vista da segurança, isso é bom.

Você também deve se identificar com o seu servidor de IRC caso já tenha uma conta nele.

Nesse caso, inicie um chat direto com @oftc_NickServ: matrix.org e faça um IDENTIFY $username $password para que o servidor saiba que você é quem diz ser. O nome de usuário e a senha são variáveis que você precisará alterar com seu nome de usuário e senha exclusivos.

Por ex. pode ser IDENTIFY shirish 12345, sendo o primeiro meu nome de usuário e o segundo minha senha, embora seja apenas para fins ilustrativos.

Dica: no mundo real, agora é recomendado ter pelo menos uma string alfanumérica de 10-12 dígitos ou senha com símbolos, apenas por segurança. Você pode ler meu artigo anterior sobre geração de senhas no Linux.

Depois de fazer isso, você pode usar '/' e ver uma gama de opções que você pode fazer com muitas opções que podem ser usadas.

A última coisa que falta é adicionar canais, se estiver falando do lado do IRC. Isso é feito fazendo:

/join #_oftc_#debian:matrix.org

onde você coloca suas mensagens. A Riot seria capaz de decodificar o significado e fornecer o respectivo canal.

o que essencialmente estamos tentando fazer é dizer

/join #_someirc-server_#somechannel:matrix.org

Você vai revoltar?

Eu sou um fanboy FOSS e gosto de usar e promover software livre e de código aberto. Comecei a usar o Riot e estou adorando. Enquanto estou discutindo se a equipe de FOSS pode abandonar o Slack for Riot, por que você não compartilha suas opiniões sobre o uso da Riot?

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Shirish e publicado no site itsfoss.com. Tradução sujeita a revisão.

Riot: A Distributed Way of Having IRC and VOIP Client and Home Server

Propaganda
Blog Comments powered by Disqus.
Propaganda