📌 项目地址permissionlesstech/bitchat-android | ⭐ 6,571 颗星 | 🔧 Kotlin | 📜 未标注

当互联网消失,你还能和身边人说话吗?

大部分即时通讯工具都依赖一个隐形前提:你在线,服务器在线。如果遇到地震、野外徒步、音乐节信号拥堵,或者你只是不想让聊天记录经过任何第三方服务器,这些工具就立刻失效。bitchat 给出了一个极端但实用的答案:用蓝牙Mesh组网,完全不需要互联网。手机之间自动发现、多跳中继消息,就像把 IRC 搬到了物理世界。

这个项目是 iOS 版 bitchatAndroid 移植,保持 100% 协议兼容,两个平台可以互聊。GitHub 上 6500+ Star,说明它确实打中了一批人的真实需求。

怎么开始用?下载一个 APK 就够了

bitchat 不走应用商店(至少目前不是主力渠道),直接从 GitHub Releases 下载 APK 安装:

  1. 在 Android 设备上访问 GitHub Releases 页面,下载最新的 .apk 文件。
  2. 打开文件,系统会提示“允许安装未知来源应用”。路径通常是 设置 > 安全设置 > 应用和通知 > 特殊应用权限
  3. 点击安装,完成后打开即可。

没有注册、没有手机号、没有账号。打开 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,它是一把钥匙:打开了一个没有网络连接、没有服务器、没有身份绑定的通信方式。如果你恰好需要这个,它就是唯一的选择。

这篇文章对你有帮助吗?

发表回复