Foi lançado um novo episódio da plataforma de comunicação descentralizada Jami, distribuído sob o codinome "Taranis". O projeto visa criar um sistema de comunicações operando em modo P2P, permitindo tanto a comunicação entre grandes grupos quanto a realização de chamadas individuais, com um alto nível de privacidade e segurança. Jami, anteriormente conhecido como Ring e SFLphone, faz parte dos projetos GNU e é distribuído sob a licença GPLv3. Compilações binárias estão disponíveis para GNU/Linux (Debian, Ubuntu, Fedora, SUSE, RHEL, etc.), Windows, macOS, iOS, Android e Android TV.
Diferente dos clientes de comunicação tradicionais, o Jami consegue transmitir mensagens sem recorrer a servidores externos, organizando uma conexão direta entre os usuários com a utilização de criptografia de ponta a ponta (as chaves estão apenas no lado do cliente) e autenticação baseada em certificados X.509. Além da troca segura de mensagens, o programa possibilita realizar chamadas de voz e vídeo, criar videochamadas em grupo, compartilhar arquivos e organizar o co-assistência de arquivos e conteúdo de tela. Para videoconferências em servidor com um CPU Intel Core i7-7700K a 4,20 GHz, 32 GB de RAM e uma conexão de rede de 100 Mbit/s, a melhor qualidade é alcançada com até 25 participantes. Cada participante em uma videoconferência requer uma largura de banda de aproximadamente 2 Mbit/s.
Inicialmente, o projeto foi desenvolvido como um telefone de software baseado no protocolo SIP, mas já não se limita a isso, adotando um modelo P2P, enquanto mantém a compatibilidade com SIP e a possibilidade de realizar chamadas através deste protocolo. O programa suporta vários codecs (G711u, G711a, GSM, Speex, Opus, G.722) e protocolos (ICE, SIP, TLS), garantindo criptografia segura para vídeo, voz e mensagens. Entre as funções de serviço, destacam-se o encaminhamento e a retenção de chamadas, gravação de chamadas, histórico de chamadas com busca, controle automático de volume e integração com os catálogos de endereços GNOME e KDE.
Para identificar um usuário no Jami, é utilizado um mecanismo global de autenticação de contas descentralizado, baseado na implementação de uma agenda de contatos na forma de blockchain (aplicando conhecimentos do projeto Ethereum). Um identificador de usuário (RingID) pode ser utilizado simultaneamente em vários dispositivos e permite contatar o usuário independentemente de qual dispositivo esteja ativo, sem a necessidade de manter identificadores diferentes no smartphone e no PC. A agenda de contatos, responsável por transmitir nomes em RingID, é armazenada em um grupo de nós suportados por vários participantes, incluindo a possibilidade de rodar seu próprio nó para manter uma cópia local da agenda global (o Jami também implementa uma agenda interna separada, suportada pelo cliente).
Para endereçar usuários no Jami, é utilizado o protocolo OpenDHT (tabela hash distribuída), que não requer a utilização de registros centralizados com informações sobre usuários. O Jami é fundamentado em um processo em segundo plano chamado jami-daemon, que é responsável por gerenciar conexões, organizar a comunicação e trabalhar com vídeo e áudio. A interação com o jami-daemon é feita através da biblioteca LibRingClient, que serve de base para construir o software do cliente e oferece toda a funcionalidade típica, não vinculada à interface do usuário e plataformas. Em cima do LibRingClient, os aplicativos do cliente são diretamente criados, o que permite uma criação e manutenção relativamente simples de diferentes interfaces.
Principais novidades:
- Foi proposta uma implementação inicial de um novo sistema de comunicação grupal chamado "enxame" (Swarms). O sistema permite criar chats P2P totalmente distribuídos, cuja história de comunicação é armazenada em conjunto em todos os dispositivos do usuário de forma sincronizada. A primeira implementação é limitada à comunicação entre dois participantes, com a possibilidade de conectar usuários de diferentes dispositivos vinculados à mesma conta (a história do chat é sincronizada em todos os dispositivos). A próxima versão adicionará suporte para chats em grupo no modo enxame.

- Melhorada a suporte para conferências. Adicionado o modo "lugar de encontro", permitindo reunir todas as chamadas recebidas em uma conferência (é possível permitir a conexão apenas para usuários que estão na agenda de contatos), evitando a necessidade de adicionar manualmente cada participante. Adicionadas configurações para definir moderador padrão. Os moderadores das conferências agora têm a capacidade de silenciar e restaurar o som dos microfones dos participantes, além de remover participantes (kick).

Adicionada a função "levantar a mão", permitindo que um participante expresse o desejo de falar.

Expandidas as capacidades de compartilhamento de tela, permitindo agora mostrar apenas o conteúdo de janelas individuais, em vez de toda a tela ou de uma área selecionada.

- No aplicativo para a plataforma Android, foi implementada uma nova interface para realizar chamadas. Na versão para iOS, a conectividade foi aprimorada ao manter o dispositivo em modos de espera ou de economia de energia.

- Adicionada a suporte para a plataforma Windows 11.
Fonte: opennet.ru





