发送敏感密码最安全的方式是什么?不是加密压缩包,而是让信息在对方看完的那一刻彻底消失。
OTS 是由 Luzifer 开发的开源项目,采用 Go 语言编写。它的逻辑非常纯粹:生成一个加密链接,对方点击查看后,该条记录立即从服务器上抹除。
🌟 OTS 核心功能亮点
OTS 的设计哲学是“极简”与“安全”:
- 🔥 阅后即焚 (Burn after reading):默认设置下,秘密被读取一次后即刻销毁。
- ⏳ 灵活过期机制:支持设置有效时长(如 1 小时、1 天后自动过期),即使没人看也会自动清理。
- 💾 零数据库依赖 (可选):支持内存存储(适合轻量使用)或 Redis 存储(适合高可用场景)。
- ⚡ 极简 UI:没有繁琐的注册登录,开箱即用,响应极快。
- 🛡️ 隐私保护:所有秘密在存储时均经过加密,即便服务器被黑,攻击者也难以直接读取内容。
🏗️ OTS 运行架构浅析
| 存储方式 | 优点 | 缺点 | 适用场景 |
| In-Memory | 速度最快,无需额外组件 | 重启服务后秘密会丢失 | 个人临时分享密码 |
| Redis | 支持持久化,适合集群部署 | 需要额外部署 Redis | 团队协作 / 生产环境 |
🛠️ 准备工作:前置环境需求
- 硬件:极低需求。即便是在 512MB 内存的“小水管”服务器上也能飞速运行。
- 网络:建议配置 HTTPS(对于处理敏感信息,SSL 是必须的)。
- 环境:推荐使用 Docker,或下载预编译好的二进制文件。
🚀 全方案部署指南
1️⃣ 方案一:Docker Compose 部署(推荐 🐳)
这是部署 OTS 最优雅的方式,尤其是当你希望配合 Redis 使用时。
# docker-compose.yml
services:
ots:
image: luzifer/ots
container_name: my_ots
ports:
- "8080:8080"
environment:
- SECRET_EXPIRY=24h # 默认最大有效期
- REDIS_URL=redis://redis:6379/0 # 连接 Redis
depends_on:
- redis
redis:
image: redis:alpine
container_name: ots_redis
执行启动命令:
docker-compose up -d
访问 http://服务器IP:8080 即可看到简洁的分享界面。
2️⃣ 方案二:二进制文件部署(极客首选 🐍)
如果你不想使用容器,直接运行 Go 编写的二进制文件非常快:
# 下载对应系统的版本 (以 Linux 64bit 为例)
wget https://github.com/Luzifer/ots/releases/download/v0.18.0/ots_linux_amd64.tar.gz
tar -zxvf ots_linux_amd64.tar.gz
# 启动服务
./ots --redis-url redis://localhost:6379
⚙️ 核心环境变量说明
为了让 OTS 更好用,你可以通过以下变量进行深度定制:
BASE_URL: 设置你的外网访问域名(如https://secret.yourdomain.com),确保生成的链接地址正确。SECRET_EXPIRY: 设置秘密的最长生存周期(默认 24h)。LOGGER_LEVEL: 设置日志等级(默认为 info)。
📝 总结与建议
✅ 优点:
- 极致轻量:安装包仅几 MB,运行占用几乎可以忽略。
- 逻辑闭环:不仅阅后即焚,还能通过时间控制双重锁定。
- 完全私有:不依赖任何第三方平台,数据完全在自己的服务器内流转。
❌ 缺点:
- UI 相对传统:界面非常复古,追求颜值的小伙伴可能需要自己修改 CSS。
- 无附件支持:目前仅支持文本信息分享,不支持文件上传。
🔗 项目官方资源
| 资源类别 | 链接地址 |
| GitHub 仓库 | Luzifer/ots |
| Docker Hub | luzifer/ots |
| Demo | https://ots.fyi/ |
| 开源协议 | Apache-2.0 |
| 技术栈 | Go (Golang) |
© 版权声明
THE END







暂无评论内容