Utilisez Jami sur un réseau local

En raison de la nature distribuée de Jami, il est possible de l’utiliser sur un réseau local sans connexion Internet. Cela vous permet de continuer à communiquer avec d’autres personnes dans l’entreprise / bâtiment / pays sans accès à Internet mondial. Cependant, certains services sont externes, nous allons donc expliquer dans ce document quelques ajustements que vous pourriez avoir besoin.

Le renforcement

C’est quoi une bande de démarrage?

Jami utilise la technologie DHT pour trouver d’autres utilisateurs. Ainsi, tous les utilisateurs que vous voulez contacter doivent être accessibles sur le même réseau DHT (par exemple, si Internet est divisé entre deux bâtiments, les utilisateurs des premiers bâtiments ne pourront pas atteindre le deuxième bâtiment). Pour entrer dans un réseau DHT, on doit être en mesure d’atteindre au moins un autre nœud. Ce nœud est appelé bootstrap, c’est le point d’entrée du réseau. Par défaut, bootstrap.jami.net est configuré, mais tout nœud dans le public DHT peut être un bootstrap (il s’agit d’un nœud classique, généralement toujours en ligne).

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)

Il est possible de faire fonctionner un nœud DHT qui servira de bootstrap pour les clients Jami. Dans ce cas, le champ bootstrap dans les paramètres doit être remplacé par le nouveau bootstrap. La documentation relative à l’exécution d’un nœud DHT se trouve dans le wiki d’OpenDHT : 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

Un autre service externe est le serveur TURN, utilisé comme une rétroaction pour les connexions si le NAT bloque toutes les connexions possibles. Généralement, c’est turn.jami.net mais peut être n’importe quel TURN (nous utilisons coturn, cf. /developer/set-up-your-own-turn-server)

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.

NomServeur

Enfin, le dernier service externe dont vous aurez besoin est un NameServer. Il est utilisé pour traduire les adresses (l’identifiant d’empreinte digitale de 40 caractères) en noms d’utilisateur. Vous n’avez peut-être pas accès à ns.jami.net, mais vous pouvez en héberger un (/developer/name-server-protocol) ou utiliser uniquement des identifiants.