Utilisez Jami sur un réseau local

Due the distributed nature of Jami, it is possible to use it over a local area network (LAN), without any Internet connection. This allows you to continue to communicate with other people in the company/building/country without global Internet access. However, some services are external so in this document we will explain some tweaks you may need.

Bootstrapping

C’est quoi une bande de démarrage?

Jami uses the distributed hash table (DHT) technology to find other users. So, all the users you want to contact must be reachable on the same DHT network (e.g. if the Internet is split between two buildings, users in the first buildings will not be able to reach the second building). To enter a DHT network, one must be able to reach at least one other node. This node is called bootstrap, it is the entry point of the network. By default, bootstrap.jami.net is configured, but any node in the public DHT can be a bootstrap (it is a classic node, generally always online).

Donc, si Internet est coupé, vous avez besoin d’un autre démarrage pour créer un réseau.

Paramètres de démarrage

Dans les paramètres de compte avancés, l’utilisateur peut configurer plusieurs démarrageurs. bootstrap.jami.net est généralement par défaut, bootstrap.jami.net;your.bootstrap.tld sera valide. L’IP:port d’un autre nœud DHT peut être spécifié comme démarrageur.

Lancer un nœud d’amorçage (bootstrap)

It’s possible to run a DHT node to serve as a bootstrap for Jami clients. In this case, the bootstrap field in the settings must be replaced by the new bootstrap. The documentation to run a DHT node is located in OpenDHT’s wiki: https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode.

Découverte par des pairs locaux

Une autre façon est de permettre la découverte par les pairs. Cela annoncera le démarrage sur le réseau en diffusant des paquets UDP (comme une imprimante). Ainsi, la diffusion UDP doit être prise en charge par le réseau afin de fonctionner. Cependant, cette méthode ne nécessite pas de spécifier un ip:port dans les paramètres, de sorte qu’il peut être préféré.

Retour

Another external service is the TURN server, used as a fallback for connections if the NAT block all possible connections. Generally it is turn.jami.net but can be any TURN (we use coturn).

Sur un réseau local, il peut être ignoré (car il n’y aura pas de NAT), mais il ne devrait pas être nécessaire de le désactiver (car il ne sera pas utilisé si il est inaccessible).

Sur mobile (DHT Proxy)

A DHT Proxy is used with mobile devices to save battery by avoiding synchronization. It is generally dhtproxy.jami.net but can be any DHT node with the REST API enabled. However, if the DHT proxy is using push notifications it will depend on another external service (Firebase or APN or a UnifiedPush instance). In this case, only the third one can be self-hosted.

On iOS it is basically impossible to work without push, as the OS from Apple will kill any application as soon as it is in background. So you can not disable the usage of push-notifications. However, for Android, you may want to self-host your proxy (with or without UnifiedPush support), or you can disable the DHT Proxy and enable « Run in the background » in order to use your local DHT.

serveur de nom

Finally, the last external service you may need is a name server. This is used to translate addresses (the 40-characters fingerprint ID) to usernames. You may not have access to ns.jami.net, but you can self-host one (:doc:/developer/name-server-protocol) or only use IDs.