在即时通讯被几大巨头垄断的今天,你是否想过:如果断网了,怎么跟身边的人聊天?如果平台封号了,消息还能发出去吗?
GitHub 今日 Trending 榜首项目 bitchat 给出了一个大胆的答案:用蓝牙组 Mesh 网络,用 Nostr 做全球中继,不需要账号、不需要手机号、不需要中心服务器。
上线一年多,bitchat 已经积累了 32,874 Stars、5,150 Forks,今日新增 2,346 Stars 登上 Trending 榜首。让我们看看这个项目到底有什么过人之处。
什么是 bitchat?
bitchat 是一款去中心化的点对点通讯应用,由 permissionlesstech 团队开发。它的核心理念非常简单:不依赖任何中心化基础设施,随时随地自由通讯。
项目采用 双通道传输架构,在两种场景下都能工作:
- 离线场景:设备之间通过蓝牙低功耗(BLE)Mesh 网络直接连接,无需 WiFi 和移动网络
- 在线场景:通过 Nostr 协议接入全球 290+ 中继节点,实现全球范围通讯
bitchat 目前已在 App Store 上架,支持 iOS 和 macOS,使用 Swift 编写,并采用公共域(Public Domain)许可发布。
核心技术架构
1. 蓝牙 Mesh 网络(离线模式)
- 点对点通讯:设备在蓝牙范围内直接连接,无需配对、无需互联网
- 多跳中继:消息通过附近设备层层转发,最多支持 7 跳,形成一个自组织的 Ad-hoc 网络
- 自动发现:设备进入范围后自动发现并建立连接,无需手动配对
- 二进制协议:针对蓝牙 LE 的带宽限制优化的紧凑数据包格式
- 自适应电量:根据电池状态动态调整通信频率,在保持连通的同时最大程度省电
这意味着完全没有网络的环境下——比如演唱会现场、地下停车场、灾区、偏远山区——你仍然可以通过 bitchat 与他人通讯。
2. Nostr 协议(在线模式)
- 全球覆盖:通过 Nostr 中继网络连接世界各地的用户
- 地理位置频道:基于 geohash 坐标创建地理聊天室,可以定位到城市街区级别
- 290+ 中继节点:分布式部署确保可靠性和抗审查能力
- 临时密钥:每个 geohash 区域使用全新的加密身份,防止追踪
3. 加密机制
- 蓝牙 Mesh 层使用 Noise Protocol 框架实现端到端加密,提供前向安全性
- Nostr 层使用 bitchat 自有的 XChaCha20-Poly1305 加密信封,私密负载包装在 Nostr kind-1059 事件中传输
- LZ4 消息压缩减少传输流量
消息路由策略
bitchat 的消息路由非常智能,会自动选择最佳通道:
- 优先蓝牙:当私聊对象在蓝牙范围内时,建立 Noise 加密会话直接通讯——最快、最私密
- Nostr 回退:蓝牙不可用时,通过接收方的 Nostr 公钥和全球中继网络传输
- 智能排队:两种通道都不通时,消息进入队列,等通道恢复后自动发送
频道类型
| 频道 | 传输方式 | 范围 | 使用场景 |
|---|---|---|---|
| mesh #bluetooth | 蓝牙 LE Mesh | 多跳范围内本地设备 | 离线通讯、抗议活动、灾难场景 |
| block #dr5rsj7 | Nostr(互联网) | 城市街区级别 | 邻里社群、街道讨论 |
| neighborhood #dr5rs | Nostr(互联网) | 社区/片区 | 社区活动、本地事件 |
| city #dr5r | Nostr(互联网) | 城市级别 | 城市层面讨论 |
| province #dr5 | Nostr(互联网) | 省/州级别 | 区域讨论 |
| region #dr | Nostr(互联网) | 国家/大区域 | 全国性讨论 |
特色功能一览
- IRC 风格命令:支持
/slap、/msg、/who等经典 IRC 命令,老派聊天室用户会非常亲切 - 紧急清除:三击屏幕即可瞬间清空所有数据,适合需要快速保护隐私的场景
- 无需注册:没有账号、没有手机号绑定、没有中心服务器,开箱即用
- 性能优化:LZ4 压缩、自适应电池模式、优化的网络栈
- 通用应用:原生 iOS 和 macOS 支持
技术栈
- 语言:Swift
- 平台:iOS 15+、macOS 12+
- 蓝牙:BLE Mesh(GATT Central + Peripheral)
- 互联网:Nostr 协议(290+ relays)
- 加密:Noise Protocol Framework + XChaCha20-Poly1305
- 压缩:LZ4
- 许可:Public Domain(公共域)
- 包管理:SwiftPM
快速上手
目前最简单的方式是从 App Store 安装:
# App Store 下载
https://apps.apple.com/us/app/bitchat-mesh/id6748219622
如果你更倾向自己编译(推荐,更安全):
# 克隆仓库
git clone https://github.com/permissionlesstech/bitchat.git
cd bitchat
# macOS 编译(不带签名)
xcodebuild -project bitchat.xcodeproj -scheme "bitchat (macOS)" -configuration Debug CODE_SIGNING_ALLOWED=NO build
# 运行测试
swift test
⚠️ 安全提醒:bitchat 仓库曾收到下架要求,项目方强烈建议从源码构建而不是下载未知来源的编译版本。详见项目的 构建验证指南。
适用场景
- 抗议/集会:无需 SIM 卡和网络,蓝牙 Mesh 即可组网通讯
- 灾难救援:地震、洪水后基础设施瘫痪时,恢复基本的通讯能力
- 偏远地区:没有基站覆盖的山区、野外探险等场景
- 隐私通讯:不需要绑定任何身份信息,加密保护通讯内容
- 社区组织:通过地理位置频道建立邻里社区,讨论本地事务
- 技术研究:学习去中心化网络、Mesh 网络和 Nostr 协议的工程实践
小结
bitchat 不是一个要”取代微信/WhatsApp”的产品——它本质上是一个抗审查、抗断网的通讯备选方案。在日常生活里你可能觉得用不上,但当你真正需要的时候,没有替代品。
32k Stars、Public Domain 许可、IRC 风格界面、Noise Protocol 加密——这是一个设计哲学和技术实现都相当扎实的项目。如果你对去中心化通讯、蓝牙 Mesh 或 Nostr 协议感兴趣,这是个很值得学习和研究的开源项目。
GitHub 地址:github.com/permissionlesstech/bitchat
技术白皮书:WHITEPAPER.md
技术架构文档:deepwiki.com/permissionlesstech/bitchat
App Store:bitchat-mesh















cqlbgzs@163.com 1年前0
d好879445037@qq.com 2年前0
购买了 无法下载Alexcc 3年前0
强大Alexcc 3年前0
看不了教程Alexcc 3年前0
雷刺下载Alexcc 3年前0
下载Alexcc 3年前0
下载dsa456159 3年前0
下载