会话流程

从邀请到加密会话

会话从邀请秘密开始,在两端浏览器中建立加密,然后先尝试直连 WebRTC,再使用有限的回退路径。

01邀请短时会话入口
02首选路径直连 WebRTC
03回退有限且按路径变化

1. 创建并分享邀请

发起方浏览器创建会话邀请。邀请用于尽快使用,当前界面说明其有效时间约为十分钟。

若邀请通过 URL 片段分享,浏览器不会把该片段包含在普通 HTTP 请求中。但仍需保护链接:在有效窗口内取得它的人可能尝试加入。

2. 让密钥留在浏览器

两端浏览器根据邀请中的秘密和每次连接的随机值生成会话密钥,再用 AES-256-GCM 加密传输内容。

密钥与活动会话状态保留在易失的浏览器内存中;当前只有语言和主题偏好会有意写入 localStorage。

3. 选择可用路径

Orylin 先尝试通过 WebRTC 让两个浏览器直接连接。直连失败时,可使用用户启用的志愿中继。中继只转发加密数据,不会获得会话密钥,其流量和文件大小有限制。

公共 Nostr 救援路径只承载消息和控制事件,不传文件或语音。语音仅在直连时可用,离开直连路径后会暂停。