Utilizzare Jami su una 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
Cos’è una scarpa da lancio?
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).
Quindi, se Internet è tagliato, hai bisogno di un altro bootstrap per creare una rete.
Impostazioni di bootstrap
Nella configurazione avanzata dell’account, l’utente può configurare più bootstrap. bootstrap.jami.net è di solito la predefinita, bootstrap.jami.net;your.bootstrap.tld sarà valida. L’IP:port di un altro nodo DHT può essere specificato come 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.
Scoprimento di pari locali
Un altro modo è quello di abilitare la scoperta dei pari. Questo annuncia il bootstrap sulla rete trasmettendo pacchetti UDP (come una stampante). Quindi, la trasmissione UDP deve essere supportata dalla rete per funzionare. Tuttavia, questo metodo non ha bisogno di specificare un ip:port nelle impostazioni, quindi può essere preferito.
TURN
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).
In una LAN, può essere ignorato (perché non ci sarà NAT), ma la disattivazione non dovrebbe essere necessaria (perché non sarà utilizzato se non raggiungibile).
Su 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.
Server dei nomi
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.