jhaals/yopass
GitHub: jhaals/yopass
Yopass 是一个端到端加密的机密信息安全分享平台,通过一次性过期链接解决密码和文件在即时通讯、邮件中明文传播的安全隐患。
Stars: 2985 | Forks: 431

# Yopass - 安全地分享 Secrets
[](https://goreportcard.com/report/github.com/jhaals/yopass)
[](https://codecov.io/gh/jhaals/yopass)


Yopass 让你可以通过端到端加密安全地分享 secrets、密码和文件。Secrets 在浏览器中使用 [OpenPGP](https://openpgpjs.org/) 进行加密,然后再发送到服务器——解密密钥永远不会离开你的设备。每个 secret 都会获得一个自动过期的一次性 URL。
没有账号,没有追踪,没有明文存储。停止在 Slack、邮件和工单系统中分享 secrets。
**[试用 Demo](https://yopass.se)** | 对于敏感用途,建议自行托管 Yopass。
### 功能
- 使用 OpenPGP 进行端到端加密
- 一次性查看 secret
- 无需账号或用户管理
- 可配置的过期时间(小时、天或周)
- 可选的自定义密码保护
- 通过流式加密上传文件
- 多语言支持
- OpenID Connect (OIDC) 身份验证及邮箱域名限制
- 主题和品牌定制(自定义主题、Logo、应用名称)
- 合规审计日志(SOC 2、ISO 27001、GDPR)
- 已读回执——了解 secret 何时被打开
- 用于 secret 生命周期事件(创建、查看、过期)的 Webhook
## 目录
- [快速入门](#getting-started)
- [Docker Compose](#docker-compose)
- [Docker](#docker)
- [Kubernetes](#kubernetes)
- [服务器配置](#server-configuration)
- [翻译](#translations)
- [历史](#history)
## 快速入门
请查阅 [文档](https://yopass.se/docs) 获取有关配置、主题定制、OIDC 身份验证、审计日志等的详细指南。
### Docker Compose
通过 [Let's Encrypt](https://letsencrypt.org/) 实现 TLS 加密和证书自动续期的最快运行 Yopass 的方式。
1. 将你的域名指向你想要运行 Yopass 的主机
2. 编辑 `deploy/with-nginx-proxy-and-letsencrypt/docker-compose.yml` 并替换 `VIRTUAL_HOST`、`LETSENCRYPT_HOST` 和 `LETSENCRYPT_EMAIL` 的占位符
3. 启动容器:
```
docker-compose up -d
```
Yopass 将在你配置的域名上可用。
**已经有处理 TLS 的反向代理了?** 使用更简单的设置:
```
cd deploy/docker-compose/insecure
docker-compose up -d
```
然后将你的反向代理指向 `127.0.0.1:80`。
### Docker
开启 TLS 加密:
```
docker run --name memcached_yopass -d memcached
docker run -p 443:1337 -v /local/certs/:/certs \
--link memcached_yopass:memcached -d jhaals/yopass --memcached=memcached:11211 --tls-key=/certs/tls.key --tls-cert=/certs/tls.crt
```
Yopass 将在所有主机网络接口的 443 端口上可用。要限制为仅 localhost 访问,请使用 `-p 127.0.0.1:443:1337`。
不开启 TLS(需要反向代理进行传输层加密):
```
docker run --name memcached_yopass -d memcached
docker run -p 127.0.0.1:80:1337 --link memcached_yopass:memcached -d jhaals/yopass --memcached=memcached:11211
```
然后将终止 TLS 的反向代理指向 `127.0.0.1:80`。
### Kubernetes
```
kubectl apply -f deploy/yopass-k8.yaml
kubectl port-forward service/yopass 1337:1337
```
_这是一个入门的最小化设置。在生产环境中使用前请配置 TLS。_
## 服务器配置
Yopass 使用 Memcached(默认)或 Redis 作为其存储后端。所有标志也可以通过环境变量设置(大写,破折号 → 下划线)。
```
# Memcached(默认)
yopass-server --memcached localhost:11211
# Redis
yopass-server --database redis --redis redis://localhost:6379/0
```
通过 `--argon2` 标志,可以选择使用对内存要求极高的 [Argon2id](https://datatracker.ietf.org/doc/rfc9106/) 来加强密码密钥派生。这是一个可选功能,因为它要求 `'wasm-unsafe-eval'` CSP 指令,覆盖 `Content-Security-Policy` header 的反向代理必须手动添加该指令——请参阅 [Argon2 密钥派生](https://yopass.se/docs/server-options#argon2-key-derivation)。
完整的标志参考请参见 [yopass.se/docs/server-options](https://yopass.se/docs/server-options)。特定主题的指南:
| 指南 | 描述 |
|-------|-------------|
| [TLS / HTTPS](https://yopass.se/docs/tls) | 内置 TLS、Nginx、Caddy、Traefik、Let's Encrypt |
| [文件存储](https://yopass.se/docs/file-storage) | 磁盘和 S3/MinIO 后端,大小限制 |
| [只读模式](https://yopass.se/docs/read-only-mode) | 分离式实例部署 |
| [OpenID Connect](https://yopass.se/docs/openid-connect) | OIDC 身份验证 *(需要许可证)* |
| [主题与品牌定制](https://yopass.se/docs/theming) | 自定义主题、Logo、应用名称 *(需要许可证)* |
| [指标](https://yopass.se/docs/metrics) | Prometheus、告警规则、Grafana |
| [审计日志](https://yopass.se/docs/audit-logging) | NDJSON 合规日志 *(需要许可证)* |
| [已读回执](https://yopass.se/docs/read-receipts) | 了解 secret 何时被打开 *(需要许可证)* |
| [Webhooks](https://yopass.se/docs/webhooks) | 签名的生命周期事件通知 *(需要许可证)* |
## 翻译
Yopass 通过 react-i18next 支持多种语言。请参阅 [当前翻译](https://github.com/jhaals/yopass/blob/master/website/src/shared/lib/i18n.ts)。欢迎贡献新的语言——请参阅此 [示例 PR](https://github.com/jhaals/yopass/pull/3024)。
## 历史
Yopass 于 2014 年首次发布,并在许多[贡献者](https://github.com/jhaals/yopass/graphs/contributors)的帮助下得到维护。它被包括 [Spotify](https://spotify.com)、[Doddle](https://doddle.com) 和 [Gumtree Australia](https://www.gumtreeforbusiness.com.au/) 在内的组织所使用。
如果你使用了 Yopass 并希望支持该项目,你可以通过电子邮件表示感谢,考虑捐赠,或者同意在此列出你的公司。
标签:EVTX分析, Go, IPv6支持, OpenPGP, Ruby工具, 子域名突变, 搜索引擎查询, 日志审计, 机密分享, 端到端加密, 请求拦截