设备与配对
配对是 Synra 唯一要你做的决定。两台设备一旦配上对,就能互相发送而不再询问;没有配对的东西,什么也发不 到你这里。
看见与被看见
设备会在本地网络上宣告自己,并且在配对之前就能被看见。能被看见不等于被信任 —— 这是两件事,而设备列表 把它们区分开。
| 状态 | 含义 |
|---|---|
| 已看到 | 设备宣告了自己;你能看到它,但不能发给它 |
| 已配对 | 它能发给你,你也能发给它 |
| 在线 | 它最近应答过 |
| 已拉黑 | 无论其余状态如何,它都触达不到你 |
为什么"已看到"与"已配对"是两回事
把两者混在一起的列表,会把你厨房里那台设备显示成"可用"。它们回答的是不同的问题:已配对但离线,是你稍后还 能发的;在线但未配对,是你得先配对的。
配对的过程
- 一台设备请求配对。请求带着发起方的名字,所以另一端看到的是名字,而不是一个标识符。
- 另一端弹出提示,需要有个人接受它。没人接受就不会配上。
- 之后两端各持一份秘密。它不会再被发送,也无法从任何在网络上传输过的东西推导出来。
提示里显示的是名字,不是地址
Lena 的笔记本 是一个你能做出的决定。一个地址不是 —— 这就是为什么请求携带的是profile,而不是一个 socket。
请求为什么会被拒绝
| 拒绝 | 含义 | 怎么办 |
|---|---|---|
busy | 对方正在忙别的事 | 过一会儿再试 |
expired | 没人在时限内应答 | 再发一次 |
blocked | 那台设备在本机被拉黑了 | 先解除拉黑 |
一次拒绝是决定,不是失败:请求到达了对方,并得到了回答。
拉黑
拉黑一台设备会阻断它触达你,无论其余条件如何 —— 已配对、在线、甚至传输进行到一半。它是唯一能覆盖其他状态的 状态,所以它与解除配对是分开的。
解除配对与拉黑不是一回事
解除配对会移除共享秘密,于是两边都发不了。拉黑保留秘密、阻断流量。如果你可能还想要这台设备回来,拉黑是那 个容易撤销的。
已配对设备会知道什么
已配对的设备知道你的设备标识符,以及你给它起的名字。它不知道你的文件、你的插件、你的网络 —— 而一个查看设备 列表的插件,拿到的是标识符而不是地址。
设备安静下来时
停止应答的已配对设备会显示为离线,而不是被移除。它的会话在心跳超时后自行结束,而当它回来时,不需要重新配对。
离线不是解除配对
合上一台笔记本不会让你重新配它。只有那两个刻意为之的动作 —— 解除配对与拉黑 —— 会改变一台设备被允许做的事。