Gebruik Jami op een LAN

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

Wat is een bootstrap?

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).

Als je het internet hebt afgesneden, heb je een andere bootstrap nodig om een netwerk te maken.

Bootstrap-instellingen

In de geavanceerde accountinstellingen kan de gebruiker meerdere bootstraps configuren. bootstrap.jami.net is meestal de standaard, bootstrap.jami.net;your.bootstrap.tld zal geldig zijn. De IP:port van een andere DHT-knop kan worden gespecificeerd als een bootstrap.

Running a 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.

Plaatselijke peerdiscoveries

Een andere manier is om peer discovery mogelijk te maken. Dit zal de bootstrap op het netwerk aankondigen door UDP-pakketten uit te zenden (zoals een printer).

De omloop

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).

Op een LAN kan het worden genegeerd (omdat er geen NAT zal zijn), maar het uitschakelen ervan zou niet nodig moeten zijn (omdat het niet zal worden gebruikt als het niet bereikbaar is).

Op mobiel (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.

Naamserver

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 (name server protocol) or only use IDs.