Skip to content
brill594Public

About

A Private and Secure tool to share messages and files

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

privmsg

中文 | English

privmsg 是一个面向敏感信息分享的一次性消息服务。消息在浏览器内完成加密,服务端只保存密文与必要元数据,适合发送短文本、图片、文档和少量附件,并支持访问次数限制与可选密码保护。

部署效果: demo

相关文档:

产品特性

  • 浏览器端完成加密与解密,服务端不接触明文
  • 链接 fragment 仅包含本地密钥 share,便于直接分享
  • 支持文本与多附件发送,附件总大小限制为 50MB
  • 支持最大访问次数限制,当前可配置范围为 1 - 20
  • 支持访问密码保护,服务端在返回解密授权前先校验密码证明
  • 所有接口响应均带 Cache-Control: no-store
  • 不限制具体文件格式,附件总大小限制仍为 50MB

使用方式

  1. 发送者填写消息内容,并可附加文件。
  2. 按需设置访问次数上限与访问密码。
  3. 生成链接后将其发送给接收者。
  4. 接收者打开链接,在浏览器内完成解密与查看。

CLI

CLI 在本地加密文本,再把密文上传到 privmsg:

npx privmsg-cli create "需要分享的内容"
printf '%s' '需要分享的内容' | npx privmsg-cli create

默认只输出分享链接,便于 agent 调用。使用 --json 获取结构化结果,使用 --base-url 指向自建实例:

privmsg create --expires-in 86400 --max-reads 1 --json "需要分享的内容"
privmsg create --base-url https://privmsg.example.com "需要分享的内容"

原有的 --server 参数继续作为 --base-url 的兼容别名。

可以将自部署地址保存为当前用户的默认值,之后无需每次传入地址:

privmsg config set base-url https://privmsg.example.com
privmsg config get base-url
privmsg create "需要分享的内容"
privmsg config reset base-url

配置保存在 ~/.config/privmsg/config.json;设置了 XDG_CONFIG_HOME 时使用该目录下的 privmsg/config.json。命令行 --base-url / --server 优先于保存的默认值,重置后恢复为 https://privmsg.cc。

CLI 要求已修复安全漏洞的 Node.js:22.23.4+(22.x)、24.22.1+(24.x)或 26.12.1+(26.x),支持文本、纯附件及文本加附件分享。重复使用 --file 可发送多个文件,总大小上限与网页一致,为 50 MiB(52,428,800 字节)。文件内容和文件名在本地加密,接收方使用网页打开链接即可预览支持的格式或下载。访问密码和增强 X25519 加密仍通过网页创建。

privmsg create --file ./report.pdf
privmsg create "相关资料" --file ./report.pdf --file ./data.zip
printf '%s' '说明文字' | privmsg create - --file ./report.pdf

指定附件但未指定消息时,只发送附件,不等待标准输入;使用 - 显式读取标准输入作为消息。

消息创建接口按 Cloudflare 提供的来源 IP 限制为每分钟 10 次。超限时返回 HTTP 429 和 Retry-After: 60。该计数按 Cloudflare 数据中心执行,属于防滥用保护而非精确计费系统;共享同一出口 IP 的用户会共用额度。

隐私与安全边界

  • 平台无法读取消息正文或附件明文
  • 平台不提供匿名保护
  • 平台不做附件安全扫描
  • 接收者先获取密文,再请求一次性解密授权;服务端发放授权前会原子扣减剩余访问次数
  • 若多个接收者在焚毁前都已获取密文,他们仍可能在本地离线解密;这是当前访问模型的已知边界

自建部署

项目基于 Cloudflare Workers、D1 与 R2。若要自行部署,请直接参考部署文档:

About

A Private and Secure tool to share messages and files

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages