
O primeiro lançamento da plataforma de comunicações descentralizadas Jami chegou hoje e é distribuído sob o codinome Together. Anteriormente, o projeto se desenvolvia com um nome diferente - Ring, e antes disso - SFLPhone. Em 2018, o mensageiro descentralizado foi renomeado para evitar possíveis conflitos com marcas.
O código do messenger é distribuído sob a licença GPLv3. Jami é lançado para GNU / Linux, Windows, MacOS, iOS, Android e Android TV. Opcionalmente, você pode selecionar uma das opções de interface com base em Qt, GTK e Electron. Mas o principal aqui, claro, não são as interfaces, mas o fato de que o Jami possibilita a troca de mensagens sem acessar servidores externos dedicados.
Em vez disso, uma conexão direta é estabelecida entre os usuários usando criptografia de ponta a ponta. Neste caso, as chaves estão presentes apenas no lado do cliente. O procedimento de autenticação é baseado em certificados X.509. Além do envio de mensagens, a plataforma possibilita fazer chamadas de áudio e vídeo, criar teleconferências, trocar arquivos e organizar o compartilhamento de arquivos e conteúdo da tela.
Inicialmente, este projeto foi posicionado e desenvolvido como um soft phone SIP. Mas então os desenvolvedores decidiram expandir a funcionalidade do projeto, mantendo a compatibilidade com o SIP e deixando a possibilidade de fazer chamadas usando este protocolo. O programa suporta vários codecs, incluindo G711u, G711a, GSM, Speex, Opus, G.722, além dos protocolos ICE, SIP e TLS.
Os recursos de comunicação incluem cancelamento de encaminhamento de chamadas, retenção de chamadas, gravação de chamadas, histórico de chamadas pesquisáveis, controle automático de volume, integração com livros de endereços GNOME e KDE.
Acima, falamos brevemente sobre um sistema de autenticação de usuário confiável. O mecanismo é baseado no blockchain - o catálogo de endereços é baseado no Ethereum. Nesse caso, você pode se conectar a partir de vários dispositivos ao mesmo tempo, contatando o usuário independentemente de qual dispositivo está ativo. O catálogo de endereços, que é responsável por traduzir os nomes em RingIDs, é implementado usando nós que são suportados por diferentes participantes. Com eles, você pode iniciar seu próprio nó para manter uma cópia local do catálogo de endereços global.
No que se refere ao endereçamento aos usuários, os desenvolvedores utilizaram o protocolo OpenDHT para solucionar esse problema, que dispensa a utilização de cadastros centralizados com informações sobre os usuários. O núcleo do Jami é o jami-daemon, que é responsável por lidar com as conexões, organizar as comunicações, trabalhar com vídeo e som.
A interação com o jami-daemon é baseada na biblioteca LibRingClient. É a base para construir o software cliente e fornece a funcionalidade necessária que não está vinculada à interface do usuário e às plataformas. E já em cima do LibRingClient, são desenvolvidas aplicações cliente.
Ao redesenhar o mensageiro P2P em uma plataforma de telecomunicações, os desenvolvedores adicionaram funções novas e atualizaram as existentes. Aqui estão eles:
- Melhor desempenho em redes de baixa largura de banda.
- Android iOS.
- Windows. .
- .
- .
- ( , , ).
- JAMS.
- , .
