Texto publicado em setembro de 2024, revisado com o tempo.

Introdução / motivação 🤔

Houve, há algum tempo, a deliberação da comunidade Ayom deixar de suportar sua sala de bate-papo na rede Matrix, passando a concentrar neste Lemmy as discussões coletivas persistentes, no próprio Mastodon as efêmeras, além de buscar 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 tenha condições de abraçar essa tecnologia, que se baseia em padrões abertos definidos por grupo de trabalho e fundação internacionais, com diversos fornecedores, não algum 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 pode ser traduzido 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. Surgiu no fim da década de 1990, inicialmente batizado de “Jabber”. Foi, a seguir, formalizado pela IETF — a Força-Tarefa de Engenharia da Internet — assumindo o nome atual. A partir de então, sua evolução tem sido organizada por uma fundação denominada XSF - XMPP Standards Foundation (Fundação de Padrões XMPP), da qual podem fazer parte várias partes interessadas pelo progresso do protocolo.

Sistemas que implementam XMPP estã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 ou em outros servidores. 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 mídias 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.

Dúvida frequente sobre servidores XMPP

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 rigor, tanto faz qual servidor 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.

Exemplo de servidor

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.

Algumas comunidades brasileiras na Federação da Web Social também têm implantado 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 é uma página da Bolha.one.

Clientes XMPP 🗣️

Há extensas listas de programas que suportam XMPP em diferentes cenários, bem como dos clientes que oferecem comunicação mais segura ✔️. Seguem algumas sugestões pessoais:

Desktop 🖥️ / 💻️ laptop

Entre os vários clientes XMPP atuais em ambientes desktop, destacam-se Gajim (multiplataforma) 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 é em relação a criptografia de ponta a ponta, que visa garantir que suas conversas não possam ser interceptadas. O mecanismo estabelecido atualmente para essa funcionalidade em XMPP é denominado OMEMO. Veja uma lista de aplicações clientes classificadas conforme a implementação desse padrão. Nos clientes Conversations, Monocles, Dino e Gajim, entre outros, é possível deixar com que gerenciem as chaves automaticamente, ou seja, costuma bastar conferir se 🔒️ OMEMO está ativo em uma conversa.

⚠️ Esteja ciente de que as salas de conversa em grupo 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, para maiores garantias, tais como a de que o interlocutor esteja utilizando chaves criptográficas previamente confirmadas, também há esse suporte.

Havendo dúvidas, entre em contato pela sala da Ayom ou responda a esta publicação fediversal.


Mais leituras 🔗


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