Airhop: React Native implementation of bitchat #1667
Replies: 5 comments
|
Since this is a third-party implementation of the bitchat wire protocol, we originally used The same gap exists in the ANNOUNCE TLV namespace: Bitle already ships Would you consider reserving a small block, say |
|
Really impressive work, especially the focus on protocol compatibility and security. The testing depth and real-world Airhop bitchat coverage make this stand out. 1ppp game aside, the forward secrecy and UX improvements are especially interesting. Excited to see how the ecosystem develops from here! |
|
Really impressive work on Airhop and the protocol compatibility. The focus on privacy, testing, and cross-platform support stands out. Excited to see it launch on Google Play and F-Droid. Wishing the project continued success! z777 |
|
NOOOOO! flutter is better |
|
Really impressive work on Airhop and the protocol compatibility! The focus on privacy, testing, and usability is especially interesting. Excited to see how the ecosystem develops from here. Also curious about the payment side, including Royal X Casino |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hey @jackjackbits @callebtc
I'm a final year CS undergrad. Had some time to kill and loved the concept/tech behind bitchat, so I decided to port it to React Native at a 24 hour hackathon. That became Airhop. It's going live on Google Play, App Store and Zapstore this month
I spent the last month getting protocol compatibility right rather than just rebuilding the app. It's tested against your implementations, including the v2 packet format, Noise XX/X, GCS gossip sync, geohash presence, courier envelopes, QR-verifying system, private groups, board posts, push-to-talk, mesh bridge, internet gateway, announce signing, key pinning and the peer binding changes from #1432
I had an AI agent monitor your commits, letting me review and pull relevant protocol changes into Airhop as they landed on
main. Airhop also addresses a number of open items on your tracker :base64urlhelpers into a single utility #642Upstream fixes from Airhop:
#1587
#1631
permissionlesstech/bitchat-android#863
The project is also pretty heavily tested. There are around 3,100 unit and simulation tests, along with real world testing between Airhop ↔ Airhop and Airhop ↔ bitchat covering discovery, messaging, voice and file transfers (they're wire-compatible and use the same service UUIDs)
Every release includes source hashes and build provenance as well
The main focus was on:
UI/UX: I leaned heavily on Laws of UX and Nielsen's usability heuristics because I believe great privacy tools should be easy to use, not something people have to figure out
Transports: Extended local connectivity with Wi-Fi Aware on Android and iOS and mDNS/TCP LAN discovery, giving peers more ways to find and connect to each other beyond Bluetooth and the existing mesh transports
Forward secrecy: Double Ratchet on top of Noise for mesh DMs using packet type
0x12between Airhop peers. Bitchat peers simply ignore it. The root key comes from the Noise XX exporter secret rather than the handshake transcript since handshakes are flooded at TTL 7. This is complementary to Add double-ratchet encryption for Nostr relay DMs #1107 for Nostr relay messagingPayments: Dedicated Cashu wallet with offline ecash transfers, Lightning deposits and withdrawals, Nutzaps, DLEQ verification and recovery support
Tor: Extended the existing Arti integration with bridge support for obfs4 and Snowflake along with bridge fallback and configuration for networks where direct Tor connections are blocked or restricted
Documentation: I regularly update the readme, known issues and implementation gaps (docs/). I also maintain a landing page with a transparent overview of the project and architecture :
Thanks for building bitchat and keeping it public domain. Like bitchat, Airhop is free and MIT licensed. I would love for you to try it and share feedback. I'm happy to answer questions, take corrections or send patches upstream if anything is useful 🙂
Note : This isn't meant to be a cheap, one-shot AI copy of existing work. I plan to build a full ecosystem around it across desktop, smartwatches and CLI while staying in sync with bitchat. If you like the direction of the project, consider supporting it by starring the repo, contributing or donating
All reactions