README.md
[!WARNING] This software has not received external security review and may contain vulnerabilities and may not necessarily meet its stated security goals. Do not use it for sensitive use cases, and do not rely on its security until it has been reviewed. Work in progress.
A secure, decentralized, peer-to-peer messaging app that works over Bluetooth mesh networks. No internet required for mesh chats, no servers, no phone numbers - just pure encrypted communication. Bitchat also supports geohash channels, which use an internet connection to connect you with others in your geographic area.
This is the Android port of the original bitchat iOS app, maintaining 100% protocol compatibility for cross-platform communication.
You can download the latest version of bitchat for Android from the GitHub Releases page.
Or you can:
Instructions:
.apk file. Open it..apk file to begin the installation.This project is released into the public domain. See the LICENSE file for details.
/join, /msg, /who style interfaceClone the repository:
git clone https://github.com/permissionlesstech/bitchat-android.git
cd bitchat-android
Open in Android Studio:
# Open Android Studio and select "Open an Existing Project"
# Navigate to the bitchat-android directory
Build the project:
./gradlew build
Install on device:
./gradlew installDebug
For development builds with debugging enabled:
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apk
For production releases:
./gradlew assembleRelease
The app requires the following permissions (automatically requested):
/j #channel - Join or create a channel/m @name message - Send a private message/w - List online users/channels - Show all discovered channels/block @name - Block a peer from messaging you/block - List all blocked peers/unblock @name - Unblock a peer/clear - Clear chat messages/pass [password] - Set/change channel password (owner only)/transfer @name - Transfer channel ownership/save - Toggle message retention for channel (owner only)/j #general or start chatting in public/pass/save@nickname to mention users (with autocomplete)/transferbitchat uses an efficient binary protocol optimized for Bluetooth LE:
The Android implementation maintains 100% binary protocol compatibility with iOS:
Update version information:
// In app/build.gradle.kts
defaultConfig {
versionCode = 2 // Increment for each release
versionName = "1.1.0" // User-visible version
}
Create a signed release build:
./gradlew assembleRelease
Generate app bundle (recommended for Play Store):
./gradlew bundleRelease
This Android port enables seamless communication with the original iOS bitchat app:
iOS Version: For iPhone/iPad users, get the original bitchat at github.com/jackjackbits/bitchat
Contributions are welcome! Key areas for enhancement:
For iOS-specific issues, please refer to the original iOS bitchat repository.