Introdução / motivação

Houve, há algum tempo, a deliberação de deixarmos de suportar a sala de bate-papo da Ayom na rede Matrix, passando a concentrarmos neste Lemmy as discussões coletivas persistentes, no próprio Mastodon as efêmeras, além de buscarmos possibilitar alternativa para contato emergencial quando nossa infraestrutura fica indisponível.

Como, após realizar uma migração de servidor Matrix, também não estava mais conseguindo entrar na sala do grupo de trabalho de tecnologia da informação, tanto em Matrix quanto tentando evitar a ponte com Telegram, por este ser privativo de liberdade, aproveitei a situação para criar uma conversa em grupo no XMPP para o GT-TI, pensando em continuarmos a comunicação interna do próprio GT (raro) ou, ao menos, possibilitar à comunidade nos contactar quando houver falha dos demais serviços.

Integrantes do GT Gestão Interna e Tesouraria da Ayom, com destaque de @vereda, que estimulou essa movimentação, e @felipesiles, testaram aquela sala e este veio então a criar, recentemente, uma conversa em grupo para a Ayom em geral.

Assim, espera-se que a comunidade vá se apropriando também dessa tecnologia, que se baseia em padrões abertos definidos por grupo de trabalho e fundação internacionais, não por algum fornecedor exclusivo.

Para auxiliar quem não sabe por onde começar ou, mesmo assim, gostaria de receber algumas dicas, segue o texto com conceitos e sugestões de uso.

O que é XMPP? 💭

XMPP é uma sigla cujo significado pode ser traduzido livremente como Protocolo Extensível de Mensageria e Presença, do inglês Extensible Messaging and Presence Protocol. Trata-se de um padrão aberto para implementação de sistemas de comunicação em tempo real, desenvolvido originalmente para mensagens instantâneas e informação de presença. Surgiu com o nome de “Jabber”, no fim da década de 1990, tendo sido a seguir formalizado pela IETF, a Força-Tarefa de Engenharia da Internet, assumindo o nome atual, e organizado por uma fundação: XSF.

Sistemas que implementam XMPP são distribuídos por milhares de servidores na Internet e utilizados por milhões de pessoas do mundo todo, em modelo federado análogo ao do correio eletrônico: as pessoas possuem conta em um servidor, que se comunica com outros. Tanto servidores quanto clientes podem executar software diverso, porém conseguem trocar dados utilizando o protocolo comum. Esse é o tipo de estratégia que, mais recentemente, também se aplica ao protocolo ActivityPub do W3C, voltado a formar um universo de redes sociais federadas. Não há um servidor central e é possível que qualquer pessoa ou coletivo, a rigor, tenha seu próprio.

Iniciação / recomendações ℹ️

O primeiro passo para usar XMPP é escolher algum dos servidores federados para abrir sua conta: há uma lista detalhada de provedores recomendados em https://providers.xmpp.net/

Boa parte dos servidores permite a criação de contas diretamente nos aplicativos clientes. Alguns exigem outros métodos, como formulários próprios para isso na Web.

Um provedor popular é, por exemplo, SUChat.org, onde foi criada a sala de chat da Ayom. Eles apresentam suas próprias instruções (em espanhol) e já possuem webchat também, se quiser entrar logo pelo navegador.

Outras opções de cliente XMPP em navegadores, para telas pequenas ou maiores, são:

Pode ainda instalar um cliente XMPP para desktop como Gajim. Em tornozeleiras eletrônicas de bolso (“celulares”), também há algumas opções, especialmente no repositório livre F-Droid, tais como Monocles, recomendação pessoal por ser mais completo, ou o popular Conversations. Eles também estão na loja privativa padrão, nesse caso mediante “doação mandatória”. Já para “maçãs”, também constam aplicativos como Monal e Siskin.

Endereços 🧭

O endereço das contas e das conversas em grupo segue o mesmo formato já conhecido, similar ao de e-mail e ActivityPub: conta@servidor

  • 🗣️ A sala geral da Ayom no momento é:
chat-ayom@salas.suchat.org
  • A sala específica do GT-TI ficou: ayom-gt-ti@disroot.org

Porém, se clicasse em links criados da forma acima, provavelmente acabaria abrindo um cliente de correio eletrônico mesmo, e não de XMPP. Contudo, será possível procurar por esses endereços dentro do cliente XMPP, quando estiver conectado. Se já tiver uma aplicação registrada na máquina para reconhecer este formato de link, aí, sim, normalmente poderá abri-la diretamente quando a ligação tiver o prefixo xmpp:, assim: xmpp:chat-ayom@salas.suchat.org – essa é a sala geral de chat da Ayom, criada por @felipesiles, para a qual toda a comunidade está convidada.

Defina nome de exibição, avatar, e pode ser que haja mais um ou outro item para configurar no seu cliente XMPP, se quiser, mas, basicamente, então é só isso: basta procurar por salas de conversa em grupo com tópicos de seu interesse e convidar contatos para conversar.

Segurança 🔐

Algo que pode ter que lidar em maior ou menor medida é com criptografia de ponta a ponta. O mecanismo atual para essa funcionalidade em XMPP chama-se OMEMO. Veja uma lista de aplicações clientes que já o implementam ou não. Pelo menos em clientes como os citados acima, Conversations, Monocles e Gajim, é possível deixá-los gerenciar as chaves automaticamente, ou seja, costuma bastar conferir se OMEMO está ativado em uma conversa.

⚠️ Esteja ciente de que as salas em que pode entrar sem convite, encontráveis em buscas, até mesmo a da Ayom, não são cifradas. É possível, contudo, criar conversas multiusuário cifradas por OMEMO, normalmente reservadas, com entrada sob convite.

🕵️ Em casos de uso mais avançados, necessitando de maiores garantias tais como a de que o interlocutor esteja utilizando apenas chaves previamente confirmadas, também há esse suporte.

Havendo dúvidas, permanecemos à disposição.

Mais leituras 🔗

  • LibrePlanet: XMPP – artigo em português, bem completo, contemplando motivações para adoção desse protocolo.
  • Wikipédia: XMPP – versão lusófona bastante defasada. Confira o artigo anglófono, principal fonte da seção acima sobre o que é XMPP.