finds.dev← search

// the find

ShilohEye/bitchat-terminal

★ 512 · Rust · updated Jul 2025

bluetooth mesh chat, IRC vibes

A Linux-first terminal client for BitChat, the Bluetooth LE mesh chat protocol, written in Rust on Tokio and btleplug. It is for people who want off-grid chat with other BitChat peers from a terminal and are willing to run it with BLE privileges. The author says plainly that private messages and channels are not yet safe for sensitive traffic.

- The crypto uses standard Rust primitives (x25519-dalek, ed25519-dalek, AES-256-GCM) rather than anything home-grown. Encryption, fragmentation, and compression sit in their own modules apart from terminal_ux, so the protocol code can be reviewed on its own.

- The -d and -dd packet inspection modes are the right instinct for a mesh protocol, where most failures happen over the air and are otherwise invisible.

- The README documents the Android gaps in detail, including the exact error string, instead of claiming full parity with the official apps.

- The crypto is the part people will care about most, and it is the part the author calls unfinished. Private messages and channels are unaudited, the self-reported flaws are not fixed, and the Noise migration is future work. Until that lands, this is for public mesh chat, not private conversations.

- The README lists PKCS#7 padding next to AES-256-GCM. GCM is a stream-style AEAD and does not need block padding, so either the padding applies to something else or the description is wrong. This is worth checking in encryption.rs before anyone trusts the construction.

- Android private messages do not display, and the README's known-issues section says the client-side fixes are still ongoing. The 'compatible with iOS/Android' claim is only partly true today.

- It is effectively Linux-only: BLE needs root or a setcap'd binary, macOS is 'should work' rather than tested, and Windows is untested. The last push was July 2025, more than a year before today, and neither the README nor the listed tree shows tests or CI.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →