搭建一次性私密信息分享平台
搭建属于你的一次性私密信息共享平台 (OTS) - 保姆级教程
在数字时代,如何安全地将密码、API 密钥或敏感配置发送给同事或朋友?直接通过微信、钉钉或邮件发送是非常不安全的,因为这些记录会永久保存在服务器和聊天记录中。
OTS (One-Time Secret) 系统就是为了解决这个问题而生的。它允许你创建一个“阅后即焚”的链接,一旦接收者查看了信息,该信息就会从服务器上永久删除。
本文将手把手教你如何搭建一个开源的 OTS 平台(以经典的 One-Time Secret 为例)。
🛠️ 什么是 OTS?有什么用?
核心功能:
- 生成私密链接:你输入敏感信息(如密码),系统生成一个唯一的 URL。
- 阅后即焚:对方打开链接查看后,数据立即从数据库物理删除。第二次访问该链接将显示“内容不存在”。
- 密码保护:可以额外设置访问密码,双重保险。
- 有效期控制:如果对方在指定时间内(如 2 天)没查看,信息也会自动过期销毁。
👥 适用人群
- 系统管理员/运维 (DevOps):发送服务器 root 密码、数据库凭证。
- 开发人员:共享 API Token、Secret Key。
- 企业团队:内部敏感信息流转。
- 注重隐私的个人:给朋友发送银行卡号、私钥等。
⚠️ 隐私与安全警示 (必读)
虽然 OTS 提供了阅后即焚机制,但在自建过程中必须注意:
- 必须配置 HTTPS:如果使用 HTTP,传输过程是明文的,阅后即焚也毫无意义。请务必使用 Nginx 反代并配置 SSL 证书。
- 服务器安全:确保你的服务器本身是安全的,定期更新系统补丁。
- 信任链:自建的优势在于数据掌握在自己手中,不需要信任第三方服务商。
🚀 部署教程
我们将介绍两种安装方式:Docker 容器化部署(强烈推荐,简单稳定) 和 源码编译部署(适合无 Docker 环境)。
方案一:Docker 部署 (推荐)
Docker 是最快、最干净的部署方式,不需要在系统里安装繁杂的 Ruby 环境。
1. 环境准备
确保服务器已安装 Docker 和 Docker Compose。
1 | # 检查 Docker 版本 |
2. 创建部署目录
1 | mkdir -p ~/ots-docker |
3. 编写 docker-compose.yml
创建并编辑文件:
1 | vim docker-compose.yml |
填入以下内容:
1 | version: '3' |
4. 启动服务
1 | docker-compose up -d |
5. 验证
访问 http://你的IP:7143。如果你看到了简洁的 One-Time Secret 界面,说明部署成功!
方案二:源码部署 (无 Docker 环境)
One-Time Secret 基于 Ruby 和 Redis。这种方式步骤较多,适合需要深度定制的用户。
1. 安装依赖 (以 Ubuntu/Debian 为例)
1 | sudo apt-get update |
2. 启动 Redis
确保 Redis 在后台运行:
1 | sudo systemctl enable redis-server |
3. 下载源码
1 | cd /var/www # 或者其他你喜欢的目录 |
4. 安装 Ruby Gems
这是最容易报错的一步,确保你的 Ruby 源网络通畅。
1 | gem install bundler |
5. 配置文件
复制默认配置文件并修改:
1 | cp etc/config.example etc/config |
重点修改 site 部分:
host: 你的域名或 IPsecret: 设置一个随机密钥
6. 运行服务
可以使用内置的 Web 服务器启动(生产环境建议配合 Nginx):
1 | bin/onetime-server start |
默认监听端口为 :7143。
🌐 域名访问与 HTTPS (Nginx 反向代理)
为了安全,不建议直接暴露 7143 端口,建议使用 Nginx 反代并配置 SSL。
Nginx 配置示例:
1 | server { |
📝 如何使用
- 输入信息:打开你的 OTS 网站,在文本框中粘贴密码或敏感文本。
- 设置选项(可选):
- 设置一个提取密码(Passphrase):对方不仅需要链接,还需要这个密码才能看。
- 设置有效期:例如 7 天(虽然看过一次就会销毁,但如果对方一直没看,7天后也会自动销毁)。
- 生成链接:点击 “Create a secret link”。
- 发送:复制生成的 URL,通过微信/邮件发给对方。
- 销毁:对方点击链接查看内容。此时你若尝试再次访问该链接,系统会提示“Unknown Secret”或内容已不存在。
🎯 总结
搭建一个私有的 OTS 平台是提升团队信息安全意识的低成本、高回报手段。它切断了敏感信息在聊天记录中的“永生”,让数据只在需要的时刻存在。
记住:最好的秘密,是阅后即焚的秘密。
