Utilice Jami en una LAN
Debido a la naturaleza distribuida de Jami, es posible usarlo a través de una red [LAN] (https://wikipedia.org/wiki/Local_area_network) sin conexión a Internet. Esto permite continuar la comunicación con otras personas en la empresa/edificio/país sin acceso global a Internet. Sin embargo, algunos servicios son externos, por lo que en este documento explicaremos algunos ajustes que puede necesitar.
Arranque
¿Qué es un servidor de arranque?
Jami usa la tecnología DHT para encontrar otros usuarios. Por lo tanto, todos los usuarios con los que desea contactar deben estar accesibles en la misma red DHT (por ejemplo, si Internet se divide entre dos edificios, los usuarios del primer edificio no podrán comunicarse con el segundo edificio). Para ingresar a una red DHT, uno debe poder alcanzar al menos otro nodo. Este nodo se denomina servidor de arranque; es el punto de entrada a la red. Por defecto, el bootstrap.jami.net el servidor de arranque está configurado, pero cualquier nodo en la red DHT pública puede ser un servidor de arranque (es un nodo clásico, generalmente siempre en línea).
Si se corta Internet, se requiere otro servidor de arranque para crear una red. En una red LAN, hay dos formas de configurar un servidor de arranque en Jami:
Configuración del servidor Bootstrap
En la configuración avanzada de la cuenta, el usuario puede configurar varios servidores de arranque. El servidor de arranque predeterminado habitual es bootstrap.jami.net. También son válidos los servidores de arranque bootstrap.jami.net;your.bootstrap.tld. Se puede especificar el IP: port de otro nodo DHT como un servidor de arranque.
Ejecutando un servidor de arranque
Es posible ejecutar un nodo DHT para que sirva como servidor de arranque para los clientes Jami. En este caso, el campo servidor de arranque en la configuración debe reemplazarse por el nuevo servidor de arranque. La documentación para ejecutar un nodo DHT se encuentra en el wiki de OpenDHT: https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode.
Descubrimiento local de pares
Otra forma es habilitar el descubrimiento de pares. Esto anunciará el servidor de arranque en la red transmitiendo paquetes UDP (como una impresora). Por lo tanto, la transmisión UDP debe ser compatible con la red para que funcione. Sin embargo, este método no necesita especificar una ip:puerto en la configuración, por lo que puede ser preferible.
Servidor TURN
Otro servicio externo es el servidor TURN, que se utiliza como alternativa para las conexiones si el servidor NAT bloquea todas las conexiones posibles. Generalmente es el servidor turn.jami.net pero puede ser cualquier servidor TURN (usamos el servidor coTURN).
En una red LAN, puede ignorarse (porque no habrá servidor NAT), pero deshabilitarlo debería ser innecesario (porque no se usará si no se puede acceder a él).
En móvil (DHT Proxy)
Un proxy DHT se usa con dispositivos móviles para ahorrar batería al evitar la sincronización. Generalmente es el proxy dhtproxy.jami.net, pero puede ser cualquier nodo DHT con la API REST habilitada. Sin embargo, si el proxy DHT usa notificaciones push, dependerá de otro servicio externo (Firebase, APN o una instancia de UnifiedPush). En este caso, solo la instancia de UnifiedPush se puede autohospedar.
Para dispositivos con el sistema operativo iOS, es básicamente imposible trabajar sin notificaciones push, ya que el sistema operativo de Apple eliminará cualquier aplicación tan pronto como esté en segundo plano. Por lo tanto, no puede deshabilitar el uso de notificaciones push. Sin embargo, para dispositivos con el sistema operativo Android, es posible que desee autohospedar su proxy (con o sin soporte UnifiedPush), o puede deshabilitar el proxy DHT y habilitar «Ejecutar en segundo plano» para usar su red DHT local.
Nombre del servidor
Finalmente, el último servicio externo que puede necesitar es un servidor de nombres. Esto se usa para traducir direcciones (la identificación de huellas dactilares de 40 caracteres) a nombres de usuario. Es posible que no tenga acceso al servidor de nombres ns.jami.net, pero puede autohospedar un servidor de nombres (protocolo del servidor de nombres) o usar solo ID.