xxzoltanxx / Balvan-Chat

💬 A python E2E encrypted chat application.
MIT License
24 stars 0 forks source link
chat cryptography htmx python pywebview socket socket-programming socket-python

Balvan Chat

DISCLAIMER: This app is currently a WIP. Do NOT use it yet for communicating anything which you wouldn't want to be intercepted in the network.

alt text alt text

Balvan Chat is a server/client self-hosted desktop chat application. It ensures secure communication with direct connections to the server's IP address, eliminating any middlemen. With complete end-to-end encryption (E2E) using AES-128, your data remains private and secure, encrypted with a passphrase known only to the chat participants.

Features

alt text

Usage

Note: When starting a server, your local IP address is displayed in the chat. You will need to provide your external IP address to clients, which can be found by searching "what is my IP" online.

Note: If a connection cannot be established, ensure port 15500 is open on your router.

Downloading as a prepackaged .exe file

Head to Releases for a pre-packaged windows binary. There are no prebuilt binaries for Linux at the moment.

NOTE: The windows binary may not work on older machines, as it was built for my Windows 10 machine. In that case please consult the next section.

Installation and Running from the git repository

1) Clone the repository. 2) Use the package manager pip to install the requirements:

pip install -r requirements.txt

3) Run the application with:

python BalvanChat.py

Packaging the application as an exe file:

1) Install PyInstaller:

pip install pyinstaller

2) Inside the directory where the repository is, run:

pyinstaller --windowed -i"Bear.ico" --add-data "UserInterface/Assets/*:UserInterface/Assets" --add-data "UserInterface/Templates/*:UserInterface/Templates" BalvanChat.py

3) Your exe will get packaged inside the "dist/main" folder. Now we only have to place the html templates/images in the appropriate place:

-Navigate to dist/_internal.
-Place the 'UserInterface' folder inside the folder where the .exe is

Now you can run the app as a standalone app.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT