Conceptos de Jami

Jami es una plataforma bastante compleja que interactúa con muchos componentes diferentes e introduce muchos conceptos nuevos. Este manual está destinado a ayudar a comprender cómo funciona Jami, cómo desarrollar para Jami y cómo contribuir al proyecto.

Para resumir rápidamente y ayudar a encontrar la parte del manual que se esté buscando, he aquí una breve descripción de las distintas secciones:

Jami es una plataforma distribuida que permite a los usuarios comunicarse sin la necesidad de un servidor central. Por lo tanto, una cuenta Jami consiste en una cadena de certificados (CA, cuenta y dispositivo) que se utiliza para autenticar al usuario y cifrar la comunicación. La cuenta se almacena en el dispositivo del usuario, no en un servidor.

Para ello, aquí está la página que explica cómo funciona:

Una vez creada la cuenta de usuario, este puede ponerse en contacto con otras personas enviando solicitudes de conexión a través de un DHT (https://opendht.net) después de encontrar el ID de contacto (directamente conocido o buscando el servidor de nombres). Si ambas partes están de acuerdo, primero intentarán crear un enlace TCP P2P( con el protocolo ICE), luego cifrarlo a través de TLS y usarlo como un socket multiplexado para transmitir datos para varios protocolos, cf.:

Cuando ambos compañeros están en la lista de contactos, se crea una conversación. Esta conversación es un enjambre basado en Tecnología de Enjambre. Un enjambre se sincroniza entre todos los dispositivos en una conversación a través del protocolo “git” (es un repositorio Git), y las conexiones entre dispositivos en una conversación se enrutan mediante un componente llamado DRT (tabla de enrutamiento distribuido).

Luego, la conexión se puede usar para enviar mensajes, archivos o llamar (1: 1 o conferencias).

Nota

Solo las llamadas que utilizan cuentas Jami se basan en la tecnología Swarm.

Finalmente, un usuario puede tener varios dispositivos y se sincroniza mucha información entre ellos.