Matrix Synapse (Servidor de Mensajería Instantánea)

icono de Matrix Synapse

Disponible desde: versión 0.14.0

1. ¿Qué es Matrix?

Matrix es un protocolo abierto para comunicaciones sobre IP en tiempo real interoperables y descentralizadas. Synapse es la implementación de referencia de un servidor Matrix. Se puede usar para montar mensajería instantánea sobre FreedomBox para albergar salas de chat con comunicaciones cifradas punto a punto y llamadas de audio/vídeo. Matrix Synapse es una aplicación federada en la que puede haber salas de chat en un servidor y los usuarios de cualquier otro servidor de la red federada pueden unirse a ellas. Más información acerca de Matrix.

2. ¿Cómo acceder a tu servidor Matrix Synapse?

Para acceder al servidor Matrix Synapse recomendamos el cliente Element. Puedes descargar Element para escritorio. Las aplicaciones para Android e iOS están disponibles en sus tiendas (app stores) respectivas.

3. Configurar Matrix Synapse en tu FreedomBox

Para habilitar Matrix Synapse, primero navega a la página de tu servidor de chat (Matrix Synapse) e instálalo. Matrix necesita un nombre de dominio válido configurado. Tras la instalación, se te pedirá que lo configures seleccionandolo de entre un menú desplegable con dominios disponibles. Los dominios se configuran en la página Sistema -> Configuración y actualmente no podrás cambiar el dominio una vez esté configurado. Tras configurar un dominio verás que el servicio se está ejecutando. El servicio estará accesible en el dominio de FreedomBox configurado.

Tendrás que configurar tu router para que reenvíe el puerto 8448 a tu FreedomBox.

Todos los usuarios registrados en tu FreedomBox tendrán sus IDs Matrix @usuario:dominio. Si está habilitado el registro público tu cliente se puede usar también para registrar una cuenta de usuario nueva.

4. Configurar llamadas de audio/vídeo

El servidor Matrix Synapse solo es responsable de establecer las conexiones entre los participantes de la sala. Los clientes Matrix como Element son los responsables de transmitir el audio/vídeo. Element soporta tanto llamadas individuales como de grupo.

Para conversaciones individuales, Element intenta establecer una conexión directa entre ambos participantes. Esto funciona cuando ambos participantes están empleando Element en máquinas con una IP pública o si están en la misma red (local). Si ambos participantes están detrás de diferentes NATs no será posible establecer una conexión directa entre ellos. Esta dificultad se resuelve configurando Matrix Synapse contra un servidor STUN/TURN. FreedomBox proporciona una app llamada Coturn para este propósito. FreedomBox no instala Coturn automaticamente al instalar Matrix Synapse. No obstante, en cuanto se instala la app Coturn FreedomBox automáticamente reconfigura Matrix Synapse para usarla en llamadas de audio/vídeo. Se puede ajustar esta configuración en la interfaz web para emplear otro servidor STUN/TURN.

Para llamadas de grupo Element emplea una instancia de Jitsi Meet externa; por omisión, jitsi.riot.im. Si se configura el servidor Matrix Synapse para usar una instancia Jitsi Meet diferente Element la usará para todos los usuarios del servidor.

5. Federarse con otras instancias Matrix

Podrás interactuar con cualquier otra persona que ejecute otra instancia de Matrix. Esto se hace simplemente iniciando una conversación con ellos usando su matrix ID que seguirá el formato @su-usuario:su-dominio. También podrás unirte a salas de otros servidores y tener llamadas de audio/video con contactos de otros servidores.

6. Uso de Memoria

El servidor de referencia Synapse implementado en Python es conocido por consumir mucha RAM, especialmente al cargar salones grandes con miles de participantes como #matrix:matrix.org. Se recomienda evitar unirse a estos salones si tu dispositivo FreedomBox solo tiene 1 GiB RAM o menos. Debería ser seguro unirse a salas con hasta 100 participantes. El equipo de Matrix está trabajando en una implementación de servidor Matrix escrita en Go llamada Dendrite que debería tener mejor rendimiento en entornos con poca memoria.

Algunos salones públicos muy grandes de la red Matrix están también disponibles como canales IRC (p.ej. #freedombox:matrix.org está disponible también como #freedombox en irc.debian.org). Es mejor usar IRC en vez de Matrix para estos salones tán grandes. Puedes unirte a los canales de IRC usando Quassel.

7. Uso Avanzado

  1. Si quieres crear una gran cantidad de usuarios en tu servidor de Matrix Synapse usa los siguientes comandos en una shell remota como usuario root:
    • cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 | sed "s+^+registration_shared_secret: +" > /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
      chmod 600 /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
      chown matrix-synapse:nogroup /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
      systemctl restart matrix-synapse
      register_new_matrix_user -c /etc/matrix-synapse/conf.d/registration_shared_secret.yaml
  2. Si quieres ver la lista de usuarios registrados en Matrix Syanpse haz lo siguiente como usuario root:
    • apt install sqlite3
      echo 'select name from users' | sqlite3 /var/lib/matrix-synapse/homeserver.db  
  3. Para crear una comunidad en Matrix Synapse se necesita un usuario Matrix con privilegios de admin en el servidor. Para dárselos a miusuario ejecuta los siguientes comandos como usuario root:

    • sudo apt install sqlite3
      echo "UPDATE users SET admin=1 WHERE name='@miusuario:dominio'" | sudo sqlite3 /var/lib/matrix-synapse/homeserver.db  

8. Redirección de Puertos

Si tu FreedomBox está detrás de un router, necesitarás configurar la redirección de los siguientes puertos para Matrix:

9. Enlaces externos

Volver a la descripción de Funcionalidades o a las páginas del manual.


CategoryFreedomBox