Introdução / motivação 🤔

Houve, há algum tempo, a deliberação de deixarmos de suportar a sala de bate-papo da comunidade 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 na eventualidade de nossa infraestrutura estar indisponível.

Como, após realizar uma migração de conta entre servidores Matrix, eu 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 do XMPP.

O que é XMPP? 💭

XMPP é uma sigla cujo significado podemos traduzir 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, XMPP Standards Foundation (XSF).

Sistemas que implementam XMPP são espalhados por milhares de servidores na Internet e utilizados por milhões de pessoas do mundo todo, em um modelo descentralizado e federado, análogo ao do correio eletrônico: as pessoas possuem conta em um servidor, por meio do qual se comunicam com as outras, estejam estas no mesmo servidor ou em outros. Tanto servidores quanto clientes podem executar software diverso, porém trocam dados entre si por utilizarem protocolos de comunicação em 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 e una-se à federação.

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” XMPP recomendados em https://providers.xmpp.net/ . Parte deles permite a criação de contas diretamente nos aplicativos clientes. Alguns exigem outros métodos, como formulários próprios para isso na Web.

Como esta é uma dúvida frequente, convêm enfatizar: por ser um serviço descentralizado, não há necessidade de ter conta XMPP no mesmo servidor que hospeda determinada sala de conversa em grupo ou a conta de alguém com quem deseja se comunicar. A não ser que uma das partes deliberadamente bloqueie a outra, os servidores conversam entre si normalmente, o que inclui suas contas individuais e salas. A princípio, tanto faz o servidor que utilizará, porém convém se atentar à confiabilidade e à sustentabilidade dele. Portanto, caso tenha dúvida, escolha entre os provedores XMPP que já estejam na “Categoria A” da lista. 🅰️

Um provedor popular é, por exemplo, SUChat.org, onde foi criada a sala de chat coletivo da Ayom. Apresentam suas próprias instruções (em espanhol) e já possuem webchat também, se quiser entrar rapidamente pelo navegador, embora com funcionalidades mais básicas.

Atualização (2025)

Algumas comunidades brasileiras na Federação da Web Social também estão implantando seus próprios servidores XMPP. Se você já faz parte de alguma delas, talvez já tenha conta disponível no XMPP ou seja questão de solicitar à coordenação. Uma boa fonte de informação sobre isso é a página https://info.bolha.one/servicos/xmpp/.

Clientes XMPP 🗣️

Há extensas listas de programas que suportam XMPP em diferentes cenários, e dos clientes que oferecem comunicação mais segura ✔️. Mesmo assim, seguem algumas sugestões:

Desktop 🖥️ / 💻️ laptop

Entre os vários clientes XMPP atuais em ambientes desktop estão Gajim e Dino.

Espertofones 📱

Em tornozeleiras eletrônicas de bolso (“celulares”), também há algumas opções para ambas as plataformas dominantes. Especialmente no repositório livre F-Droid, você encontra, por exemplo, Monocles, recomendação pessoal por ser mais completo, ou o popular Conversations, entre outros. Esses dois 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.

Na Web (JavaScript) 🕸️

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

Terminais de texto ⌨️

Quem não faz questão de interface gráfica não precisa ficar sem se comunicar por XMPP, pois existem clientes interessantes como Profanity, que também é multiplataforma.

Endereços XMPP 🧭

O endereço das contas e das conversas em grupo, no XMPP, segue o 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, pelo navegador, 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, assim mesmo, 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 que garante que suas conversas não possam ser interceptadas. 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, Dino 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. Contudo, é possível criar conversas multiusuário cifradas por OMEMO, normalmente reservadas, com entrada sob convite.

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

Havendo dúvidas, estamos à 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.

Este texto © 2024-25 por @Daltux está publicado nos termos da licença CC BY-SA 4.0. 🅭 🅯 🄎

  • @gloostaoA
    link
    fedilink
    Português
    58 months ago

    Bom tutorial, obrigado por compartilhar estas informações! Havia conseguido entrar, porém não sabia muito a fundo sobre esta tecnologia. Conseguiu sintetizar bem para leigos como eu.

    Gostei da forma como tu se refere aos softwares privativos ksks.