An implementation of a secure group chat utilizing E2EE.
- Installation of UV
# Install UV on windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# Install on MAC
curl -LsSf https://astral.sh/uv/install.sh | sh
# or
wget -qO- https://astral.sh/uv/install.sh | shIf nothing works visit: https://docs.astral.sh/uv/getting-started/installation/
- Usage Examples of UV
-
uv runRun a command in the project environment. (like python main.py) -
uv syncSync the project's dependencies with the environment. -
uv addAdd a dependency to the project. -
uv self updateUpdate uv to the latest version. -
uv removeRemove a dependency from the project. -
uv initCreate a new Python project.
- Clone the repository
# Clone this repository with git
git clone https://github.com/BertramAakjaer/Secure-Group-Chat-AAU.git
# Open the directory in terminal
cd Secure-Group-Chat-AAU/- Create Virtual Environment & Download packages
uv sync
# Fixes error on some systems
uv sync --link-mode=copy- Run the program
# Run the Client
uv run --package client client
# Run the Server
uv run --package server serverTip
If u get an error that mentions that the system can't get access to the python.exe, run this code:
# Installs python for the uv installation only
uv python install 3.13Add libaries/Dependencies
# Add libary to the Client (do not write <>, e.g., requests)
uv add --package client <libary_here>
# Add libary to the Client (do not write <>, e.g., fastapi)
uv add --package server <libary_here>Building Program (demo not tested yet!)
# Build the Client
uv run pyinstaller --onefile --noconsole --add-data "Client/src/client/templates:client/templates" --add-data "Client/src/client/static:client/static" --name "SecureChatClient" Client/src/client/main.py
# Build the Server
uv run pyinstaller --onefile --name "SecureChatServer" Server/src/server/main.py