After more than a year of development of Published Communication client release Dino 0.3 , supporting participation in chat rooms and messaging using the Jabber / XMPP protocol. The program is compatible with various Customers and XMPP servers, is focused on ensuring the confidentiality of negotiations and supports end-to-end encryption using XMPP extension Omemo on the basis of the Signal protocol or Encryption using OpenPGP. The project code is written in VALA language using GTK and distributed under the GPLv3 + license.
In the new version, in addition to text messages, support for video calls and video conferencing, allowing to make video calls with the involvement of two and more participants. Video streams are encrypted using end-to-end encryption, and traffic is sent directly between users in P2P mode, but the ability to work through the intermediate server is also provided as a backup option.
Expanded group calls – the user can initiate a call in a closed group or invite additional participants to the already established call. Group calls can be organized in P2P mode without attracting additional servers, except for the XMPP server coordinating the connection to the conference. For conferences with a large number of participants to reduce bandwidth requirements, work can be organized through a centralized server. Exchange keys to encrypt the participants’ traffic that are generated on the client side is carried out via DTLS, after which the data is transmitted through the encrypted SRTP channel. The accuracy of the keys is authenticated using XMPP expansion Omemo.
To organize the connection, the XMPP protocol and typical XMPP extensions are used ( xep-0353 , XEP-0167 ), which allows you to make calls between Dino and any other XMPP clients that support the relevant specifications, for example, setting encrypted video calls with applications conversations and MOVIM , as well as unencrypted calls with the Gajim . In the absence of video support, audio calls can be set.
Main Dino features and supported XEP expansion :
- multiplayer chats with support for private groups and public channels (groups can only be communicated with people included in the group to arbitrary topics, and any users can communicate in the channels only on a given topic);
- Using avatars;
- Message Archive Management;