📡💬 bitchat:用蓝牙Mesh重燃IRC聊天精神,无网环境下的去中心化信使
音乐节的人潮中,你想告诉方圆五百米的同伴“A舞台的落日飞车还有10分钟”。手机信号已经完全瘫痪,微信转圈转得你怀疑人生。WiFi密码是谁也不会告诉你的秘密。古老的短信或许能发出去,但那是1对1的奢侈品。这一刻,你多么希望有一款工具,像古早的局域网聊天室那样,让周围所有陌生人和朋友瞬间组成一个本地群聊——没有服务器,没有延迟,没有中心。
bitchat 就是为这种“离线乌托邦”而生的项目。它把经典 IRC 的社交灵魂,塞进了现代蓝牙 Mesh 的身体里,让你在信号全无的场景下,依然能加入一个热闹的聊天频道。
📦 项目登场:一个蓝牙 Mesh 上的 IRC 聊天室
permissionlesstech/bitchat 是一个开源的、完全去中心化的聊天应用,用蓝牙低功耗(BLE)Mesh 作为传输层。开发者将它描述为“bluetooth mesh chat, IRC vibes”,它的野心很简单:让任何两台(甚至更多台)支持蓝牙的设备,在不依赖互联网、基站或任何中心服务器的条件下,组成一个可以自由发言、切换频道、改昵称的聊天网络。
项目运行在 Android 设备上,未来可能扩展到更多平台。它的使用体验如同回到了 90 年代拨号 BBS 时期的 IRC,但传输介质已经从网线变成了看不见的蓝牙射频波。
🛠️ 核心功能解析:Mesh 组网 + IRC 命令双引擎
🌐 蓝牙 Mesh 自动组网,人人都是中继
bitchat 最大的杀手锏不是聊天本身,而是底层的 蓝牙 Mesh 洪泛网络。传统蓝牙聊天只能做到一对一,或者需要一个中央节点充当“聊天室服务器”。bitchat 则让所有节点平等,每个设备既能作为信源,也能自动转发其他节点的消息。
比如,你的设备 A 想和 50 米外的设备 C 通信,但中间有建筑阻挡。恰好设备 B 位于 A 和 C 的通信重叠区。那么 A 发出的广播包会被 B 接收,B 再原样转发,最终到达 C。就是这种“蚂蚁搬家”式的多跳中继,让有效覆盖范围远远超过单点蓝牙距离。哪怕人群分散,只要 Mesh 节点密度够高,整个聊天网络就能像病毒一样蔓延开来。
💬 重温 IRC 的命令艺术
如果说 Mesh 是骨架,那么沿袭自 IRC 的指令系统就是灵魂。打开 bitchat,你面对的并不是花哨的表情包面板,而是一个简洁的输入框,等待着经典的斜杠命令。
/nick 山丘— 给自己起一个酷酷的昵称,告别设备名。/join #落日飞车— 加入或自动创建频道,话题分类一目了然。/msg 阿花 快过来!— 发送私聊消息(如果协议支持单播)。/leave和/who— 离开频道、查看当前成员列表。
这些命令穿透蓝牙 Mesh 层,以极短的数据包形式分发。所有对话完全在本地流转,没有任何一条消息会离开你的蓝牙广播域。这让它天然拥有端到端的隐私特性,同时饱含那种“自己搭台子唱戏”的极客浪漫。
⚡ 技术亮点:把小数据包玩出花样
蓝牙 Mesh 原本是为智能灯泡和开关设计的,用它来传人类聊天消息,需要一点巧劲。BLE 广播包的有效载荷极其有限(约 20 多字节),bitchat 必须把昵称、频道名、消息内容打包压缩,并处理好分片与重组。
典型的消息流转可以抽象成这样:
【节点A】键入消息:/join #camping
│
▼
应用层编码为 Mesh 数据包(目标组地址 0xC0DE)
│
▼
BLE 广播信道发出 → 【节点B】接收、显示,同时开启中继
│
▼
【节点C】(在B的覆盖范围) 也收到同样的 Mesh 包,加入 #camping
项目在应用层还实现了类似“频道 == 组播地址”的映射,这种设计让频道切换的开销极低——本质上只是变动一下订阅的组地址。对想深入理解 BLE Mesh 的开发者来说,bitchat 是一个极好的实战范本,代码库干净,功能意图明确。
🚀 实战上手:三分钟搭建你的本地 IRC 网络
目前 bitchat 提供 Android 安装包,上手非常简单:
- 从项目的 GitHub Release 页下载最新 APK 安装。
- 给予蓝牙和位置权限(Android 要求),不出意外的话应用会立即开始扫描周围的节点。
- 输入
/nick 探险家设置你的身份。 - 输入
/join #户外创建或加入频道。 - 之后像平常发短信那样键入文字,发送——几秒内,周围安装了 bitchat 的小伙伴都能看到你的消息,哪怕相隔中间隔着几个人做“蓝牙齿科”中继。
我们建议在户外开放空间测试,找两个以上设备,故意把距离拉开,感受 Mesh 自动扩展的奇妙。在没有基站的平行世界里,你就是运营商。
💡 适用场景与未来想象
- 户外集会与音乐节:没有信号,却能建立临时公告板。
- 灾难应急通信:基础设施受损时,救援队可以用它保持局部联络。
- 校园或办公室内网:搭建一个只有物理邻近的人才能访问的“神秘聊天室”。
- 极客实验:学习和演示 BLE Mesh 协议、去中心化网络概念。
当然,项目还比较年轻,传输速度只能满足文字;如果需要分享图片或大文件,还得回到互联网怀抱。另外 iOS 因为系统对后台 BLE 广播的限制,暂时难以完美支持。但随着社区壮大,这些限制都有被打破的可能。
🌟 为什么值得立刻 Star
bitchat 不是另一个浮躁的“元宇宙聊天工具”,它是对去中心化通信本质的一次回归。它把 IRC 那种自由、开放、无需许可的精神,嫁接到了今天几乎每部手机都搭载的蓝牙芯片上。当网络不可用时,它让我们重拾“附近”的交流能力,也让我们再次相信:最酷的聊天软件,往往只需要最朴素的传输方式。
项目完全开源,鼓励任何感兴趣的开发者贡献代码、协议优化或跨平台移植。如果你认同这种“无网也热闹”的哲学,不妨拉上三五好友,一起在新的蓝牙 Mesh 频道中打出那行经典的 /join #bitchat。