📌 项目地址:permissionlesstech/bitchat-android | ⭐ 6,571 颗星 | 🔧 Kotlin | 📜 未标注
当互联网消失,你还能和身边人说话吗?
大部分即时通讯工具都依赖一个隐形前提:你在线,服务器在线。如果遇到地震、野外徒步、音乐节信号拥堵,或者你只是不想让聊天记录经过任何第三方服务器,这些工具就立刻失效。bitchat 给出了一个极端但实用的答案:用蓝牙Mesh组网,完全不需要互联网。手机之间自动发现、多跳中继消息,就像把 IRC 搬到了物理世界。
这个项目是 iOS 版 bitchat 的 Android 移植,保持 100% 协议兼容,两个平台可以互聊。GitHub 上 6500+ Star,说明它确实打中了一批人的真实需求。
怎么开始用?下载一个 APK 就够了
bitchat 不走应用商店(至少目前不是主力渠道),直接从 GitHub Releases 下载 APK 安装:
- 在 Android 设备上访问 GitHub Releases 页面,下载最新的
.apk文件。 - 打开文件,系统会提示“允许安装未知来源应用”。路径通常是 设置 > 安全 或 设置 > 应用和通知 > 特殊应用权限。
- 点击安装,完成后打开即可。
没有注册、没有手机号、没有账号。打开 app,周围同时运行 bitchat 的设备会自动出现在聊天列表中——如果你在室内,可能需要走近一些;如果在户外开阔地带,蓝牙覆盖范围通常几十米,多跳中继可以延伸更远。
它能做到什么?
- 加密的私聊和频道:使用 X25519 密钥交换 + AES-256-GCM,私聊端到端加密。频道(类似 IRC 的 channel)可以设置密码,群组消息默认不加密,但可以启用消息持久化(由频道所有者控制)。
- 离线消息缓存:当某人不在地下时,消息会暂存在邻居设备上,等他重新连上时自动投递。
- IRC 风格命令:
/join #频道名、/msg 用户名 消息、/who查看在线用户,熟悉 IRC 的人可以秒上手。 - 紧急擦除:连续三击 app 图标,立即清空所有数据。
- 跨平台:Android 和 iOS 互通,协议一致。
和同类工具相比,bitchat 的不同在哪?
现在市面上也有一些蓝牙聊天工具(比如 Bridgefy、FireChat),但 bitchat 有几个明显的差异点:
- 完全开源 + 公域许可证:项目放入公共领域(public domain),任何人都可以自由使用、修改、分发。没有闭源的商业版,也没有功能限制。
- 无中心化基础设施:不需要任何中继服务器、信标节点或互联网连接。所有发现、路由、消息存储都在本地设备之间完成。
- 隐私设计极端:没有持久标识符——每次连接可能生成临时身份,不存电话号码、IMEI 等硬件信息。
- 小而专:不做朋友圈、视频通话、表情包商店。它就是纯粹的文字聊天,像极了早期的 IRC,恰好适合那些“只想说话”的场景。
你需要知道的几个注意事项
重要警告:软件尚未经过外部安全审计,可能存在漏洞,安全目标未经验证。不要用于敏感用途,也不要依赖其安全性——直到它完成审计。这是 README 开头的原文,必须重复一遍。
- 蓝牙 Mesh 依赖物理距离:两个节点之间通信需要蓝牙范围(通常 10-30 米),多跳中继可以延伸,但会受设备数量和移动性影响。适合在一个建筑物、一片露营地、一个活动现场内使用。
- 目前只有 Android 和 iOS:没有桌面端,没有网页端。
- 电池管理:蓝牙扫描和广播会消耗电量,但项目声称做了自适应优化,日常使用不算离谱。长时间挂后台仍会明显耗电。
- 频道消息不强制加密:私聊是加密的,但频道消息(群聊)是明文,除非频道所有者启用消息持久化(这也不等于加密)。如果你在公开频道发言,假设所有人都能读到。
适合什么人?
- 需要在网络盲区与多人保持沟通:登山队、灾难救援志愿者、音乐节组织者。
- 重视隐私且愿意接受一些不便的用户:不想让聊天记录经过任何服务器,愿意用蓝牙靠物理距离交换信息。
- 技术爱好者:可以自己编译、修改、甚至扩展协议。Kotlin 项目,API 26+ 即可,构建指令在 README 里写得清楚。
不适合的人:要求全球即时通讯、需要稳定消息推送、在乎电池续航、或者对安全等级有强审计要求的人。
最后一句
bitchat 不是下一个 WhatsApp,它是一把钥匙:打开了一个没有网络连接、没有服务器、没有身份绑定的通信方式。如果你恰好需要这个,它就是唯一的选择。
这篇文章对你有帮助吗?