Usar Jami em uma LAN

Devido à natureza distribuída do Jami, é possível utilizá-lo através de uma [rede local (LAN)] (https://pt.wikipedia.org/wiki/Rede_de_%C3%A1rea_local), sem qualquer ligação à Internet. Isto permite-lhe continuar a comunicar com outras pessoas da empresa/edifício/país sem acesso global à Internet. No entanto, alguns serviços são externos, pelo que neste documento explicaremos alguns ajustes de que pode necessitar.

Bootstrapping

O que é uma banda de arranque?

O Jami utiliza a tecnologia distributed hash table (DHT) para encontrar outros utilizadores. Assim, todos os utilizadores que pretende contactar têm de estar acessíveis na mesma rede DHT (por exemplo, se a Internet estiver dividida entre dois edifícios, os utilizadores do primeiro edifício não conseguirão chegar ao segundo edifício). Para entrar numa rede DHT, é necessário poder contactar pelo menos um outro nó. Este nó chama-se bootstrap e é o ponto de entrada da rede. Por defeito, bootstrap.jami.net está configurado, mas qualquer nó na DHT pública pode ser um bootstrap (é um nó clássico, geralmente sempre online).

Então, se a Internet está cortada, você precisa de outra banda de arranque para criar uma rede. Em uma LAN, há duas maneiras de configurá-lo em Jami:

Configurações de arranque

Nas configurações avançadas da conta, o usuário pode configurar vários bootstraps. bootstrap.jami.net é geralmente o padrão, bootstrap.jami.net;your.bootstrap.tld será válido. O IP:port de outro nodo DHT pode ser especificado como bootstrap.

Executando um bootstrap

É possível executar um nó DHT para servir como um bootstrap para os clientes Jami. Neste caso, o campo bootstrap nas configurações deve ser substituído pelo novo bootstrap. A documentação para executar um nó DHT está localizada no wiki do OpenDHT: https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode.

Descoberta Local por Pires

Outra maneira é habilitar a descoberta de pares. Isso anunciará o bootstrap na rede através da transmissão de pacotes UDP (como uma impressora).

TURN

Outro serviço externo é o servidor TURN, usado como um fallback para conexões se o NAT bloquear todas as conexões possíveis. Geralmente é turn.jami.net mas pode ser qualquer TURN (nós usamos coturn).

Em uma LAN, pode ser ignorado (porque não haverá NAT), mas desativar não deve ser necessário (porque não será usado se não for acessível).

Em móvel (DHT Proxy)

Um proxy DHT é utilizado com dispositivos móveis para poupar bateria, evitando a sincronização. Geralmente é dhtproxy.jami.net mas pode ser qualquer nó DHT com a API REST activada. No entanto, se o proxy DHT estiver a utilizar notificações push, dependerá de outro serviço externo (Firebase ou APN ou uma instância UnifiedPush). Neste caso, apenas o terceiro pode ser auto-hospedado.

No iOS é basicamente impossível trabalhar sem notificações push, uma vez que o sistema operativo da Apple elimina qualquer aplicação assim que esta estiver em segundo plano. Assim, não é possível desativar a utilização de notificações push. No entanto, para Android, pode querer auto-hospedar o seu proxy (com ou sem suporte UnifiedPush), ou pode desativar o DHT Proxy e ativar “Run in the background” para usar o seu DHT local.

Nome do servidor

Finalmente, o último serviço externo de que pode precisar é um servidor de nomes. Este é utilizado para traduzir endereços (o ID de impressão digital de 40 caracteres) para nomes de utilizador. Você pode não ter acesso ao ns.jami.net, mas você pode auto-hospedar um (:doc:/developer/name-server-protocol) ou usar apenas IDs.