Utilice Jami en una LAN

Debido a la naturaleza distribuida de Jami, es posible usarlo a través de una red LAN, sin ninguna conexión a Internet. Esto le permite continuar comunicándose con otras personas en la empresa / edificio / país sin acceso a Internet global. Sin embargo, algunos servicios son externos, por lo que en este documento explicaremos algunos ajustes que puede necesitar.

El aumento de la velocidad

¿Qué es una correa de arranque?

Jami utiliza la tecnología DHT para encontrar otros usuarios. Por lo tanto, todos los usuarios con los que desea comunicarse deben ser accesibles en la misma red DHT (por ejemplo, si Internet se divide entre dos edificios, los usuarios en los primeros edificios no podrán llegar al segundo edificio). Para entrar en una red DHT, uno debe ser capaz de llegar al menos a otro nodo. Este nodo se llama bootstrap, es el punto de entrada de la red. Por defecto, bootstrap.jami.net se configura, pero cualquier nodo en el DHT público puede ser un bootstrap (es un nodo clásico, generalmente siempre en línea).

Así que, si Internet está cortado, se necesita otra banda de arranque para crear una red. En una LAN, hay dos formas de configurarlo en Jami:

Configuración de arranque

En las configuraciones avanzadas de la cuenta, el usuario puede configurar múltiples arranques. bootstrap.jami.net es generalmente el predeterminado, bootstrap.jami.net;your.bootstrap.tld será válido. El IP:port de otro nodo DHT se puede especificar como arranque.

Ejecutando un bootstrap

Es posible ejecutar un nodo DHT para servir como punto de inicio para los clientes de Jami. En este caso, el campo de inicio en la configuración se debe reemplazar por el nuevo punto de inicio. La documentación para ejecutar un nodo DHT se encuentra en la wiki de OpenDHT: https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode

Descubrimiento de pares locales

Otra forma es habilitar el descubrimiento por pares. Esto anunciará la salida en la red mediante la emisión de paquetes UDP (como una impresora). Por lo tanto, la emisión UDP debe ser compatible con la red para que funcione. Sin embargo, este método no necesita especificar un ip:port en las configuraciones, por lo que se puede preferir.

El tiempo

Otro servicio externo es el servidor TURN, utilizado como una redirección para las conexiones si el NAT bloquea todas las conexiones posibles. Generalmente es turn.jami.net pero puede ser cualquier TURN (usamos coturn, cf. /developer/set-up-your-own-turn-server)

En una LAN, puede ser ignorado (porque no habrá NAT), pero no debería ser necesario desactivarlo (porque no se utilizará si no es accesible).

En móvil (DHT Proxy)

Un DHT Proxy se utiliza con dispositivos móviles para ahorrar batería evitando la sincronización. Generalmente es dhtproxy.jami.net pero puede ser cualquier nodo DHT con la API REST habilitada. Sin embargo, si el proxy DHT está utilizando notificaciones push dependerá de otro servicio externo (Firebase o APN o una instancia de Push Unified). En este caso, solo el tercero puede ser auto-hostado.

En iOS, básicamente no es posible trabajar sin push, ya que el sistema operativo de Apple matará cualquier aplicación tan pronto como esté en segundo plano. Por lo que no puede desactivar el uso de notificaciones push. Sin embargo, para Android, puede que desee auto-host su proxy (con o sin soporte unificado de push), o puede desactivar el DHT Proxy y habilitar «Run in background» para usar su DHT local.

Nombre del servidor

Por último, el último servicio externo que puede necesitar es un NameServer. Se utiliza para traducir direcciones (la identificación de huellas dactilares de 40 caracteres) a nombres de usuario. Puede que no tenga acceso a ns.jami.net, pero puede alojar uno en sí mismo (/developer/name-server-protocol) o usar solo IDs.