Skip to content

dwirx/bitchat-python

 
 

Repository files navigation

BitChat Python

A Python implementation of the BitChat decentralized, peer-to-peer, encrypted chat application over BLE.

This project is a rewrite of the original Rust-based bitchat-terminal.

pip install bleak>=0.22.3 cryptography>=44.0.0 lz4>=4.3.3 aioconsole>=0.8.1 pybloom-live>=4.0.0

BitChat-Python

��� BitChat is a decentralized, anonymous, and secure peer-to-peer messenger built with Python using Bluetooth Low Energy (BLE).

This project enables direct communication between devices without the need for a central server, ensuring the privacy and security of your messages.

✨ Key Features

  • Fully Decentralized: No central server or single point of failure.
  • Anonymous & Secure: Communication is encrypted to keep your conversations private.
  • Peer-to-Peer (P2P): Devices connect directly to each other using Bluetooth LE.
  • No Internet Required: Works completely offline as long as devices are within Bluetooth range.
  • Lightweight: Runs as a simple Python script with clear dependencies.

��� Installation & Setup

To run BitChat, you will need Python 3.8+ and uv.

1. Prerequisite: Install uv

If you don't already have uv, install it using pip:

pip install uv

2. Clone the Repository

Clone this repository to your local machine:

git clone https://github.com/kaganisildak/bitchat-python.git

3. Navigate to the Project Directory

cd bitchat-python

▶️ Running the Application

Use the following command in your terminal to run the application. This command will automatically handle the creation of a virtual environment and the installation of dependencies.

uv run --with aioconsole,bleak,cryptography,pybloom-live,lz4 bitchat.py

How does it work?

  • uv run: Executes a Python command within an isolated virtual environment.
  • --with ...: Tells uv to install the listed packages (i.e., aioconsole, bleak, cryptography, etc.) into that environment before running the script.
  • bitchat.py: The main application script to be executed.

Once running, the application will start scanning for other devices running BitChat nearby.

⚖️ License

This project is licensed under the MIT License. See the LICENSE file for more details.

��� Credits

This project was created and is maintained by kaganisildak.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%