Dicas para se iniciar com XMPP: padrão aberto e federado de chat - Ayom Fórum
## Introdução / motivação 🤔 Houve, há algum tempo, a deliberação de deixarmos
de suportar a sala de bate-papo da comunidade Ayom
[https://forum.ayom.media/post/49143] na rede Matrix, passando a concentrarmos
neste Lemmy [https://forum.ayom/media] as discussões coletivas persistentes, no
próprio Mastodon [https://ayom.media] 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
[https://forum.ayom.media/c/ayom_gt_ti], tanto em Matrix quanto tentando evitar
a ponte com Telegram, por este ser privativo de liberdade
[https://www.gnu.org/proprietary/proprietary.html], aproveitei a situação para
criar uma conversa em grupo no XMPP para o GT-TI
[xmpp:ayom-gt-ti@chat.disroot.org?join], 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 [https://forum.ayom.media/c/gt_gestao_interna], com
destaque de @vereda [https://forum.ayom.media/u/vereda], que estimulou essa
movimentação, e @felipesiles [https://forum.ayom.media/u/felipesiles], testaram
aquela sala e este veio então a criar, recentemente, uma conversa em grupo para
a Ayom [xmpp:chat-ayom@salas.suchat.org?join] 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
[https://xmpp.org/about/technology-overview/], 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
[https://pt.wikipedia.org/wiki/Padr%C3%A3o_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
[https://www.ietf.org/about/introduction/], a Força-Tarefa de Engenharia da
Internet, assumindo o nome atual, e organizado por uma fundação, XMPP Standards
Foundation (XSF) [https://xmpp.org/about/xmpp-standards-foundation/]. 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
[https://pt.wikipedia.org/wiki/E-mail]: 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 [https://pt.wikipedia.org/wiki/ActivityPub],
voltado a formar um universo de redes sociais federadas
[https://jointhefediverse.net/]. 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
[https://xmpp.org/getting-started/] é escolher algum dos servidores federados
para abrir sua conta: há uma lista detalhada de “provedores” XMPP recomendados
em https://providers.xmpp.net/ [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
[https://providers.xmpp.net/overview/]. 🅰️ Um provedor popular é, por exemplo,
SUChat.org [https://suchat.org/], onde foi criada a sala de chat coletivo da
Ayom [xmpp:chat-ayom@salas.suchat.org]. Apresentam suas próprias instruções (em
espanhol) e já possuem webchat [https://webchat.suchat.org/] 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
[https://jointhefediverse.net/] 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/
[https://info.bolha.one/servicos/xmpp/]. ## Clientes XMPP 🗣️ Há extensas listas
de programas que suportam XMPP [https://xmpp.org/software/] em diferentes
cenários, e dos clientes que oferecem comunicação mais segura ✔️
[https://omemo.top/]. Mesmo assim, seguem algumas sugestões: ### Desktop 🖥️ /
💻️ laptop Entre os vários clientes XMPP atuais em ambientes desktop
[https://blog.ayom.media/daltux/ambiente-de-trabalho-proprietario-ou-de-software-livre-seria-apenas-o-primeiro]
estão Gajim [https://gajim.org/] e Dino [https://flathub.org/apps/im.dino.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 [https://search.f-droid.org/?q=XMPP&lang=pt_BR], você
encontra, por exemplo, Monocles
[https://f-droid.org/pt_BR/packages/de.monocles.chat/], recomendação pessoal por
ser mais completo, ou o popular Conversations
[https://f-droid.org/pt_BR/packages/eu.siacs.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
[https://monal-im.org/] e Siskin [https://siskin.im/]. ### Na Web (JavaScript)
🕸️ Algumas opções de cliente XMPP em navegadores, para telas pequenas ou
maiores, são: - Movim — bem completo, permite inclusive chamadas de voz/vídeo -
🌐 Página do projeto - movim.eu [https://movim.eu/] - 💬 Servidor oficial do
projeto - mov.im [https://mov.im/] - 💬 Servidor do coletivo Disroot -
webchat.disroot.org [https://webchat.disroot.org/] - 💬 Servidor do projeto
Monocles - monocles.chat [https://monocles.chat/] - Converse.js: - 🌐 Página do
projeto - conversejs.org [https://conversejs.org/] - 💬 Servidor oficial do
projeto - inverse.chat [https://inverse.chat/] ### 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
[https://profanity-im.github.io/], 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
[xmpp:chat-ayom@salas.suchat.org?join] – essa é a sala geral de chat da Ayom,
criada por @felipesiles [https://forum.ayom.media/u/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
[https://search.jabber.network/] 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
[https://pt.wikipedia.org/wiki/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 [https://en.wikipedia.org/wiki/OMEMO].
Veja uma lista de aplicações [https://omemo.top/] 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
[https://libreplanet.org/wiki/XMPP.pt] – artigo em português, bem completo,
contemplando motivações para adoção desse protocolo. - Wikipédia: XMPP
[https://pt.wikipedia.org/wiki/XMPP] – versão lusófona bastante defasada.
Confira o artigo anglófono [https://en.wikipedia.org/wiki/XMPP], principal fonte
da seção acima sobre o que é XMPP. — Este texto
[https://forum.ayom.media/post/60917] © 2024-25 por @Daltux
[https://forum.ayom.media/u/daltux] está publicado nos termos da licença CC
BY-SA 4.0 [https://creativecommons.org/licenses/by-sa/4.0/]. 🅭 🅯 🄎
forum.ayom.media