Peer (client) of decentralized chat application.
The server side of this app is located in this repo.
This project is a client of the decentralized chat application. This app works on top of reliable UDP library and establishes encrypted connections using AES-256 and ECDH.
Main reason of using UDP instead of TCP is the ability to perform UDP hole punching technique so users that are inside different local networks (i.e. without global IP-addresses) can establish direct connection via Internet with help of specialized rendevous server. After connection is done the peers are able to send text messages and images to each other.
This app can also be hidden in system tray and can send receipt notifications to user.
UPD: Now users can send files of any size and extension to each other! This functionality was borrowed from my previous file sharing project.
Tracker recognizes several commands from peers:
connect
- provides hole-punching technique to connect with other peers. Example:connect Nickname
. Peers' nicknames are case sensitive.ping
- check connection to tracker manually.time
- get tracker's date and time.