常见问题

常见问题解答

先是简短的回答,再是技术性的回答。如果没有找到你的问题,“工作原理”和“安全”页面讲得更深入,你也随时可以问我们。

需要注册账号吗?

不需要。无需注册,也无需安装任何东西。打开 shhnote,写下你的密信,分享链接。就这么简单。

如果链接被不该看的人看到了怎么办?

阅后即焚密信只能被第一个打开它的人读取——之后它就被销毁了。如果真正的收件人打开时什么也没有,你就知道已经有东西读过它了。为了更安全,你可以加一个访问密码并单独分享,这样光有链接是不够的。如果你改变主意,还可以用你的私密销毁链接亲手销毁密信。

shhnote 能读取我的密信吗?

不能。解锁它的密钥永远不会到达我们这里——它一直藏在你的链接里,留在你这一边。我们只保存一份打乱后的版本,根本无法打开。

如果没人打开会怎样?

你可以选择有效期——从 15 分钟到 14 天不等。时间一到,无论是否被打开过,密信都会被自动删除。

阅后即焚密信和定时密信有什么区别?

阅后即焚密信在被打开的那一刻就会被销毁。定时密信在过期前可以多次打开——但页面不会显示还剩多少时间,所以请把每条密信都当作需要在第一次查看时就保存好的内容。

销毁链接是什么?

创建密信时你会得到的第二个私密链接。打开它会显示一个确认页面;确认后,密信会被立即销毁,赶在任何人读取之前。请自己保管好它。

可以发送文件吗?

可以。文件和文字一样在你的浏览器中加密,并装在同一个封好的数据块里传输。所有内容都会被填充到标准大小,所以连我们也分不清一条短消息和一个小文件。

在 Tor Browser 中或关闭 JavaScript 时能用吗?

创建和查看密信需要 JavaScript,因为加密在你的浏览器中进行。它可以在 Tor Browser 的“更安全”级别下使用;在“最安全”级别下 WebAssembly 被关闭,因此设有访问密码的密信无法打开,页面也会提示这一点。其他所有页面不需要 JavaScript 也能使用。

如何在并发竞争下保证“只能查看一次”?

查看操作会执行一次条件更新,把记录从“有效”改为“已认领”。两个同时到达的请求不可能都成功;第二个请求会看到一条已被认领的记录,并得到和其他人一样的“未找到密信”响应。认领永远不会撤销:如果下载中断,持有认领令牌的一方可以在时间窗口内重新下载,否则密信会在未被读取的情况下销毁。

为什么用 URL 片段而不是查询参数?

查询参数会发送到服务器,并出现在访问日志、代理和统计分析中。而片段(# 之后的部分)按 URL 规范只保留在客户端——浏览器从不把它放进 HTTP 请求。这一特性正是零知识设计的全部基础。查看完成后,页面还会把片段从地址栏和历史记录中移除。

如何防止链接扫描程序提前“焚毁”阅后即焚密信?

查看页面对每条密信都是同一个静态文档,加载时不获取任何内容。只有在真实可信的点击或按键时才会发出请求——脚本触发的 click() 或表单提交都不算。自动扫描程序(邮件安全网关、聊天链接预览、杀毒软件)只会加载那个静态外壳。

我能验证或自托管吗?

可以。完整源码基于 AGPLv3 公开,协议写成了规范文档,并附有任何实现都能自行对照检查的一致性测试向量,另外还有自托管指南。你可以审计客户端的加密代码,并运行自己的实例,让信任边界完全由你掌控。

为防止滥用,会记录什么吗?

我们不保留任何针对单条密信的访问日志或 IP 历史。速率限制使用地址在一个盐值下的带密钥哈希,盐值会定期轮换,并随之清空所有计数器。滥用举报按天计数;不会记录被举报的是哪条密信。

有 API 吗?

有——就是本站自己用的那一套。文档对它做了说明,开源的客户端软件包也实现了该协议,可用于你自己的工具。

还有疑问?阅读工作原理、安全细节,或者问问我们。

试试看——只要十秒钟

写下一段秘密,拿到你的阅后即焚链接,看着它消失。

创建密信