Backchat:无账号的端到端加密即时通讯实验
Backchat 是一个无账号的端到端加密即时通讯实验应用。
它和常见聊天软件最大的区别是:不需要手机号,不需要邮箱注册,也没有一个全局用户名系统。两个人想建立联系时,只需要通过一次性邀请码完成握手;之后,这个联系人关系就保存在本地设备中。
访问地址:
https://backchat.doradreamland.com
为什么做 Backchat
大多数聊天工具都从“账号”开始。
账号带来便利,也带来一整套中心化依赖:注册、登录、找回、用户名、好友关系、平台数据库和身份体系。
Backchat 尝试的是另一条路径:
- 先建立一条私密通道
- 再生成联系人关系
- 本地保存联系人和消息
- 不把“平台账号”作为沟通的前提
- 通过一次性代码完成双方身份确认
它更像一个“临时但可持续的私密通道”:你和对方先通过别的方式交换一次邀请码,然后 Backchat 在浏览器中建立后续聊天关系。
它适合什么场景
Backchat 适合用于理解和体验一种不同的通信模型:
- 不想注册账号,只想快速建立一条聊天通道
- 临时协作时,需要和对方交换少量文字或文件
- 想体验本地优先、无中心身份的通信方式
- 想研究 Backchannel 这类基于一次性代码的安全握手模型
- 想把浏览器 PWA 当作轻量通信工具使用
需要强调的是,Backchat 当前仍然是研究性质的软件,不是经过完整安全审计的成熟通信产品。
不要用它传输密码、私钥、财务资料、身份证件、商业机密或其他高度敏感信息。
核心功能
无账号联系人
Backchat 没有注册流程。
第一次打开后,你看到的是本地联系人列表。添加联系人时,一方创建临时邀请码,另一方输入或扫描这个邀请码。邀请码使用后,双方会互相加入联系人列表。
一次性邀请码
邀请码有三种使用方式:
- Via text:复制文字邀请码,发给对方
- On a Call:适合通话中朗读数字码
- In person:生成二维码,适合面对面扫码
邀请码会自动刷新,并且只能用于一次握手。对方完成添加后,双方会进入联系人命名页面。
文字消息
添加联系人后,可以进入聊天窗口发送文字消息。
消息会保存在本地浏览器数据中。联系人在线时,消息会通过 Backchannel 的连接同步给对方。
文件发送
聊天窗口支持发送文件。
你可以点击回形针按钮选择文件,也可以把文件直接拖到聊天窗口中发送。收到文件后,对方可以在消息气泡中下载附件。
联系人管理
每个联系人都有独立设置页,可以:
- 修改联系人昵称
- 用手绘方式设置联系人标识
- 导出该联系人的消息历史
- 删除联系人
导出的消息历史是 JSON 文件,适合做本地备份或研究分析。
多设备同步
Backchat 支持把同一个人的多个设备连接起来。
在设置中进入 Devices,可以生成设备连接二维码。另一台设备扫码后,可以同步联系人和消息历史。
多设备同步意味着被连接的设备可以看到全部联系人和消息记录,所以只应连接你自己信任的设备。
Relay URL 设置
Backchat 使用 relay 服务帮助双方发现和连接。
在 Settings -> Relay URL 中,可以查看当前 relay 地址,也可以改成自己的 relay 服务地址。
用户手册
1. 打开应用
访问:
https://backchat.doradreamland.com
建议使用 Chrome 或 Edge。移动端浏览器也可以访问,如果浏览器支持 PWA,可以把它安装到桌面或主屏幕。
首次打开时,本地还没有联系人,底部会看到两个主要操作:
Create inviteUse Invite
2. 添加联系人:由你创建邀请
如果你想邀请对方添加你:
- 点击
Create invite - 选择邀请码形式
- 把邀请码复制给对方,或让对方扫描二维码
- 等对方输入邀请码完成连接
- 连接成功后,为对方设置昵称
- 进入聊天窗口
如果选择文字邀请码,可以点击 Copy invitation 复制邀请内容。
如果选择二维码,需要让对方在自己的设备上打开 Use Invite 并扫码。
3. 添加联系人:使用对方的邀请
如果对方已经创建了邀请码:
- 点击
Use Invite - 在
Enter Invite中输入对方给你的邀请码 - 或切换到
Scan Invite扫描对方二维码 - 点击
Add Contact - 连接成功后,为对方设置昵称
- 进入聊天窗口
如果邀请码过期,需要让对方重新生成一个新的邀请码。
4. 设置联系人昵称
添加联系人后,Backchat 会要求设置联系人名称。
你可以选择:
Write:输入文字昵称Draw:手绘一个昵称或标识
确认后,联系人会出现在首页列表中。
5. 发送文字消息
在联系人列表中点击联系人,进入聊天窗口。
底部输入框可以输入消息。点击发送按钮后,消息会出现在当前会话中。
如果对方在线,消息会同步给对方。如果对方暂时不在线,实际表现取决于 relay 和本地同步状态。
6. 发送文件
在聊天窗口中,可以用两种方式发送文件:
- 点击回形针按钮选择文件
- 把文件直接拖入聊天窗口
文件发送时会显示进度。对方收到后,可以点击文件消息下载。
7. 导出消息历史
进入某个聊天窗口后,点击右上角菜单,进入联系人设置页。
点击 Export message history,Backchat 会导出该联系人对应的消息记录 JSON 文件。
建议在重要聊天后手动导出一次,避免浏览器数据被清理后丢失。
8. 修改或删除联系人
在联系人设置页中可以:
- 点击
Edit Nickname修改名称 - 点击
Delete Contact删除联系人和对应消息
删除联系人会永久移除本地记录,操作前请先确认是否需要导出消息历史。
9. 连接另一台设备
如果你想在另一台设备上使用同一套联系人和消息:
- 在原设备打开
Settings - 进入
Devices - 点击
Link a device - 用另一台设备扫描二维码
- 等待同步完成
连接后的设备可以看到全部联系人和消息历史。不要在公共电脑或不可信设备上执行这个操作。
10. 取消设备连接
进入 Settings -> Devices,点击 Unlink All Devices。
取消设备连接会让其他设备删除数据,包括联系人和消息。某些设备如果当时不在线,需要等它再次上线后才会完成解除。
11. 修改 Relay 地址
进入 Settings -> Relay URL。
如果你有自己的 Backchannel relay 服务,可以在这里填入新的 relay 地址并保存。
普通用户不需要修改这个设置。如果填错地址,联系人连接可能会失败。
12. 清空本地数据
进入 Settings -> Clear all Data。
这个操作会清空当前浏览器中的 Backchat 数据,包括联系人和消息,并会导致设备需要重新同步。
执行前请先导出需要保留的消息历史。
数据和安全说明
Backchat 的数据主要保存在浏览器本地,例如 IndexedDB。
这意味着:
- 清理浏览器站点数据可能删除联系人和消息
- 换浏览器或换设备不会自动带走旧数据
- 隐私模式不适合长期使用
- 卸载 PWA 或清理应用数据可能导致数据丢失
- 重要内容需要手动导出备份
Backchat 使用端到端加密和一次性代码建立联系人关系,但当前项目仍然是研究软件,没有经过完整安全或密码学审计。
所以它适合体验、研究和低风险沟通,不适合作为高敏感信息的唯一通信工具。
技术说明
Backchat 基于 Backchannel 思路实现,核心特征是:
- 无账号
- 无中心用户名
- 一次性 PAKE 邀请码
- 基于 relay 的连接发现
- 本地数据库保存联系人和消息
- 支持 PWA 安装
- 支持文字消息、文件消息和多设备同步
当前部署地址:
https://backchat.doradreamland.com
我把它作为一个项目发布,是因为它展示了一种值得继续探索的软件方向:通信不一定从账号体系开始,也可以从一次被双方确认的安全关系开始。