BlueBeam is an offline, private peer-to-peer chat and file-sharing application that uses Bluetooth for direct hardware-level communication. This manual guides you through installation, setup, and usage.
BlueBeam supports macOS 14+, Windows 10+, and Linux (Ubuntu 22.04+, Fedora 39+, Arch).
- macOS: Xcode 15+, CMake 3.20+, Rust 1.80
- Windows: Visual Studio 2022+, CMake 3.20+, Rust 1.80
- Linux: GCC 11+, CMake 3.20+, Rust 1.80, GTK4/Qt6 development packages
-
Clone the repository:
git clone https://github.com/kawacukennedy/beam.git cd beam -
Configure with CMake:
mkdir build && cd build cmake ..
-
Build:
cmake --build . --config Release -
Run:
./BlueBeam
Generate native installers using CPack:
cpackThis creates:
- macOS:
BlueBeam-1.0.0.dmg - Windows:
BlueBeam-1.0.0.exe - Linux:
BlueBeam-1.0.0.AppImage,.deb,.rpm
- Launch BlueBeam.
- Grant Bluetooth permissions when prompted.
- Set up your profile: Enter a name and optionally upload an avatar.
- Complete the tutorial overlay to familiarize yourself with the interface.
Pairing establishes a secure connection with another BlueBeam device.
- Open BlueBeam and navigate to the Device Discovery page.
- The app scans for nearby Bluetooth devices running BlueBeam.
- Select a device from the list.
- A PIN prompt appears on both devices.
- Enter the PIN on the initiating device to confirm pairing.
- Once paired, the device is marked as trusted and appears in your device list.
Paired devices can communicate securely without re-pairing unless manually unpaired.
Send encrypted messages to paired devices.
- Select a paired device from the sidebar.
- Type your message in the input field.
- Press Enter or click Send.
- Messages appear as bubbles in the chat window.
- Delivery receipts update when the message is acknowledged.
Features:
- Search messages
- Emoji support
- Message history stored locally and encrypted
Share files securely over Bluetooth.
- In a chat with a paired device, click the attachment button.
- Select a file to share (max 4GB).
- Preview the file and confirm transfer.
- The file is encrypted, chunked, and sent.
- The receiver sees a transfer notification and can accept or decline.
- Progress is shown with ETA and speed.
- Transfer can be paused, resumed, or canceled.
- Upon completion, integrity is verified with SHA-256.
Features:
- Resume interrupted transfers
- Queue multiple files (small files prioritized)
- Local encrypted storage
BlueBeam prioritizes privacy and security:
- End-to-End Encryption: Messages and files use Curve25519 ECDH for key exchange, AES-256 GCM for sessions, RSA-4096 for identity.
- Perfect Forward Secrecy: Session keys rotate and are zeroized on disconnect.
- Local Storage: All data stored locally, encrypted, with no internet dependency.
- Key Management: Keys stored in platform-specific secure storage (Keychain/macOS, DPAPI/Windows, GNOME Keyring/Linux).
- Offline Operation: No data sent over internet; all communication via Bluetooth.
Verify security by checking device fingerprints during pairing.
Access settings from the menu:
- Profile: Update name, avatar, status.
- Preferences: Theme toggle, download path.
- Storage: Manage local data, clear history.
- Security: View trusted devices, manage keys, security audit.
- About: Version info, license.