The P2P messenger Communist 2.0 and the library libcommunist 1.0 have been released, which include features related to network operations and P2P communication. It supports operation both on the Internet and in local networks of various configurations. The project's code is distributed under the GPLv3 license and is available on GitHub (Communist, libcommunist) and GitFlic (Communist, libcommunist). It supports working in Linux and Windows.
To establish connections between users in Communist, a combination of a distributed hash table (a DHT variant designed for torrent clients) and UDP hole punching (for interaction with hosts behind address translators) is used. IPv4 and IPv6 protocols are supported. Messages can be relayed through relays (see documentation). All data is stored on the user's machine in encrypted form and is also transmitted encrypted. Standard AES and the ed25519 digital signature scheme are used for encryption.
Among the changes in the new version:
- All networking capabilities have been moved to the libcommunist library.
- Message relay functionality has been added (server and client).
- A general code reorganization has been conducted.
- Version 2.0 is not compatible with previous versions (user profile recreation is required).
Source: opennet.ru
