VeilExchange is a Peer-to-Peer (P2P) messaging application which allows users to exchange encrypted messages and files directly over a network without a centralised server. The key difference between a server-peer and a P2P application is that both computers run the same program. One peer must initiate the connection using the other peer’s IP address and port. Once connected, both peers can send and receive messages asynchronously.
- Compiler:
gcc/g++ 8 or laterforC++17support. CMakefor building and running the application.
Linux (Ubuntu 20.04).- Text editor:
MS VSCodeis being used. Note: any text editor will do, should you wish to change parts of the software. - Boost.Asio library for networking.
- PlantUML for
UML CLassand related diagrams. This requiresJava.Javarequires: OpenJDK. - Catch2 for
Unit Testing. - Possible
UI: ncurses. If not, then theCLIwill be used.
$ sudo apt update$ sudo apt install libboost-all-dev- Check installation:
$ ls /usr/include/boost
$ git clone https://github.com/microsoft/vcpkg$ cd vcpkg$ .\bootstrap-vcpkg.bat$ vcpkg install boost-asio- Integrate with
Visual Studio $ vcpkg integrate install
$ mkdir build && cd build$ cmake ..$ cmake --build .$ ./main
$ mkdir build && cd build$ cmake ..$ cmake --build .$ ctest
- Note: this project was developed as part of a training program with WithYouWithMe.