Skip to content

MRLintern/VeilExchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 

Repository files navigation

VeilExchange

Introduction

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.

Development Tools & Requirements

Requirements

  • Compiler: gcc/g++ 8 or later for C++17 support.
  • CMake for building and running the application.

Develoment Tools Used

  • Linux (Ubuntu 20.04).
  • Text editor: MS VSCode is 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 CLass and related diagrams. This requires Java. Java requires: OpenJDK.
  • Catch2 for Unit Testing.
  • Possible UI: ncurses. If not, then the CLI will be used.

Boost Installation

Linux (Ubuntu)
  • $ sudo apt update
  • $ sudo apt install libboost-all-dev
  • Check installation:
  • $ ls /usr/include/boost
Windows (PowerShell)
  • $ git clone https://github.com/microsoft/vcpkg
  • $ cd vcpkg
  • $ .\bootstrap-vcpkg.bat
  • $ vcpkg install boost-asio
  • Integrate with Visual Studio
  • $ vcpkg integrate install

Running/Using the Application

Using the Application

  • $ mkdir build && cd build
  • $ cmake ..
  • $ cmake --build .
  • $ ./main

Testing

  • $ mkdir build && cd build
  • $ cmake ..
  • $ cmake --build .
  • $ ctest

Other

  • Note: this project was developed as part of a training program with WithYouWithMe.

About

A P2P Application which allows users to send and receive encrypted messages & files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors