Conexão Persistente no IRC com Matrix/Riot

Mesmo considerado por muita gente como “fora de moda”, o IRC ainda é bastante utilizado. Existem diversas redes e canais, principalmente para assuntos mais técnicos, como suporte para determinados softwares. Eu estou presente em três redes: gnome, freenode e indymedia.

Como um protocolo antigo, o IRC possui algumas limitações. Uma delas, a mais comentada, é o seu formato não assíncrono de comunicação. Você tem que estar on-line para poder se comunicar. O problema maior disto não está nas conversas privadas, mas em acompanhar as discussões nos diversos canais. Se você não está lá, como pode acompanhar?

Uma saída para esse problema é tornar a conexão do IRC persistente. Para isto, muitos usuários utilizam um bouncer[1]. A complicação desta solução é que precisamos ter um servidor para hospedá-lo. E é justamente aqui que o Matrix/Riot entra.

O que é a Matrix/Riot?

Matrix é uma rede de comunicação focada em segurança e privacidade. É descentralizada, aberta e utiliza criptografia. Como o intuito deste post é apresentar apenas um uso específico da rede, tentar explicá-la como um todo tiraria toda a beleza de sua complexidade. Para saber mais sobre o seu funcionamento, dá uma olhada aqui. O que nos interessa é saber que a matrix consegue “conversar” (fazendo uma ponte) com servidores IRC.

Para utilizar a rede precisamos de um cliente e é aqui que o riot entra. Ele é um comunicador de código aberto, multiplataforma e com diversos recursos como bots e integração com outras ferramentas.

Deixando a sua conexão do IRC persistente

Esta solução é baseada em uso pessoal que tem me servido muito bem. Atualmente tenho 3 dispositivos com sistemas distintos. Em cada um deles tenho um cliente (riot) instalado. Mesmo ausente, consigo acompanhar as mensagens dos canais que participo. Elas ficam armazenadas bem no estilo de “mensagens não lidas”.

O único infortúnio é que, eu não consegui e nem pesquisei a fundo sobre, você não consegue utilizar o seu nickname cadastrado na rede de IRC. Exemplo: quando estou em um canal em um servidor, o meu nick não é yzakius (nick do IRC), mas yzakius[m]. Isso não é um grande problema, é só avisar as pessoas de que você tem esse outro nick.

Algumas outras informações

Antes de tudo você vai precisar fazer uma conta na rede Matrix. É possível registrar-se pelo próprio riot. Há um detalhe que deixa muita gente apreensiva: o riot pede seu telefone. Sim, ele pede, mas não é obrigatório. Depois de se conectar, é só procurar a opção de “lista pública de salas” e escolher a rede de sua preferência (há suporte para freenode e gnome/gimpnet).

Dúvidas? Entre em contato 😉

Notas

[1] De forma bem simplista, um bouncer vai te deixar conectado direto em uma rede/canal. Quando você puder estar on-line, você não vai se conectar na rede/canal, mas no bouncer. Através dele você pode acompanhar as discussões que ocorreram (é como se fosse uma timeline). Um bouncer não serve apenas para isso. Para saber mais dá uma olhada aqui e aqui.