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)

Un DHT Proxy est utilisé avec les appareils mobiles pour économiser la batterie en évitant la synchronisation. Il est généralement dhtproxy.jami.net mais peut être n’importe quel nœud DHT avec l’API REST activée. Cependant, si le DHT proxy utilise des notifications push, il dépendra d’un autre service externe (Firebase ou APN ou une instance Unified Push). Dans ce cas, seul le troisième peut être auto-hébergé.

Sur iOS, il est essentiellement impossible de travailler sans push, car l’OS d’Apple tuera toute application dès qu’elle sera en arrière-plan. Vous ne pouvez donc pas désactiver l’utilisation de notifications push. Cependant, pour Android, vous pouvez souhaiter héberger votre proxy (avec ou sans support unifié push), ou vous pouvez désactiver le DHT Proxy et activer « Run in background » afin d’utiliser votre DHT local.

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 (Nom du protocole serveur) ou utiliser uniquement des identifiants.