Skip to content

Latest commit

 

History

History
52 lines (32 loc) · 2.71 KB

README.md

File metadata and controls

52 lines (32 loc) · 2.71 KB

Secure Messaging Application

This is the Gitlab repository for Secure Messaging Application for Group 16: Gordon Chiang, Lagan Chohan, Tyler Fowler, and Alex Li.

Secure Messaging Application is a Python program that allows users to securely and synchronously message one another.

A video demo of Secure Messaging Application in action can be found here.

Documentation

Please refer to the Gitlab Wiki for more in-depth documentation.

Please refer to the archived legacy Gitlab repo to view the project's activity history. Secure Messaging Application moved repos because of a bug that prevented us from pushing changes to the legacy repo. The legacy repo was cloned to this repo--this repo is now the most up-to-date.

Installation

Secure Messaging Application requires Python 3.9 or higher.

After cloning the repo, run pip install -r requirements.txt from the root directory to install all dependencies.

Usage

Server

  1. Setup the server from the root directory to generate a certificate: python3 ./server/server.py.
    • The pathing ensures the client can locate and load the certificate to establish a TLS connection with the server.
  2. The server will prompt for the private key PEM's pass phrase, which is currently hardcoded as passphrase.
  3. The server will output Listening for events to the terminal when it is setup and ready to accept clients and listen for events.

Screenshot of server output

Client

  1. With the server running, create a client instance: python3 ./client/client.py.
  2. The client's GUI will load which will prompt the user for account management events:
    1. Login: login to an existing account with the server using a username and password.
    2. Register: register a new account with the server using a username and password.
    3. Exit: close the client.

Screenshot of the login menu

  1. Once the user is authenticated into a user account, they may choose various options:
    1. Chat: select a user with whom to chat synchronously.
    2. Message History: view the saved message history with a user (password-protected).
    3. Delete Account: delete the currently logged in account from the server (password-protected).
    4. Exit: close the client.

Screenshot of the main menu

  1. You may create multiple client instances for testing purposes.

Screenshot of example 1:1 messenging