Usar Jami em uma LAN

Devido à natureza distribuída de Jami, é possível usá-lo através de uma LAN, sem qualquer conexão à Internet. Isso permite que você continue a se comunicar com outras pessoas na empresa / edifício / país sem acesso à Internet global. No entanto, alguns serviços são externos, por isso neste documento vamos explicar alguns ajustes que você pode precisar.

Aumento de peso

O que é uma banda de arranque?

Jami usa a tecnologia DHT para encontrar outros usuários. Assim, todos os usuários que você deseja entrar em contato devem ser acessíveis na mesma rede DHT (por exemplo, se a Internet for dividida entre dois edifícios, os usuários nos primeiros edifícios não poderão chegar ao segundo edifício). Para entrar em uma rede DHT, deve ser possível chegar ao menos a outro nó. Este nó é chamado bootstrap, é o ponto de entrada da rede. Por padrão, bootstrap.jami.net é configurado, mas qualquer nó no público DHT 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. Nesse 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 retrocesso para conexões se o NAT bloquear todas as conexões possíveis. Geralmente é turn.jami.net, mas pode ser qualquer TURN (usamos coturn, cf. /developer/set-up-your-own-turn-server)

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 é usado com dispositivos móveis para economizar bateria evitando a sincronização. Geralmente é dhtproxy.jami.net, mas pode ser qualquer nó DHT com a API REST habilitada. No entanto, se o proxy DHT estiver usando notificações push, dependerá de outro serviço externo (Firebase ou APN ou uma instância Unified Push). Neste caso, apenas o terceiro pode ser auto-hospedado.

No iOS, basicamente não é possível trabalhar sem push, pois o sistema operacional da Apple irá matar qualquer aplicativo assim que estiver em segundo plano. Portanto, você não pode desativar o uso de notificações push. No entanto, para Android, você pode querer auto-hostar seu proxy (com ou sem suporte unificado de push), ou você pode desativar o DHT Proxy e ativar “Run in background” para usar seu DHT local.

NomeServer

Finalmente, o último serviço externo que você pode precisar é um NameServer. Este é usado para traduzir endereços (o ID de impressão digital de 40 caracteres) para nomes de usuários. Você pode não ter acesso a ns.jami.net, mas você pode auto-host um (/developer/name-server-protocol) ou usar apenas IDs.