← Volver a la caja de herramientas Guía práctica

Qué es XMPP: mensajería federada sin depender de WhatsApp

Mensajería Federado OMEMO Registro bajo petición Software libre

XMPP es un protocolo abierto de mensajería que funciona de forma federada: tienes una cuenta en un servidor y puedes hablar con gente de otros servidores compatibles, igual que con el correo electrónico. TuiterChat es la instancia XMPP de TuiterRocks, montada sobre Snikket. Más información en tuiterchat.tuiter.ovh. El acceso es por invitación.

Qué es XMPP y por qué tiene sentido

WhatsApp, Telegram, Signal y muchas otras apps modernas tienen algo en común: cada una funciona como una isla. No puedes escribir desde WhatsApp a alguien que solo usa Signal, ni al revés. La mensajería moderna se ha construido sobre plataformas cerradas donde la empresa es el intermediario obligatorio de todas las conversaciones.

XMPP lleva décadas funcionando de otra forma. Es un protocolo abierto, igual que el correo electrónico: tienes una cuenta en un servidor (por ejemplo usuario@xmpp.tuiter.ovh) y puedes hablar con gente de cualquier otro servidor XMPP compatible. No hay una empresa central que controle la red. Si un servidor cierra, puedes crear cuenta en otro servidor y seguir usando la red XMPP, aunque tendrás que avisar a tus contactos de tu nueva dirección.

Para qué sirve: conversaciones directas y grupales con cifrado extremo a extremo, sin depender de una plataforma cerrada, con libertad de elección de cliente y servidor.

Antes de empezar: XMPP no tiene el efecto red de WhatsApp. Tus contactos tienen que tener también una cuenta XMPP, en cualquier servidor compatible. Para comunicarte con alguien que solo usa WhatsApp, XMPP no cubre ese caso.

Cómo pedir acceso a TuiterChat

El acceso a TuiterChat es por invitación. Puedes pedirlo por cualquiera de estas vías:

Cuéntanos un poco quién eres o por qué te interesa XMPP. Recibirás un enlace de invitación para crear tu cuenta.

Tu dirección XMPP: una vez creada la cuenta, tendrás una dirección con el formato tunombre@xmpp.tuiter.ovh. Puedes compartirla con cualquier persona que use XMPP, en cualquier servidor compatible.

Cómo empezar: primeros pasos

  1. Pide invitación Escríbenos por correo o Mastodon. Te enviaremos un enlace de invitación para crear tu cuenta en TuiterChat.

  2. Elige un cliente Descarga la app adecuada para tu dispositivo. Para Android recomendamos Monocles o Conversations. Para escritorio, Dino (Linux) o Gajim (Windows/Linux). Ver la sección siguiente para más detalle.

  3. Crea tu cuenta con el enlace de invitación Abre el enlace de invitación en el navegador o directamente en la app. Snikket guía el proceso de creación de cuenta paso a paso.

  4. Configura el cliente Introduce tu dirección XMPP y contraseña. El servidor es xmpp.tuiter.ovh y el puerto habitual de cliente es 5222, con la conexión cifrada.

  5. Añade contactos y empieza a chatear Puedes añadir contactos de TuiterChat o de cualquier otro servidor XMPP compatible. En muchos clientes modernos, OMEMO se activa por defecto en conversaciones directas si ambas partes usan clientes compatibles.

Clientes recomendados

Una de las ventajas de XMPP es que no hay una app obligatoria. Puedes usar la que mejor se adapte a tu dispositivo y cambiarla cuando quieras sin perder tu cuenta ni tus contactos.

Android

Monocles

Nuestra opción preferida para Android. Centrado en privacidad y XMPP moderno, con soporte completo para OMEMO y una experiencia cómoda para el día a día.

Android

Conversations

Muy buena opción para Android. Clara, sólida y muy conocida dentro del ecosistema XMPP. Fue durante años la referencia en Android.

Linux

Dino

Interfaz limpia y moderna para Linux. Fácil de usar, con buen soporte para OMEMO y llamadas de audio/vídeo.

Windows · Linux

Gajim

Cliente veterano y completo, especialmente cómodo en escritorio. Más opciones de configuración que Dino, ideal para quienes quieren control fino.

iOS · Android

Snikket

La app oficial de Snikket. Muy buena opción para iOS, donde las alternativas son más limitadas. También disponible para Android.

Navegador

Movim

Interfaz web basada en XMPP. Puede ser útil para usos puntuales desde navegador, aunque para mensajería diaria recomendamos mejor clientes móviles o de escritorio.

Para empezar: si usas Android, Monocles. Si usas iOS, la app de Snikket. Si usas Linux, Dino. Si usas Windows, Gajim. Todos son gratuitos y de código abierto.

Cifrado: OMEMO y TLS

XMPP soporta varios niveles de cifrado. Los dos más relevantes para el uso cotidiano son TLS y OMEMO.

TLS cifra la conexión entre tu cliente y el servidor, igual que HTTPS cifra la conexión entre el navegador y una web. Protege el tráfico en tránsito pero no impide que el servidor vea el contenido de los mensajes.

OMEMO es cifrado de extremo a extremo: los mensajes se cifran en tu dispositivo antes de salir y solo pueden descifrarlos los dispositivos del destinatario. El servidor transporta datos cifrados que no puede leer. Los clientes de escritorio y móvil recomendados en esta guía soportan OMEMO, aunque la experiencia puede variar según la app y el tipo de chat.

En la práctica: cuando abres una conversación con alguien que también usa un cliente compatible, OMEMO suele estar disponible desde el principio. Conviene comprobar que el candado o indicador de cifrado aparece activo.

Chats grupales: OMEMO funciona en chats directos y en algunos chats grupales, dependiendo del cliente y de la configuración del servidor. En chats de grupo grandes el cifrado puede no estar disponible o activarse de forma distinta.

XMPP frente a WhatsApp y Signal

← desliza para ver toda la tabla →

XMPP / TuiterChatWhatsAppSignal
Protocolo abiertoNoParcial (Signal Protocol es abierto, la app no es federada)
Federación entre servidoresNoNo
Cifrado extremo a extremoSí (OMEMO)
Elección de clienteSí, múltiples opcionesApp oficial obligatoriaCliente oficial / ecosistema controlado
Elección de servidorSí, cualquier servidor compatibleServidores de MetaServidores de Signal Foundation
Número de teléfono obligatorioNoSí para registrarse; permite ocultarlo con nombre de usuario
Software libreNoParcial
Efecto redLimitadoMuy altoMedio

La ventaja de XMPP está en la apertura: puedes elegir servidor, cliente y comunidad. El problema práctico es que si tus contactos no tienen cuenta XMPP, no puedes hablar con ellos por este canal. Funciona bien como alternativa real para quien ya ha decidido que la quiere, no como sustituto de WhatsApp de un día para otro.

Sección técnica: Snikket

Si solo quieres usar TuiterChat, no necesitas leer esta sección. Está pensada para quien quiera entender cómo está montado o montar algo similar.

TuiterChat corre sobre Snikket, una distribución XMPP autocontenida basada en Prosody. Snikket empaqueta en Docker todo lo necesario: servidor XMPP, panel de administración web, gestión automática de certificados TLS, servidor TURN para llamadas de audio/vídeo y portal de invitaciones. El repositorio oficial está en GitHub y la documentación en snikket.org.

Requisitos previos

Snikket necesita un dominio o subdominio propio, acceso para crear registros DNS y Docker instalado en el servidor. En una instalación típica, Snikket usa tres nombres DNS apuntando al mismo servidor: el principal (por ejemplo chat.tudominio.org), groups.chat.tudominio.org para chats grupales y share.chat.tudominio.org para transferencia de archivos.

DNS necesario

Registros DNS requeridos chat.tudominio.org         A    → IP del servidor
groups.chat.tudominio.org CNAME → chat.tudominio.org
share.chat.tudominio.org  CNAME → chat.tudominio.org

Instalación con Docker Compose

Este ejemplo es orientativo. Antes de poner una instancia en producción conviene revisar la documentación oficial, especialmente la parte de puertos, DNS y configuración de TURN.

Descarga y configuración inicial mkdir /etc/snikket && cd /etc/snikket
curl -o docker-compose.yml \
  https://snikket.org/service/resources/docker-compose.yml
snikket.conf # Dominio principal de la instancia
SNIKKET_DOMAIN=chat.tudominio.org

# Email del administrador (también para Let’s Encrypt)
SNIKKET_ADMIN_EMAIL=admin@tudominio.org
Arrancar la instancia docker compose up -d

Al arrancar por primera vez, Snikket solicita automáticamente los certificados TLS para los tres subdominios. Una vez en marcha, el panel de administración está disponible en https://chat.tudominio.org. Desde ahí puedes crear el primer usuario administrador y generar los primeros enlaces de invitación.

Puertos requeridos

Puertos habituales que deben estar abiertos en el firewall 80/TCP   # ACME / Let’s Encrypt
443/TCP  # Panel web y HTTPS
5222/TCP # Conexiones de clientes XMPP
5269/TCP # Federación entre servidores XMPP
3478/TCP # TURN (llamadas de audio/vídeo)
3478/UDP # TURN
5349/TCP # TURNS (TURN sobre TLS)

Crear invitaciones

Crear un enlace de invitación desde la línea de comandos docker exec snikket create-invite –group default

Actualizaciones

Actualizar la instancia docker compose pull
docker compose up -d

Preguntas frecuentes

¿Qué es XMPP?

Es un protocolo abierto de mensajería instantánea. Permite usar distintos clientes y distintos servidores sin depender de una sola empresa, de forma parecida a cómo funciona el correo electrónico.

¿Puedo hablar con gente de otros servidores XMPP?

Sí. La federación es parte del diseño: una cuenta en TuiterChat puede comunicarse con cuentas alojadas en otros servidores XMPP compatibles, igual que una dirección de correo puede enviar a cualquier otro dominio.

¿Qué app necesito para usar XMPP?

Depende del dispositivo. Para Android: Monocles o Conversations. Para escritorio Linux: Dino o Gajim. Para Windows: Gajim. Para iOS: la app oficial de Snikket. Ninguna es obligatoria: puedes cambiar de cliente sin perder tu cuenta.

¿Es necesario un número de teléfono?

No. XMPP no requiere número de teléfono. Tu identificador es una dirección de la forma usuario@servidor, similar a una dirección de correo.

¿Los mensajes están cifrados?

La conexión entre tu cliente y el servidor siempre va cifrada con TLS. Para cifrado de extremo a extremo, los clientes recomendados como Monocles, Conversations, Dino o Gajim soportan OMEMO, que cifra los mensajes antes de salir de tu dispositivo. En muchos clientes modernos se activa por defecto en conversaciones compatibles, pero conviene comprobar que el indicador de cifrado aparece activo.

¿Puedo usar XMPP desde varios dispositivos a la vez?

Sí. XMPP permite conectarse desde varios dispositivos simultáneamente. Los mensajes se sincronizan entre ellos. OMEMO gestiona las claves por dispositivo, así que cada dispositivo nuevo necesita ser verificado por los contactos la primera vez.

¿TuiterChat soporta llamadas de audio y vídeo?

Sí, TuiterChat incluye soporte para llamadas mediante TURN. La disponibilidad real depende del cliente, del dispositivo y de la red desde la que te conectes.

¿XMPP es lo mismo que Matrix?

No. Ambos son sistemas de mensajería abiertos y federados, pero son protocolos distintos. XMPP es más veterano, ligero y muy extendido en clientes móviles y de escritorio. Matrix tiene otro enfoque, más centrado en salas persistentes, puentes e historial sincronizado.

¿TuiterChat puede leer mis mensajes?

Si usas OMEMO en una conversación directa compatible, el contenido va cifrado de extremo a extremo y el servidor no puede leerlo. Sin OMEMO, el servidor transporta los mensajes y tiene más visibilidad técnica. Por eso recomendamos usar clientes modernos con OMEMO activo.

¿Quieres una cuenta en TuiterChat? Escríbenos por correo o Mastodon y te enviamos un enlace de invitación. También puedes visitar la web de TuiterChat para más información.

Deja un comentario