临时要给别人发一段日志、一段配置、一个报错堆栈,用微信会被刷屏、用网盘又要注册、用公开 paste 网站又担心明文留痕。PrivateBin 是一个开源的「零知识」粘贴板:你贴的内容在浏览器里就先用 AES 加密,服务器只存密文,连运维人员都看不到原文,还支持阅后即焚和过期自动删除。本文记录在雨云 VPS 上用 Docker 部署 PrivateBin 的过程。
一、PrivateBin 解决什么痛点
普通 paste 工具(如 Pastebin)是服务器存明文,管理员和数据库泄露都能看到内容。PrivateBin 的核心设计是零知识:
- 内容在浏览器端用 AES-256-GCM 加密,服务器只收到密文和一段短链接;
- 服务器没有密钥,解密全在访客的浏览器里完成,服务端看不到原文;
- 支持设置过期时间(5 分钟到长期)和阅后即焚(被读一次就删除);
- 整个程序很轻,PHP 单页应用,几百 MB 内存就能跑。
和前面写过的 Cloudreve(见 12334)不同,Cloudreve 是「长期文件网盘」,PrivateBin 是「一次性、阅完即焚的短消息」,场景完全不一样。
二、环境准备
雨云买一台 1 核 1G 的轻量 VPS 即可,系统 Ubuntu 22.04,装好 Docker(入门见 12235)。国内节点延迟低,自己和小团队内部传日志很顺手。
新用户用优惠码 admin01 可享 五折优惠,雨云支持 7 天无理由退款。入口:雨云官网。
三、用 Docker 部署
官方镜像 privatebin/nginx-fpm-alpine 已经打包好 Nginx + PHP,配置极简:
services:
privatebin:
image: privatebin/nginx-fpm-alpine:latest
container_name: privatebin
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/srv/data
启动后访问 http://服务器IP:8080 就能用。./data 是粘贴数据目录,建议挂卷;由于内容本身是加密的,这个目录即使被拿到也是密文。
四、关键配置与踩坑
配置文件在容器内的 /srv/cfg/conf.php,想改默认值(如默认过期时间、是否允许阅后即焚)可以挂载自定义配置。几个注意点:
- 磁盘会慢慢涨:即使设置了过期,删除依赖定时任务触发。挂卷后定期清理
./data即可,或用 BorgBackup(见 12306)只备份配置不备份粘贴; - 别用它当长期存储:它就是为「临时」设计的,重要东西请放 Cloudreve(见 12334)或 Vaultwarden(见 12245);
- 反代建议加访问控制:如果只给自己用,用 Authelia(见 12340)或 Nginx 基础认证挡一下,避免被公网扫到当免费服务。
五、典型用法
- 开发排障:把本地报错堆栈贴上去,发链接给同事,设 1 小时过期;
- 敏感配置交接:数据库密码、临时 token 这类,用阅后即焚,对方读完自动消失;
- 日志片段分享:大段日志不用截图,贴链接更清爽。
合规提醒
PrivateBin 的零知识设计本身降低了内容泄露风险,但你仍需对粘贴的内容负责:不得利用本服务存储或传播违法不良信息、淫秽色情、侵犯他人权益的内容。阅后即焚不等于「可以发违规内容」,平台运营者仍有配合监管的义务。






